首页 > 技术文章 > VS中使用.NET Reactor进行代码混淆

QiuJL 2018-03-16 18:00 原文

       .NET Reactor相信大家都不陌生,网上使用教程也很多。但绝大多数都只介绍到软件的使用,而对于在VS中使用介绍的不多。

  首先,在.NET Reactor的Help中Add In,如下图。

  

  

  重启VS 2013,会在工具中出现.NET Reactor。

  

  

  选择你要保护的project,勾选Enabled,则下面可编辑,configuration中可以选择ALL,Debug,Release三选其一。好了,最简单的设置结束了,当你编译项目时.NET Reactor会自动运行,如下。

  

  

  这边要注意的是,这样设置.NET Reactor只会对生成的主程序.exe文件进行混淆,其他比如dll文件则不混淆。如果调用的dll代码同样敏感的话,则需要使用命令。.NET Reactor所支持的命令可以在其Online Help中找到,网址:http://www.eziriz.com/help/source/command_line.htm,混淆主要用到的有-embed、-merge、-satellite_assemblies等。satellite_assemblies控制需要混淆的文件,embed与merge设置该文件是否嵌入或者与主程序合并。

  

  如上,在混淆主程序的同时还要混淆编译后路径为D:\Work\Git\test.dll的dll,并与主程序合并,合并后D:\Work\Git\test.dll依然存在,除非添加删除源文件命令。当然也可以不与主程序合并,那就不需要-merge 1命令。如果想增加混淆后的安全性,可以使用-antitamp,此选项可防止您的保护程序集被黑客工具篡改。

 

  合并dll文件方法和工具也很多,我修改了ILMergeGUI,感觉还是这个操作比较直观,github下载地址

  

 

 By QJL

推荐阅读