我有文本格式的编译 C 代码。我需要通过反编译机器码来提取源代码。如何做到这一点?
最佳答案
“真正的”反编译基本上是不可能的。最重要的是,您不能“反编译”本地名称(在函数和源代码文件/模块中)。对于那些,你会得到类似的东西,对于 int
局部变量:i1
,i2
...当然,除非你也有调试信息,但情况并非如此。
反编译成“某种东西”(可能不太可读)是可能的,但它通常依赖于一些启发式方法,识别编译器生成的代码模式,可能被愚弄生成奇怪的(甚至可能是不正确)C 代码。在实践中,这意味着反编译器对于具有某些(默认)编译选项的特定编译器通常可以正常工作,但对于其他编译器则不太好。
话虽如此,反编译器确实存在,您可以试试运气,比如说 Snowman
关于c - 如何从编译后的代码中获取c源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54733440/