.NET代码混淆——开源.net 混淆器ConfuserEx介绍

今天给大家介绍一个开源.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软件,打开后如下图所示: 
.NET代码混淆——开源.net 混淆器ConfuserEx介绍 
(一)混淆.dll文件 
比如混淆BLL.dll和DAL.dll文件(这是项目中经常编译出来的文件,它们其实是两个类库)

1.混淆.dll文件 
将待混淆的.dll文件(单个或多个)拖拽进中间方框区域,如下图所示: 
.NET代码混淆——开源.net 混淆器ConfuserEx介绍

2.选择Settings项,添加混淆规则,如下图: 
.NET代码混淆——开源.net 混淆器ConfuserEx介绍

3.设置混淆规则 
Protections选择anti ildasm,应该是防止IL反编译。因为Ildasm.exe是微软提供的.NET的IL反编译器。 
.NET代码混淆——开源.net 混淆器ConfuserEx介绍 
所有的.dll文件都设置好混淆规则后,就可以进行下一步了。

4.选择Proect!选项 
点击【Protect!】,就开始混淆了。Finished代表混淆完成并成功。 
.NET代码混淆——开源.net 混淆器ConfuserEx介绍

以上混淆.dll文件就完成了。 
用ILSpy看一下混淆结果(ILSpy是一个反编译工具) 
.NET代码混淆——开源.net 混淆器ConfuserEx介绍

用.NET Reflector反编译结果: 
.NET代码混淆——开源.net 混淆器ConfuserEx介绍

(二)混淆.exe文件 
用ConfuserEx工具混淆.exe与混淆.dll文件唯一的不同在设置项(Settings)那里。 
1.将待混淆的.exe文件拖拽进中间方框区域,然后选择Settings选项卡,添加混淆规则。 
这里与.dll文件设置混淆规则不同,要设置Packer项,压缩打包,且不需要编辑规则! 
.NET代码混淆——开源.net 混淆器ConfuserEx介绍

2.选择Protect!选项卡,点击【Protect!】

.NET代码混淆——开源.net 混淆器ConfuserEx介绍

以上混淆.exe文件就完成了。还是通过ILSpy看一下混淆结果

ILSpy反编译结果: 
.NET代码混淆——开源.net 混淆器ConfuserEx介绍

通过ConfuserEx代码工具,可以很好的混淆.dll文件和.exe文件,实现代码保护。

上一篇:【C++】调用DLL错误笔记


下一篇:编程语言简史(转)