zoukankan      html  css  js  c++  java
  • .net代码混淆 .NET Reactor 研究 脚本一键混淆一键发布

    .net代码混淆 .NET Reactor 研究

    为什么要混淆?

    .net比较适合快速开发桌面型应用,但缺点是发布出来的文件是可以反编译的,有时候为了客户的安全,我们的代码或者我们的逻辑不想让别人知道,不想让别人绕过我们的流程,破坏或者非法得到一些数据,所以必须进行代码混淆,或者是代码加密,让别人看不出来代码是怎么写的。

    .net源码查看工具.NET Reflector ,界面如下图,大家发现是可以看到源码的。

    clipboard

    怎么混淆?

    之前使用过Dotfuscator进行混淆,但是后来突然发现,并不能被混淆,还是可以通过.NET Reflector看到源码,真怀疑我之前是真的看错了,用了那么久,所以就再研究一种混淆方法。

    本文介绍使用 .NET Reactor进行.net代码混淆的方法。

    请在官网下载 .NET Reactor试用版本,具体安装过程不再说明。

    安装完成后,请在path中添加环境变量

    clipboard

    添加的目的是为了能够在批处理脚本中通过脚本来混淆。

    安装包下有帮助文件。

    clipboard

    帮助文件中有命令的使用方法。

    配置界面如下

    clipboard

    再使用.NET Reflector查看源码时,就会发现,已经无法再查看了。

    clipboard

    批处理一键打包混淆打包脚本,将以下脚本保存为bat后缀,需要打包时,直接双击执行即可。直接输出安装包文件。

    ::::::::::::::::::::::::::::::::::::::::::::::::::::::
    ::名称:制作
    ::版本:1.0
    ::功能说明:
    ::1、为保证此脚本代码通用,需要您添加环境变量,一个是安装打包程序的环境变量,一个是打包程序的环境变量
    ::devenvC 对应路径 C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDEdevenv.exe
    ::dotNET_Reactor.exe 对应安装路径
    ::iscc 对应安装路径
    ::创建标识:朱鹏飞 2018-5-2
    ::修改标识:
    ::修改说明:
    ::::::::::::::::::::::::::::::::::::::::::::::::::::
    @echo off
    title 自动编译打包工具1.0(朱鹏飞)
    echo "欢迎使用朱鹏飞开发的自动编译打包工具1.0"
    devenv ../CheckStandSystem.sln /Build
    copy ..uildCheckStandSystem.exe.config ..uildsecureCheckStandSystem.exe.config 
    @TITLE 加密
    dotNET_Reactor.exe -project app.nrproj
    @TITLE 制作安装程序
    iscc setup.iss
    @TITLE copy安装程序
    rem 根据当前日期获取,年月日串  
    set yyyy=%date:~,4%
    set mm=%date:~5,2%
    set day=%date:~8,2%
    set "YYYYmmdd=%yyyy%%mm%%day%"
    rem 把年月日串中的空格替换为0  
    set "YYYYmmdd=%YYYYmmdd: =0%"
    rem 根据当前时间获取,时分秒串  
    set hh=%time:~0,2%
    set mi=%time:~3,2%
    set ss=%time:~6,2%
    set "hhmiss=%hh%%mi%%ss%"
    set "hhmiss=%hhmiss: =0%"
    rem 把时间串中的:替换为0  
    set "hhmiss=%hhmiss::=0%"
    rem 把时间串中的空格替换为0  
    set "hhmiss=%hhmiss: =0%"
    copy ..uildsetup乐游智能收银管理系统1.0.exe ..uildsetup乐游智能收银管理系统%YYYYmmdd%_%hhmiss%.exe
    @PAUSE
    

    接下来也会去研究其他的混淆方法。

  • 相关阅读:
    JQUERY1.9学习笔记 之基本过滤器(八) 最后元素选择器
    解决接收参数乱码,tomcat的URIEncoding=UTF-8
    mac下配置maven
    [forwarding] Struts2中action接收中文参数为乱码解决方法
    [forwarding]软考复习之软件架构风格
    [forwarding]Write operations are not allowed in read-only mode 只读模式下(FlushMode.NEVER/MANUAL)写操作不允许问题
    [forwarding]详解Linux命令行下常用svn命令
    [forwarding]mysql用户授权
    【转】Hibernate 查询语言Query Language(HQL)
    java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I错误
  • 原文地址:https://www.cnblogs.com/zhupengfei/p/11814086.html
Copyright © 2011-2022 走看看