我想将 32 位 Linux 可执行文件反编译为 C,修改其中的某些部分,然后再编译回来。我不在乎 C 代码是否漂亮且难以维护。我唯一关心的是能够将其编译回 32 位可执行文件。
该程序是在 2006 年左右用 C++ 编写的,但此后源代码丢失了。它不是一个小程序,它也使用了一些动态链接的库。
我尝试了Boomerang和Avast RetDec。它们都不能提供可编译的结果,但 RetDec 提供的结果有时令人惊讶地可读。不幸的是,我不能用这个输出来重写项目,因为代码真的很长。这就是为什么我首先要寻找一种生成可编译 C 代码的方法。