软件反编译的方法
的有关信息介绍如下:作为一名程序员,当遇到做的很好、有借鉴意义的软件时,总是忍不住要看看人家代码是怎么写的,是怎样做到这样强大的功能的,但往往我们并不知道软件是谁写的,也就没办法与软件作者进行沟通了,那是不是就没有办法达成我们学习进步的美好愿望呢?其实,办法是有的,软件反编译就是一个很好的办法,但这里笔者并不建议大家用这样的办法来盗版别人的软件,学习借鉴倒是可以的。
现在的编程语言越来越多,我们只有知道目标软件是哪种编程语言和平台开发出来的,才能有的放矢的选择相应的反编译软件。而PEiD是一款著名的查壳工具,其功能强大,现在有软件很多都加了壳,给破解汉化带来非常大的不便,PEiD几乎可以侦测出所有的壳,其数量已超过470 种PE文档 的加壳类型和签名,另外还可识别出EXE文件是用什么语言编写的,比如:VC++、Delphi、VB或Delphi等。例如下图,PEiD的截图,用红色圈包围起来的显示的是软件的开发语言。
上图显示的是用Microsoft Visual C++6.0开发的DLL
上图显示的是用Borland Delphi 6.0-7.0开发的exe
知道了是何种开发语言,我们就可以选择反编译软件了,对于微软开发平台开发出来的软件,我们通常使用.NET Reflector,在文件菜单中将需要反编译的DLL或EXE加载进来,.NET Reflector就会自动帮我们反编译,我们可以在.NET Reflector直接查看反编译后的源代码,也可以将源代码导出,具体操作步骤见下图
Borland Delphi笔者用过的反编译软件为DeDe,操作过程跟.NET Reflector类似,将软件加载进来,点击处理,会弹出提示“等加载完成后点击OK”,详细步骤可参见www.e-chuxing.com/blog。
JAVA开发出来的软件,笔者推荐Java Decompiler,十分好用。如下图所示,反编译后源码很清晰
本文提供的方法仅供学习软件开发之用,请勿用于软件盗版等其他用途。