有没有办法用LLVM从一个模块生成“纯”机器码?
我的意思是,我有一个模块,我只想得到没有任何MachO或Darwin对象头的x86操作码,只有操作码(如果可能的话,把它们重新定位到某个基地址)。
发布于 2013-03-07 16:51:37
我想你在找的是objdump。使用objdump -d your_executable > dump_file
发布于 2012-08-25 15:40:10
这样做的“标准”方法是构建一个可执行文件,然后根据需要提取出原始的部分。就像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 )。
https://stackoverflow.com/questions/12115758
复制相似问题