.NET代码混淆

本文不提代码开源,只谈代码混淆方法。
本文使用的代码混淆器是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文件,实现代码保护。

猜你喜欢

转载自blog.csdn.net/nancy50/article/details/78875088