用C语言编写了一个程序,源代码和工程文件都弄丢了,只剩下.exe的二进制程序文件。怎么反编译出.c

Python017

用C语言编写了一个程序,源代码和工程文件都弄丢了,只剩下.exe的二进制程序文件。怎么反编译出.c,第1张

这个确实很困难。如果是DOS程序还好办,如果是Windows程序,其反汇编的工作量相当巨大。而且这仅是反汇编,得到的只是勉强能用的汇编代码,而从汇编代码再反工程到.C,真的是件很困难的事。程序简单还好办,复杂的就真是件费力的事了。放弃吧。

如果是自己写的程序,只要整个设计还记得,那就重新写一遍吧。

只能找静态反编译软件,反编译成为汇编代码,想反成C代码基本不可能的了。

个别有能反成C代码的可读性也差的太离谱,基本等于翻译汇编,还不如看汇编呢。

W32Dasm是一个静态反汇编工具,也是破解人常用的工具之一,它也被比作破解人的屠龙刀。

C++兼容C语言,但C语言不可能兼容C++

所以,C++代码直接转是转不了C的。

只能从逻辑上,对C++的许多语法进行代码上的重新实现。

比如将对象转换为结构体,将对象封装的函数修改为独立函数,增加对象参数。

将重载去掉,而是根据需要调用非重载的不同名的函数。

总之来说,硬要将C++转为C实现的话,那代码重写的工作是避免不了的。