一、反编译
计算机软件反向工程(Reverse engineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(比如可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。
二、C# 逆向反编译四大工具
- 1: Reflector 【收费】
官方网址:http://www.red-gate.com/products/dotnet-development/reflector/
- 2:ILSpy/dnSpy 【免费】
官方网址:http://ilspy.net/
Latest release: https://github.com/0xd4d/dnSpy/releases
- 3:JetBrains dotPeek【免费】
JetBrains是捷克的一家软件开发公司,出品了大量著名的开发工具
官方网址:http://www.jetbrains.com/decompiler/
- 4:Telerik JustDecompile
官方网址:http://www.telerik.com/products/decompiler.aspx
三、ILSPY
- 1、下载后的ILSPY 。
打开EXE - 2、打开
然后会在最下面出现打开的exe。
结构:类---方法。
点击方法后,会在右面出现,方法的具体代码。
ILspy很强大,甚至方法的参数都和源代码相同,只是方法里面的参数名字会自动生成。 - 3、保存源代码
整体保存源代码,可以点击你的反编译的程序。
选择程序集或是里面的类或是方法后。
点击File->savecode。
如果是导出exe全部,会生成一个类库。保存类库即可。 - 4、运行源码
那么如何运行编译反编译的源码?
重新建立一个对应的项目(反编译源码是winform就建立一个winform程序。)
在解决方案上 添加------->现有项。
然后删除新建立的空的winform代码。保留刚才添加进来的源码。 - 5、运行软件
然后直接点击运行...直接可以运行软件了。
反编译后的软件,直接生产了类,可以根据需要修改。
四、参考资料
lnc2003的博客:https://blog.csdn.net/lnc2003/article/details/117698730
蝶恋花雨的博客:https://blog.csdn.net/kongwei521/article/details/54927689