Logo

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

photo

2020年10月08日

欢迎加入BIM行业开发交流1群 群号:711844216

一、背景

作为开发人员,自己辛苦在.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反编译工具查看保护前,和保护后的情况。

保护前

在这里插入图片描述

保护后

在这里插入图片描述
通过对比我们可以看到

  1. 类名,方法名,属性名大部分都不能正常显示
  2. 代码已经不能再被查看

是不是很神奇,大家动手试试吧

四、注意事项

  • 在进行加密设置时,并不是勾选的越多越好,因为勾选多了容易造成dll\exe不能正常加载或运行
  • 如果在open文件后,出现Can’t load assembly这种情况
    在这里插入图片描述
    那么找到LibG.Interface.dll这个文件,然后添加到这里的Addtional Files,即可。
    在这里插入图片描述
  • 加密方式有很多,本文介绍这种方式,用以抛砖引玉,大家可以自己多多探索。

微信搜索“BIM视界” 获得行业资讯,以及更多编程干货

橙子主题打折出售

其实我不卖,主要是这里是放广告的,所以就放了一个
毕竟主题都没做完,卖了也是坑.

购买它
所有附件
该文章没有附件.
本文为原创文章,请注意保留出处!

热门文章

修复群晖Synology Drive client右键菜单缺失问题 本教程主要解决windows10右键菜单中没有SynologyDrive菜单的问题,整体思路是找到...修复群晖SynologyDriveclient右键菜单缺失问题 作者:Pastore Antonio
1973 浏览量
docker如何查看一个镜像内部的目录结构及其内部都有哪些文件 前言:有时候我们会在docker上下载一个镜像,或者是上传一个镜像到docker上,甚至有时候就是在...docker如何查看一个镜像内部的目录结构及其内部都有哪些文件 作者:Pastore Antonio
1918 浏览量
Adobe Acrobat Pro 激活 这里记录了一些AdobeAcrobat的激活教程和组件。浏览量:1,799 作者:Pastore Antonio
1642 浏览量
追寻日出,找回自己 为什么我要去追寻日出?其实我是一个很懒的人,每次都起不来,直到有一次我在租房中睡到了大天亮,阳光照...追寻日出,找回自己 作者:Pastore Antonio
1606 浏览量
Swagger2 接口多级分组方法 swagger无疑是Java开发的最佳伴侣,接口非常方便调试;当然也有用Postman,因人而异吧...Swagger2接口多级分组方法 作者:Pastore Antonio
1522 浏览量