0

目标代码可以反汇编成汇编语言。有没有办法将目标代码或可执行文件转换为 LLVM IR?

4

1 回答 1

2

我的意思是,是的,您可以将机器语言转换为 LLVM IR。IR 是图灵完备的,这意味着它可以计算其他图灵完备系统可以计算的任何东西。在最坏的情况下,您可能拥有 x86 仿真器的 LLVM IR 表示,并且只需执行作为字符串给出的机器代码。

但是您的问题专门询问了将“返回”转换为 IR,因为 IR 结果类似于原始 IR。答案是,不,不是。机器语言代码将是各种优化过程的结果,无法确定优化之前代码的样子。(箭头在评论中提到了 McSema,它尽了最大的努力,但总的来说结果会与原始代码有很大的不同。)

于 2019-04-09T15:23:45.393 回答