6

バイナリコードの逆アセンブルを行うライブラリを探しています。

そのlibdisasmが私が望むのとまったく同じタスクを実行することがわかりました。ただし、libdisasmが64ビットの実行可能ファイルでは機能しないことを示すリンクがいくつか見つかりました。それが正しいか ?

しかし、64ビット実行可能ファイルに対するobjdumpの出力は信頼できます(私の知る限り)。それで、objdumpも逆アセンブルに同様のライブラリを使用しますか?当初、objdumpはlibdisasmを使用すると思いました。

4

2 に答える 2

10

objdumpから使用libopcodesbinutilsます。ただし、これはテキスト表現のみを提供し、命令に関する構造化された情報を提供しないため、かなり基本的です。別のオプション:

于 2012-07-16T12:20:53.843 に答える
1

これは、コメントの元の投稿者からの質問を明確にするためだけのものです(コメントするポイントが不十分です)。

libdisasmプロジェクトは、長年にわたって積極的に維持されていません。x86-64(64ビット)命令セット、またはSSE3以降のx86(32ビット)拡張機能はサポートしていません。

opdisプロジェクトは、libdisasmに代わるものです。libdisasmの作成者は、IntelおよびAMDの絶えず変化する命令セットをサポートするために必要な頻繁な更新を回避するためにopdisを作成しました。opdisでの実際のopcode逆アセンブリは、GNU binutils(objdumpで使用される逆アセンブラ)のlibopcodeによって処理され、opdisは命令メタデータと高レベルの逆アセンブリ関数を提供します。

于 2012-12-12T03:37:26.553 に答える