3

LLVM を使用してモジュールから「純粋な」マシン コードを生成する方法はありますか?

つまり、モジュールがあり、MachO または Darwin オブジェクト ヘッダーを使用せずに x86 オペコードのみを取得したい (可能であれば、それらを特定のベース アドレスに再配置する)。

4

2 に答える 2

1

objdump を探していると思います。使用するobjdump -d your_executable > dump_file

于 2013-03-07T08:51:36.927 に答える
0

そのようなことを行う「標準的な」方法は、実行可能ファイルをビルドしてから、必要に応じて生のビットを抽出することです。http://www.bravegnu.org/gnu-eprog/hello-arm.htmlのようなもの。

別の方法は、LLVM JIT API を使用することです。ただし、この方法で LLVM を使用する方法を示す適切なドキュメントやサンプル コードはありません。おそらく、ClangExpressionParser::PrepareForExecution が lldb でどのように機能するかを見てみましょう ( http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Expression/ClangExpressionParser.cpp?revision=161559&view=markup )。

于 2012-08-25T07:40:10.093 に答える