这个确实很困难。如果是DOS程序还好办,如果是Windows程序,其反汇编的工作量相当巨大。而且这仅是反汇编,得到的只是勉强能用的汇编代码,而从汇编代码再反工程到C,真的是件很困难的事。程序简单还好办,复杂的就真是件费力的事了。放弃吧。
如果是自己写的程序,只要整个设计还记得,那就重新写一遍吧。
只能找静态反编译软件,反编译成为汇编代码,想反成C代码基本不可能的了。
个别有能反成C代码的可读性也差的太离谱,基本等于翻译汇编,还不如看汇编呢。
W32Dasm是一个静态反汇编工具,也是破解人常用的工具之一,它也被比作破解人的屠龙刀。
反编译exe文件基本上是不可能的,因为反编译过程由很多因素会干扰,反编译过程:
1、检测程序时候加壳了,如果加壳就必须先去壳。
2、去壳后需要猜测程序员采用的是什么编程语言,编程语言有:java/c/c++/c#/vb/VC++等等。
3、猜测到程序员使用的语言后根据编程语言进行汇编,汇编需要考虑到语言中的语法问题,即使是同种语言,一种命令有多种说法,汇编成功率在20%左右。
4、汇编成功后基本就已经到反编译的顶端了,要从汇编程序翻译成源码可能性为1%。
因为C#开发的程序被编译后并没有成为可运行的二进制文件,而是一种中间状态,是由MSIL语言写成的程序文件。从理论上说,各种NET语言只要完成的功能相似,编译后的MSIL语言文件都是相似的,可见MSIL的代码是对应着较为固定的高级语言结构的。所以,理论上,把MSIL语言进行返推,就可以将其反编译为NET中的任何一款高级语言。
以上就是关于用C语言编写了一个程序,源代码和工程文件都弄丢了,只剩下.exe的二进制程序文件。怎么反编译出.c全部的内容,包括:用C语言编写了一个程序,源代码和工程文件都弄丢了,只剩下.exe的二进制程序文件。怎么反编译出.c、求C语言反编译软件、如何反编译exe文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)