2012-08-24 86 views
3

有沒有一種方法可以從LLVM模塊生成「純」機器代碼?我的意思是,我有一個模塊,只想得到沒有任何MachO或Darwin對象頭的x86操作碼,只是操作碼(如果可能的話,讓他們重新定位到某個基地址)。使用LLVM生成純機器代碼

回答

0

執行此類操作的「標準」方法是構建可執行文件,然後根據需要提取出原始位。類似於http://www.bravegnu.org/gnu-eprog/hello-arm.html

另一種方法是使用LLVM JIT API;儘管如此,我沒有任何好的文檔或示例代碼來說明如何使用LLVM。也許看看lldb中的ClangExpressionParser :: PrepareForExecution是如何工作的(http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Expression/ClangExpressionParser.cpp?revision=161559&view=markup)。

1

我認爲您正在尋找objdump。 使用objdump -d your_executable > dump_file