一、准备
需要的软件:
Ildasm.exe:用来将dll,exe编译为IL文件
ilasm.exe:用来将IL文件编译回来dll或exe
这2个工具装好VS就有了(VS2005的可以处理2003的,反过来不行)
文本处理工具:
UltraEdit :http://www.crsky.com/soft/1469.html
EmEditorPro:http://www.crsky.com/soft/4278.html
根据不同情况需要使用上面不同的工具
其他工具:
Reflector.exe :http://www.pediy.com/tools/dotnet.htm
xenocode FOX: http://www.pediy.com/tools/dotnet.htm
修改过的Ildasm:http://www.pediy.com/tools/dotnet.htm
平时可以使用Reflector,有些特别的使用Fox方便。当处理一些版权保护的或经过特殊混淆的.net1.X时需要使用修改过的Ildasm
上面这些东东在用到的时候再具体说
.net的通常破解流程大致就是:
1,使用ildasm编译目标文件(exe/dll)为IL
2,去掉强名,使用ilasm反编译回来看看是否可正确运行
如果可以运行,那么基本都可以搞定(步骤3);如果不可以(步骤4)
3,查找IL文件中的限制进行修改再次反编译直到破解完成
4,查看IL文件是否还有其他限制找到并剔除
如果还是不能运行可能该死的东东不能使用通常的方法破解,具体问题具体分析了
二、示例
打开Ildasm.exe编译为IL文件
(Ildasm.exe默认在C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin )
我们用EmEditor打开IL文件并删除强名
删除强名,是使用反编译方法破解的必须步骤,只要使用了Ildasm编译就必须删除强名
灰色部分就是强名,全部删除并保存
接下来将IL编译回DLL
进入VS2005命令行(如果直接用cmd进入DOS因为环境变量的问题可能需要输入全路径)
切换到IL目录执行
ilasm /dll /resource=Mediachase.Web.UI.WebControls.res Mediachase.Web.UI.WebControls.il
三 总结
总结:
- 破解前首先要弄清软件的限制
- 使用Ildasm破解时需要先删除IL中的强名
- 在做IL修改时,善于利用的EmEditor的插件查找功能,他可以列出所有目标
- 尽量在限制的根源突破,比如这次,可以直接删除字符串达到破解目的,可通过修改IsDemoVersion则更好一些,因为日后一些复杂的软件都有多个点,那时就必须重根抓起