一、準備
需要的軟件:
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則更好一些,因爲日後一些複雜的軟件都有多個點,那時就必須重根抓起