今天给大家介绍一个开源.net混淆器——ConfuserEx
http://yck1509.github.io/ConfuserEx/
由于项目中要用到.net 混淆器,网上搜寻了很多款,比如Dotfuscator、xeoncode、foxit等等。
但大部分收费,当然也有破解版的,公司要求不能用盗版软件。
找了半天终于找到了ConfuserEX,用起来还行,就赶紧拿出来给大家分享下。
下载地址:https://github.com/yck1509/ConfuserEx/releases
由于网上中文介绍的比较少,我这里做个测试,给大家演示一下:
本文不提代码开源,只谈代码混淆方法。
本文使用的代码混淆器是ConfuserEx,网上可以下载的到。参考博文:开源.net 混淆器ConfuserEx介绍
.Net平台开发的应用程序,大多编译之后,在bin/Debug目录下生成很多.dll文件和一个可执行文件.exe。本文就是对这些.dll文件和.exe文件进行混淆,防止反编译。
ConfuserEx混淆.dll文件和.exe文件方法不尽相同。方法如下:
首先,下载ConfuserEx软件,打开后如下图所示:
(一)混淆.dll文件
比如混淆BLL.dll和DAL.dll文件(这是项目中经常编译出来的文件,它们其实是两个类库)
1.混淆.dll文件
将待混淆的.dll文件(单个或多个)拖拽进中间方框区域,如下图所示:
2.选择Settings项,添加混淆规则,如下图:
3.设置混淆规则
Protections选择anti ildasm,应该是防止IL反编译。因为Ildasm.exe是微软提供的.NET的IL反编译器。
所有的.dll文件都设置好混淆规则后,就可以进行下一步了。
4.选择Proect!选项
点击【Protect!】,就开始混淆了。Finished代表混淆完成并成功。
以上混淆.dll文件就完成了。
用ILSpy看一下混淆结果(ILSpy是一个反编译工具)
用.NET Reflector反编译结果:
(二)混淆.exe文件
用ConfuserEx工具混淆.exe与混淆.dll文件唯一的不同在设置项(Settings)那里。
1.将待混淆的.exe文件拖拽进中间方框区域,然后选择Settings选项卡,添加混淆规则。
这里与.dll文件设置混淆规则不同,要设置Packer项,压缩打包,且不需要编辑规则!
2.选择Protect!选项卡,点击【Protect!】
以上混淆.exe文件就完成了。还是通过ILSpy看一下混淆结果
ILSpy反编译结果:
通过ConfuserEx代码工具,可以很好的混淆.dll文件和.exe文件,实现代码保护。