問題タブ [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.
windows - PE ディレクトリの名前
私は PE ディセクタに取り組んでいて、かなり変わったものに出会いました。PE 形式のディレクトリの名前と順序は、どこを見るかによって異なるようです。
PEInfo (0ベースに修正):
ここにそれらを表として示します:
これらの番号付けと順序は適切に一致していないようです。PEReader と winnt.h の両方で、エントリ 14 は COM Descriptor ですが、CFF Explorer では、これは .NET MetaData として表示されます。COM および Delay Import エントリも入れ替わるようです。
これらのツールのいくつかがこれを誤解するのは奇妙に思えます。どちらが正しいですか?新しい定義がありませんか?
c - オブジェクトファイルから単一のプロシージャを抽出しますか?
単一のプロシージャを抽出する必要がある64ビットのCOFFオブジェクトファイル(ソースコードやデバッグ情報はありません)があります。
手順は比較的短く、依存関係は次のとおりです。
- 1つのグローバル変数。
- インポートされたプロシージャのカップル。
私はすでにコードの逆アセンブルと再アセンブルを試みました。ただし、奇妙な理由で、デバッガーと逆アセンブラーでコードが同じように見えても、同じように動作しません。(実行可能セクションに正しいフラグなどがあることを確認しようとしましたが、私の知る限り、これらはすべて正しく、値は実行時に「あるべき」値とも一致します。)
では、プロセスでコードを逆アセンブルして再アセンブルすることなく、関数を新しいオブジェクトファイルに直接コピーする(またはその関数以外のすべてを削除する)方法はありますか?
assembly - NASM で近い相対的な呼び出しを行う
別のオブジェクト ファイルから関数を近い相対的な呼び出しを行いたい:
残念ながら、上記のコードは機能しません。_func
レジスタにロードする必要があります。
どちらのファイルも COFF オブジェクト ファイルにコンパイルされます。関数アドレスをレジスタにロードせずに、近い相対的な呼び出しを行う方法はありますか?
visual-c++ - COFFファイルを操作するためのライブラリはありますか?
COFFファイルの読み取り、変更、書き込みを可能にするライブラリはありますか?
c# - コンパイル時の「MicrosoftリソースファイルからCOFFオブジェクトへの変換ユーティリティが動作を停止しました」エラー
私にはわからない理由で、最近、C#アプリケーションをコンパイルするときにエラーが発生しました。
" Microsoft Resource File to COFF Object Conversion Utility has stopped working
"。
エラーリストには、常に次のようなエラーが表示されます。
" '[project folder]\obj\x86\Debug\CSC[random number].tmp' is not a valid Win32 resource file
"。
私はこの1時間この問題をグーグルで検索してきましたが、実際に誰もが思いついた解決策は、管理者特権のsfc /scannow
コマンドプロンプトで実行することだけです。まあ、それは私にとって何も壊れていないことを発見しました、そしてそれについてここで実際に質問はないようです。誰かが私にこの問題の解決策を教えてくれることを願っています。
coff - Microsoft Visual C 2010 Express:COFFへの変換中に失敗しました:ファイル
ビルドソリューションを作成したいときに、次のエラーが発生します。
リンク:致命的なエラーLNK1123:COFFへの変換中に失敗しました:ファイルが無効または破損しています
windows - PE ファイル形式 - セクション テーブルと最初のセクションの間は何ですか?
16 進エディタで PE ファイルを見ると、セクション テーブルと最初のセクションの間に何バイトかあることがよくありましたが、これはあまり意味がありません。私に関する限り、アラインメントに合わせるために 00 バイトのパディングが必要です。ただし、これは反対のことを示すスクリーンショットです。
強調表示されたブロックは、ほぼ Bound Import Table であることがわかりました。しかし、私はまだ混乱しています。このテーブルがセクションにないのはなぜですか? これは常に当てはまりますか、それとも特定のコンパイラ/リンカーの仕様ですか? この特定の問題に関するドキュメントは見つかりませんでした。このトピックで見つけることができるものはすべて、基本的に次のように述べています。
- DOS MZ ヘッダー
- DOS スタブ
- PE ヘッダー
- 断面表
- セクション 1
- 第2節
- セクション 3
... 等々
この問題に遭遇する前は、セクションの外にある可能性があるという事実にさえ気づいていませんでした(もちろん、上にリストしたもの以外に)。
[編集]
概念の証明 (Mox は私を信じていなかったので):
windows - 非常に単純なプログラムでのMASM32からの「致命的なエラーLNK1561:エントリポイントを定義する必要があります」エラー
修理済み; これが修正されたコードです(何もせずにクラッシュしますが、アセンブルされます。これがポイントです):
/c
また、mlでスイッチを使用してから、。で個別にリンクする必要があることもわかりました/SUBSYSTEM:CONSOLE
。
x86アセンブリとMASM32を再発見したばかりで、基本を再認識しています。このように、私は短くて無意味なプログラムを作成して、何かを組み立てることができるかどうかを確認しました。
私は走っml /coff test.asm
てこの出力を得ました:
STARTがエントリポイントの名前であることをオンラインで読みました。私はこれを間違ってしましたか、これは別の問題ですか?
前もって感謝します!
c - オブジェクトファイルがC内からCOFFまたはELF形式であるかどうかを確認するにはどうすればよいですか?
Cコード内からオブジェクトファイルの形式を確認できるようにしたいと思います。これにより、COFF形式かELF形式かに基づいて、さまざまな関数を使用してファイルを読み取ることができます。
これは可能ですか?もしそうなら、どうすればいいですか?
それが何か違いを生むのであれば、これはLinuxでもあります。
visual-c++ - /GL オプションでコンパイルされた obj ファイルから COFF を作成するには?
古いバージョンの MSVC で構築されたサード パーティの静的ライブラリがあり、MSVC10 (VisualStudio2010) のアプリケーションに正常にリンクしています。MSVC11 にアップグレードしましたが、リンクできません。
2>LINK : 致命的なエラー C1047: オブジェクトまたはライブラリ ファイル 'MyLib.lib' は、他のオブジェクトよりも古いコンパイラで作成されました。古いオブジェクトとライブラリを再構築する
これは、lib が /GL オプションを使用してコンパイルされたため、オブジェクト ファイルに実際には COFF が含まれておらず、いくつかの中間形式が含まれているために発生したと思います。再コンパイルするライブラリのソースコードがありません。動的にリンクするために dll を作成したくありません。
これらのobjをCOFFに「再コンパイル」し、最終的にMSVC11アプリケーションにリンクする方法はありますか?