簡體   English   中英

使用LLVM生成純機器代碼

[英]Generating pure machine code with LLVM

有沒有辦法從帶有LLVM的模塊生成“純”機器代碼?

我的意思是,我有一個模塊,並希望只獲得沒有任何MachO或Darwin對象頭的x86操作碼,只需要操作碼(如果可能的話,將它們重新定位到某個基址)。

我想你正在尋找objdump。 使用objdump -d your_executable > dump_file

執行此類操作的“標准”方法是構建可執行文件,然后根據需要提取原始位。 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 )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM