筆者主要給大家介紹8款.Net反編譯的利器:Reflector、ILspy、de4dot、JustDecompile、dnSpy、dotPeek、NETUnpack、DotNet Id、Simple Assembly Explorer
其中DotNet Id是查殼工具、NETUnpack是脫殼工具、Simple Assembly Explorer是反流程混淆利器(原是一款開源軟件,托管在google code上)。筆者比較喜歡用Reflector、ILspy、de4dot這3款,長短互補。
1、Reflector
Reflector是最為流行的.Net反編譯工具。Reflector是由微軟員工Lutz Roeder編寫的免費程序。Reflector的出現使·NET程序員眼前豁然開朗,因為這個免費工具可以將·NET程序集中的中間語言反編譯成C#或者Visual Basic代碼。除了能將IL轉換為C#或Visual Basic以外,Reflector還能夠提供程序集中類及其成員的概要信息、提供查看程序集中IL的能力以及提供對第三方插件的支持。
但遺憾的是後面的版本收費了。
2、ILSpy
ILspy是一款非常優秀的.net平台反編譯軟件,使用ILspy,可以輕松的反編譯C#及VB程序,軟件本身是C#程序,是一款開源軟件。
3、de4dot
de4dot是一款C#編寫的基於GPLv3協議的一個開源的.net反混淆脫殼工具,是目前.net下非常不錯的一款反編譯工具。支持Dotfuscator,.NET Reactor,MaxtoCode,SmartAssembly,Xenocode等10多個反混淆工具。
4、JustDecompile
JustDecompile是Telerik公司推出一個免費的.net反編譯工具,支持插件,與Visual Studio 集成,能夠創建Visual Studio project文件。JustDecompile與Reflector相比的話,個人更喜歡JustDecompile,因為他免費,而且對於一些C#動態類型的反編譯效果比較好,對於某個第三方程序集,如果它缺乏文檔,或者是一個bug 或性能問題的根源,反編譯往往是最快捷的解決方案。Telerik已經將 Reflexil、程序集編輯器(assembly editor)和 De4Dot 等插件集成到了JustDecompile中。
5、DnSpy
dnSpy是一款開源的基於ILSpy發展而來的.net程序集的編輯,反編譯,調試神器。
主要功能:1、程序集編輯;2、反編譯器;3、調試工具;4、Tabs及tabs分組;5、提供多主題。
6、dotPeek
JetBrains dotPeek 是JetBrains公司發布的一款免費的.NET反編譯器。反編譯來源生成項目之後,用戶不需要離開dotPeek就能夠浏覽項目文件。
7、.Net脫殼工具NETUnpack
脫殼工具NETUnpack,可以脫去DotNetReactor等加的殼,非常強悍。
8、.Net查殼工具DotNet Id
DotNet Id是一款net的查殼工具。DotNet Id官方最新版可以查是哪些軟件保護加密或混淆處理的:MaxToCode .Net Reactor Rustemsoft Skater Goliath Obfuscator PE Compact Spices Obfuscator Themida Dotfuscator Xenocode Smart Assembly CliSecure Phoenix Protector CodeVeil。
9、Simple Assembly Explorer
Simple Assembly Explorer(簡稱SAE)是一款專業的.Net程序解密分析必備工具,由於國內知道它的不多,所以只有英文版本,沒有進行漢化,Simple Assembly Explorer可以為您探索和分析.NET程序集,用來反編譯最好不過了。