【发布时间】:2011-01-17 08:56:11
【问题描述】:
如果此二进制文件已分发,则每个 c 程序都将转换为机器代码。既然计算机的指令集是人尽皆知的,那有没有可能找回C原程序呢?
【问题讨论】:
-
能否找回C原程序?
-
@Roger Pate,在“原始程序”末尾放一个问号,你就有问题了:|哇....
-
我刚做了一个鱼汤。我能把原来的鱼拿回来吗?
-
两大障碍:优化和删除名称信息。在运行时代码中,编译器更喜欢删除函数和变量名称,因为它们不是必需的。编译器还可以优化代码,使其看起来与原始代码不同,但功能相同。
-
@stefano: if 问题是关于文本重构而不是逻辑,通常的说法是:“你可以用牛做汉堡包,但不能用汉堡包做牛” :)
标签: c assembly reverse-engineering disassembly