软件反编译杂谈

如上图:

作为一个软件开发人员,如果遇到做的很好、有借鉴意义的软件时,总是忍不住要看看人家代码是怎么写的,是怎样做到这样强大的功能的,但往往我们并不知道软件是谁写的,也就没办法与软件作者进行沟通了,那是不是就没有办法达成我们学习进步的美好愿望呢?其实,办法是有的,软件反编译就是一个很好的办法,但这里笔者并不建议大家用这样的办法来盗版别人的软件,学习借鉴倒是可以的。

如今,编程语言越来越多,我们只有知道目标软件是哪种编程语言和平台开发出来的,才能有的放矢的选择相应的反编译软件。而PEiD是一款著名的查壳工具,其功能强大,现在有软件很多都加了壳,给破解汉化带来非常大的不便,PEiD几乎可以侦测出所有的壳,其数量已超过470 种PE文档 的加壳类型和签名,另外还可识别出EXE文件是用什么语言编写的,比如:VC++、Delphi、VB或Delphi等。例如下图,PEiD的截图,用红色圈包围起来的显示的是软件的开发语言。

上图显示的是用Microsoft Visual C++6.0开发的DLL

上图显示的是用Borland Delphi 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,十分好用。如下图所示,反编译后源码很清晰

其实软件反编译还有很多方法。

end

时间: 2024-08-16 06:37:26

软件反编译杂谈的相关文章

[转] .net软件反编译笔记

原文地址:http://blog.csdn.net/three_bird/article/details/51433734 在软件的破解及源码获取及重新编译的道路上会遇到一些问题,书此备查. 大名鼎鼎的Reflector以及开源的ILSPY都是.NET程序集的反编译利器,但是它们不能为你做全部的工作. 0x01: 遇到反编译所得源码里面调用类的属性时多出set_Name或者get_Name之类的说明程序集引用没有加载完全, 因为反编译工具在没有元数据的情况下无法判断这丫的到底是个方法还是个属性.

.net软件反编译笔记

在软件的破解及源码获取及重新编译的道路上会遇到一些问题,书此备查. 大名鼎鼎的Reflector以及开源的ILSPY都是.NET程序集的反编译利器,但是它们不能为你做全部的工作. 0x01: 遇到反编译所得源码里面调用类的属性时多出set_Name或者get_Name之类的说明程序集引用没有加载完全, 因为反编译工具在没有元数据的情况下无法判断这丫的到底是个方法还是个属性. 有时候反编译得到的源码里的-1实际上可能是某个数的最大值,因为反编译时没有加载依赖的程序集,工具将类似int.MaxVal

反编译相关知识

1.EXE文件反编译(http://www.cnblogs.com/ejiyuan/archive/2009/09/08/1562624.html可下载) PE Explorer V1.99 R5 绿色汉化特别版_强大的可视化汉化集成工具 eXeScope V6.5 修改QQ版本号 绿色汉化版 Resource Hacker 3.4.0.79 官方简体 PASSOLO 7.0.01.1_绿色汉化修正版_功能强大的软件本地化工具 2.Android反编译工具apktool 这个工具是个开源项目,地

Android Apk反编译得到Java源代码(五)

APK软件反编译 去广告 具体步骤: 1.下载 apktool 下载地址:https://code.google.com/p/android-apktool/downloads/list 2.通过apktool 反编译apk.命令行中输入以下命令:apktool.bat  d  -f   aaa.apk(apk路径) 反编译APK文件 3.开始修改XML布局文件 首先,我们进入反编译后的文件夹,以我的为例 进入 C:\apk\com.youmi.android.sample\res\layout

反编译apk工具,apk反编译工具Jadx的使用

Android初学者会使用其他人的apk,这样能知道别人是如何编写的,在知道别人是如何编写的前提下需要一款能实现反编译软件,再把软件反编译出来查看其中的代码. 如何使用反编译apk工具? 步骤一.打开Androidfby中的Android反编译工具,然后进行反编译,几维安全提醒一定要选中你要反编译的apk,此时就会得到xml.dex文件等.还可以通过解压文件的形式,但有一处弊端就是不能保证xml文件正常显示,所以建议结合一起使用. 步骤二.打开被反编译过后的文件夹然后找到classes.dex,

.net 反编译笔记(2)

自上次分享net软件反编译相关已一年多,今天再次分享一点干货. 1.net反编译软件已经相当成熟,具有导出项目的能力.不过大型项目导出的错误修复仍然是最耗时的工作,并且初级开发人员容易将一些代码修复得不对逻辑但是这很难发现. 2.我手上用的dnspy和ilspy成为了我反编译工作的主力. 3.今年因一个项目需要完成了重新签名工具,dll拖进去,新的签名就完成了,可直接投入使用.几个项目测试下来,暂未发现任何问题. 4.ilmerge在解决多程序集合上起到很大作用,多个dll可以合并成为一个dll

linux下的APK反编译软件及过程介绍

需要工具: 1.apktool apk打包工具 下载地址:http://android-apktool.googlecode.com/files/apktool1.5.2.tar.bz2 安装:直接解压即可,是一个apktool.jar文件,通过 $java -jar apktool.jar 来运行,依赖于java运行环境 2.dex2jar dex转化jar工具 下载地址:http://dex2jar.googlecode.com/files/dex2jar-0.0.9.15.zip 安装:直

ILSpy反编译软件的使用

早期.Net平台下的反编译软件一般用reflector,但自从其商业化后就没有使用了,现在主要用ILSpy查看dll的源码,其开源.免费的特点很快就流行开来,功能和性能丝毫不逊于reflector 官方下载地址:http://ilspy.net/ 以下记录常用的几个功能技巧: 一.查看dll中的注释 在ilspy中导入一个dll时,一般是看不到注释的,如果需要看到源码的注释,编译dll时需同时生成dll,如图所示(ILSpy只用引入dll,不用引入生成的xml)

推荐一款不错的反编译软件:Reflector

只需要把要反编译的dll拖放到程序窗口就可以看到code了.是不是很简单,快来试试吧.不只是可以反编译个人写的code,.Net库一样可以查看代码.想学习.Net核心代码的可以试试看. 另附Reflector下载地址(百度网盘): http://pan.baidu.com/s/1jHnNptW