各种新主流.net混淆加密软件对比 - jshchg

时间:2024-03-06 20:36:49

各种新主流.net混淆加密软件对比

一:Dotfuscator

   首先是使用Dotfuscator对.net程序加密码混淆。VS自带了PreEmptive Dotfuscator and Analytic5.22混淆工具,默认的安装路径是C:\Program Files (x86)\Microsoft Visual Studio 14.0\PreEmptive Solutions\Dotfuscator and Analytics Community Edition,不过因为是社区版的,混淆功能远不如专业版的强大。

混淆后的程序只改变了方法名和一些变量名,只能降低可读性,效果不佳,而且使用De4dot脱壳后,大部分代码可以还原。

二:.Net Reactor

.NET Reactor的主要功能:NecroBit IL(转为非托管代码)、反 ILDASM(反编译器)、混淆代码、合并、压缩源码、支持命令行等,支持所有 .NET 框架和几乎所有开发语言。这次使用的是网上下载的.NET Reactor5.000破解版。效果比VS自带的Dotfuscator要好,使用De4dot脱壳后,程序代码的整体结构非常混乱,注入了一些没用的方法和类,并且部分代码被还原了。

三:Xencode Postbuild 2010 for .NET

     下载了Xencode postbuild 2010 for .NET好像不支持win10系统,安装之后无法运行。据说加密强度和.NET Reactor 和Dotfuscator专业版差不多。

四:SmartAssembly 6.11

     smartassembly 是一.NET代码加密保护软件,里面内置的选项方面是蛮多的,能够往程序里面注入一些没用的方法和类来混淆代码结构。使用该软件加密混淆后效果比.NET Reactor好一些。

五:DNGuard HVM

  DNGuard HVM一款运行在windows平台的.Net 内核级的加密保护工具,加密功能很强大,而且在3.7版本后加了虚拟机,混淆后的程序很难被破解。由于没有找到DNGuard的破解版,使用了官网上最新的DNGuard HVM3.82试用版(只能使用30天),经过混淆后还生成了一个dll库文件。De4dot不能对混淆后的程序脱壳,效果好。

可以看到使用DNGuard HVM混淆后的程序没有被破解成功,可以说DNGuard HVM 是一个专业的.net混淆加密工具。不过由于该软件的旗舰版需要收费,也很难找到破解版,网上流传的几乎都是试用版。

六:IL Protect

IL Protect也是一个专业的混淆加密工具,但是还没找到下载的版本。

 经过比较,一般的.net程序用SmartAssembly这样的软件混淆加壳,对一般人和新手破解者增加了难度。

其实网上下载的混淆工具对.NET程序保护的效果都不太好,保护效果好的工具通常都收费而且还没有破解版。最靠谱的方法:.NET 可以包含托管堆代码(能够被反编译的)与非托管代码(不能被反编译的),将核心逻辑代码写在非托管堆代码中,由托管代码提供接口供外部调用,调用时将非托管堆代码通过.NET动态编译后返回执行结果。就是将核心代码的实现写在非托管C++里,每次调用都动态编译,在C#中写接口给外部调用。