ConfuserEx是.NET下的一款开源混淆工具,功能比较强大,应用也较广泛,本文就使用ConfuserEx工具演示如何混淆及如何对其混淆的程序进行脱壳。
所需工具:
请自行百度下载如下工具:
ConfuserEx、UnConfuserEx、Fixer、ConfuserExStringDecryptor、ConfuserExSwitchKiller、de4dot、ILSpy
准备演示项目:
先编写一个小程序(循环输出了一段GUID),并运行,如图:
使用ConfuseEx进行混淆:
1.设置目标目录、输出目录及添加要混淆的EXE或DLL,如图。
2.设置混淆参数,如图:
3.执行混淆,如图:
4.使用ILSpy查看混淆过后的程序,如图:
可以发现,这时是不能反编译的。
ConfuseEx脱壳演示:
1.使用unConfuserEx工具,如图:
2.使用Fixer工具,如图:
3.使用ConfuseExStringDecryptor工具,如图:
4.使用ConfuserEX Switch Killer工具,如图:
5.使用de4dot工具,如图:
6.使用ILSpy查看脱壳后的结果,如图:
最后结论
写到这,可以发现这篇文章是一个矛盾的话题。但是就没有好办法来保护源代码不被轻易破解了吗?
答案是有的,可参考文章
也可以从下载DEMO验证保护效果。