是否可以将目标代码转换回LLVM IR?

时间:2019-04-09 13:01:01

标签: c++ assembly llvm llvm-ir object-code

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

1 个答案:

答案 0 :(得分:2)

我的意思是,可以将机器语言转换为LLVM IR。 IR是图灵完备的,这意味着它可以计算任何其他图灵完备的系统可以计算的内容。最糟糕的是,您可能拥有x86仿真器的LLVM IR表示形式,并且只需执行以字符串形式给出的机器代码即可。

但是,从IR结果类似于原始IR的意义上来说,您的问题专门询问了有关将“返回”转换为IR的问题。答案是,不,不是真的。机器语言代码将是各种优化通过的结果,在优化之前无法确定代码的外观。 (箭头在注释中提到了McSema,它尽力而为,但总的来说,结果与原始代码有很大不同)。