反編譯工具:推薦.Net、C# 逆向反編譯四大工具利器(請勿用來非法行為)
在項目開發(fā)過程中,估計也有人和我遇到過同樣的經(jīng)歷:運行環(huán)境出現(xiàn)了重大Bug亟需解決、或者由于電腦掛了、舊代碼覆蓋新代碼,而在這種情況下,我們不能直接在當(dāng)前的代碼中修改這個Bug然后發(fā)布,這會導(dǎo)致更嚴重的問題,因為相當(dāng)于版本回退了。還有電腦掛了代碼整個都沒有,這種情況下 我們只能只能利用一些逆向的技巧和工具了 來解析在服務(wù)器發(fā)布好的dll。那么你只是單純的修改一個.Net程序集中的某個方法或功能,而且這個程序集還是出自于你自己或你所在團隊之手,這實在是一件非常容易的事情,這和破解別人的程序完全不同,你不會遇到無法破解的加密算法,也不會遇到讓人惡心的加殼混淆。所以我要把用過的工具一個個的列出來總結(jié)一下。
推薦四大發(fā)編譯工具
1:.Net Reflector? 【收費】
一提起.Net逆向,其實很多人第一反應(yīng)都是Reflector這款神器,這一方面是由于Reflector良好的用戶體驗和強大的插件功能,另一方面要歸功于Reflector堪稱完美的智能反編譯能力,使用它不僅能看到反編譯后的IL源碼甚至能直接反編譯出C#源碼,而且和編寫時的代碼幾無二致,如果需要還可以直接另存為工程文件用Visual Studio打開,不過現(xiàn)在已經(jīng)收費了,所以老司機都選擇破解版,有錢人選擇正版。 破解地址就不在這里放出,大家自行搜索.
使用方法:可以直接把dll、exe拖放到左側(cè),或者文件選擇選擇
官方網(wǎng)址:http://www.red-gate.com/products/dotnet-development/reflector/

2:ILSpy/dnSpy 【免費】
ILSpy是唯一免費且開源的.NET反編譯器,它基于MIT許可證發(fā)布。ILSpy的代碼生成和語法高亮功能做的非常好。對于反編譯的程序集,它既可以將其保存在一個文件中,也可以為所有文件創(chuàng)建一個項目。ILSpy是一個獨立的工具,沒有Visual Studio集成。,ILSpy 是為了完全替代收費的Reflector而生,它是由 iCSharpCode 團隊出品,這個團隊開發(fā)了著名的 SharpDevelop 。ILSpy 完全開源,ILSpy的使用和上面的Reflector完全類似,可以直接把dll、exe拖放到左側(cè),或者文件選擇選擇。
官方網(wǎng)址:http://ilspy.net/

ILSPY還有一款同門師弟,感覺比ILSPY還強大
dnSpy is a .NET assembly editor, decompiler, and debugger forked from ILSpy
* Assembly editor
* Decompiler
* Debugger
* Tabs and tab groups
* Themes (blue, dark, light and high contrast)
If you want to help, fork the project and send pull requests.
Latest release: https://github.com/0xd4d/dnSpy/releases
Latest build: https://ci.appveyor.com/project/0xd4d/dnspy/build/artifacts

3:JetBrains dotPeek【免費】
JetBrains是捷克的一家軟件開發(fā)公司,出品了大量著名的開發(fā)工具,包括:IntelliJ IDEA、PHPStorm、ReSharper、TeamCity、YouTrack等等,每一款產(chǎn)品都如雷貫耳。dotPeek 是 JetBrains 開發(fā)的一款.Net反編譯工具,是.Net工具套件中的一個相比于前面幾款工具來說,dotPeek算比較小眾的一款,它生成的代碼質(zhì)量很高,它還會嘗試到源代碼服務(wù)器上抓取代碼。DotPeek的導(dǎo)航功能和快捷鍵非常便捷。它還能精確查找符號的使用,同時支持插件。DotPeek不能與Visual Studio集成。個人感覺它最大的特色就是Visual Studio風(fēng)格,這對于那些長期在Visual Studio下進行開發(fā)的人來說應(yīng)該更親切一點。
官方網(wǎng)址:http://www.jetbrains.com/decompiler/

4:Telerik JustDecompile 【需要輸入信息安裝】不喜歡這個就卸載了
Telerik JustDecompile是一個免費的.NET反編譯器,但是有商業(yè)化支持。它生成的代碼質(zhì)量也很高。它可以為反編譯程序集得到的代碼創(chuàng)建一個項目。JustDecompile提供了健壯的查找功能,能夠支持全文查找和符號使用查找。它還有一個插件系統(tǒng),目前在Telerik的網(wǎng)站上有兩個可用的擴展。JustDecompile不能與Visual Studio集成。
官方網(wǎng)址:http://www.telerik.com/products/decompiler.aspx

總結(jié):
使用舒服些如下:
dnSPY>ILSPY>Net Reflector>doPeek
下面是一個dll里面的方法反編譯后的對比:




?