.Net之程序保护(.NET Reactor)

23 篇文章 1 订阅

一、背景
作为开发人员,自己辛苦在.net框架下写的dll或者exe文件,不想被别人通过反编译工具轻松查看。那么我们就需要对自己写的代码进行保护。在笔者经过大量的搜索与尝试后,发现一款不错的程序保护工具.NET Reactor。如其名字所示,这是一款针对.net程序进行保护的专门工具,因为专业,所以强大。
下载地址:https://www.jb51.net/softs/547521.html
接下来我们看下它的基本功能:

二、.NET Reactor功能介绍
主要功能如下:

源码混淆处理
字符串加密
NET Reactor强大的许可授权管理功能
NET Reactor可以为您的软件创建试用版
设置过期日期
为软件限制一个安装后的可用天数
使用次数限制(如将软件作为一种服务)
如果涉及到软件本身的保护,我们可以采用给软件设置使用次数或者期限,对于dll保护我们可以对其进行混淆和字符串加密处理。

三、使用方法
首先,我们需要对Quick Settings 里面的东西有个基本认识

NecroBit:把程序集转为非托管代码;
Native Exe File:生成本机 Exe 文件;
Anti ILDASM:反编译;
Obfuscation:混淆;
Create Mapping File:创建地图文件;
Anti Tampering:防篡改;
String Encryption:加密字符;
Compress & Encrypt Resources:压缩并加密资源;
Control FlowObfuscation:混淆控制流。
第一步:通过Open找到自己需要加密的dll/exe,然后打开

第二步:对加密进行设置
对于dll或者exe加密,笔者这里推荐勾选

Anti ILDASM
Obfuscation
String Encryption
这三个选项。因为这三个选项基本上能够较好地对代码进行较好的保护了,多选了可能会导致dll/exe不能正常加载或运行。

第三步:点击左下角的Protect就可以了。等待一会儿,DSOffice-Successfully Protected!

接下来我们对比一下结果。这里我们用ILSpy反编译工具查看保护前,和保护后的情况。

保护前

保护后

通过对比我们可以看到

类名,方法名,属性名大部分都不能正常显示
代码已经不能再被查看
是不是很神奇,大家动手试试吧

四、注意事项
在进行加密设置时,并不是勾选的越多越好,因为勾选多了容易造成dll\exe不能正常加载或运行;
如果在open文件后,出现Can’t load assembly这种情况

那么找到LibG.Interface.dll这个文件,然后添加到这里的Addtional Files,即可。

加密方式有很多,本文介绍这种方式,用以抛砖引玉,大家可以自己多多探索。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值