問題タブ [coff]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
coff - COFF ファイル形式のリロケーション情報セクションの意味は何ですか?
実行可能ファイル形式を作成するために一般的に使用されるCOFFファイル形式について読んでいます(いくつかのバリアントもあります)。
読んでいるうちに、フォーマットの再配置セクションに出くわしました。この再配置セクションを使用して実行可能ファイルを作成するにはどうすればよいですか。
私に役立ついくつかのリンクを教えていただければ、非常に役に立ちます。
java - Java の場合: COFF/ELF/DWARF 実行可能ファイルを指定して C/C++ 変数のアドレスをプログラムで決定する
これは私が時々遭遇する状況です:
仮想アドレッシングを使用しない組み込みシステムの場合、C または C++ コードからデバッグ情報を含めてコンパイルされた実行可能ファイルがあります。通常、COFF または ELF/DWARF (これら 2 つを混同しています) 形式です。
実行時に、PC で、名前が指定された変数のアドレスを特定したいと考えています。(例:「foo.bar [7] .baz」)これにより、組み込みシステムで変数の値を読み書きできます(この質問の範囲を超えるデバッグプロトコルが与えられます)。明らかに、スタックベースまたはヒープベースの変数は静的アドレスを持っていないため、アウトです。
TI の 2800 シリーズ DSP 用に TI のコンパイラから COFF ファイルを解析するために、C++ でこれを行う前に、これを行ったことがあります。1 つまたは 2 つの他のプロセッサの実行可能ファイルで同じ問題に直面しているため、このようなことを行う Java ライブラリが既に存在するかどうか疑問に思っていました。
更新: (2009 年 11 月 18 日) 有望な手がかりです!
Eclipse CDT ELF パーサーを使用した人はいますか?
( http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.cdt.doc.isv/reference/api/org/eclipse/cdt/core/model/IBinary.htmlを参照) javadoc pgs の
TI の Code Composer 4 (Eclipse ベース) はこれを使用しているようです。そのため、ドキュメントがどこにあるかがわかれば、それを使用して問題を解決できるようです。
.net - PE ヘッダーにアクセスする .NET ライブラリ
いくつかのタスクを自動化するために、.NET アプリケーションから PE ヘッダーを読み取って操作 (セクションの追加/名前変更/削除など) できるライブラリを探しています。
可能であれば、ソース コードなしで再配布できるものを使用したいと思います。使用料が無料で、licx の埋め込みを必要としない限り、商用ソリューションを受け入れます。
64bit は必須ではありませんが、よろしくお願いします。
100% マネージド ソリューションが推奨されます。
編集:ファイルの .NET メタデータを読み取り/編集する方法ではなく、PE ヘッダー自体には関心がないことを明確にしたいと思います。
visual-studio-2005 - VS 2005 でコンパイルするときに、dumpbin /symbols を使用してソース ファイル情報を取得するにはどうすればよいですか?
dumpbin /symbols の出力を使用して、C/C++ ライブラリとの依存関係の分析を行うツールがあります。VS 6.0 でライブラリをコンパイルしたとき、ダンプビン COFF SYMBOL TABLE には次のようなエントリが含まれていました。
ソースと定義済み/使用済みのシンボルとの関係を取得できます。これはツールにとって不可欠です。VS 2005 でコンパイルすると、これらのエントリが失われます。libs を 16 進エディタで見ると、バイナリ ファイルにファイル名情報がまったく含まれていないようです。そのため、VS 2005 でコンパイルするときに、Filename エントリをライブラリに戻す方法を探しています。
ありがとうスコット。
Debug Help API は面白そうに見えますが、COFF から抽出できたのと同じ情報を取得する方法をまだ理解できていませんでした。シンボルごとに
- それを定義するソースファイル
- およびシンボルを使用したソース ファイルのリスト
これに関する指針はありますか?
c++ - COMDAT セクションは何に使用されますか?
/Gy オプションが表示されますが、なぜそれを使用するのか疑問に思っています。http://msdn.microsoft.com/en-us/library/xsa71f43.aspx
windows - Linux では COFF、Windows では ELF
UNIX で COFF 実行可能ファイルを実行したり、Windows で ELF 実行可能ファイルを実行したりすることはできますか? また、Windows と UNIX でいずれかのファイル タイプを実行できるようにするための手順は何でしょうか。私はただ興味があります。
java - PE ヘッダーの要件
PE ファイル (PE/COFF) の要件は何ですか? Windows 上で「実行」できるようにするために最低限必要なフィールドと値を設定する必要があります (つまり、エラーなしで「ret」命令を実行してから閉じる)。
私が最初に構築しているライブラリはリンカです: 今、私が抱えている問題は PE ファイル (PE/COFF) です。自分のプラットフォームで実際に実行する前に、PE ファイルに何が「必要」なのかわかりません。私のテスト プラットフォームは Vista です。ダブルクリックして実行すると、「これは有効な Win32 実行可能ファイルではありません」というエラー メッセージが表示され、「アクセスが拒否されました」と表示されます。CLI cmdで実行する場合。.text と .data の 2 つのセクションがあります。
MSDN やその他のサードパーティのドキュメントなど、いくつかのオンライン ドキュメントで提供されている PE ヘッダーを実装しました。hex-editor を使用すると、通常の PE ファイルのように見えます。インポートも IAT も、PE ヘッダーのディレクトリも使用しません。
編集:インポート テーブルを追加しましたが、まだ有効な .exe ファイルではありません、と Windows は言います。最小の PE ファイル ガイドにも記載されている値を使用しようとしました。運がない。本当に私が理解できないように見える唯一のことは、何が必要で何が必要でないかです. 一部のガイドはすべてが必要であると言っていますが、他のガイドは減価償却について言っています:そしてそれはゼロになる可能性があります.
これで十分な情報だと思います。前もって感謝します。
現在の PE ヘッダーの生データ (要求に応じて):
linux - PE COFF と ELF のハイブリッドを作成できた人はいますか?
つまり、単一のバイナリ ファイルを Win32 と Linux i386 の両方で実行できますか?
windows - どのCOFF(windows .objオブジェクトファイル)ビューアを使用できますか?
私は2つしか認識していません:
- VisualStudioに含まれているdumpbin
- http://wjradburn.com/software/からのPEView