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


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

    欢迎加入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. 代码已经不能再被查看

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

    四、注意事项

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

     

     
  • 相关阅读:
    .NET 压缩解压库发布,支持进度查看
    WPF 蒙罩层 LoadingPage
    WPF如何用TreeView制作好友列表、播放列表
    WPF多线程UI更新——两种方法
    .NET责任链模式(混合单例模式,模板方法模式)-----制作与扩展能力验证
    .NET单例模式-------各种写法&&验证
    迭代器模式和组合模式混用
    正确理解DTO、值对象和POCO
    理解POCO
    VM
  • 原文地址:https://www.cnblogs.com/xiondun/p/13170178.html
Copyright © 2020-2023  润新知