.Net最强加密工具DNGuard HVM?

前言

DNGuard HVM号称.Net内核级的加壳工具,它修改虚拟机CLR和编译器JIT。号称最强保护。其实破解它还是非常简单的,本篇3分钟带大家学习一个最简单的破解方式。.

概括

1.介绍
比如说有以下代码,项目名称DnGuard_Test:

static void Main(string[] args){  Console.ReadLine();  Console.WriteLine("Call Main");}

用最新版的Dnguard加密下之后。它在目录bin\x64\Debug\net7.0_Protected会生成三个文件

DnGuard_Test.dllHVMRun64.dllHVMRuntm.dll

要运行它,需要把运行时文件

DnGuard_Test.runtimeconfig.json拷贝到这个目录。还有一点需要注意

dnguard输出设置成.Net core3.1/5.0/6.0/7.0等。

以上程序运行之后,它在控制台上打印出Call Main这个字符串,想在加密之后把这个字符串改动下。比如第一个字母C改成D,打印出Dall Main。应该怎么做呢?
2.破解
首先去下载一个UltraEdit十六进制的编辑工具,把加密后的DnGuard_Test.dll拖到这个工具里面去。然后Ctrl+F进行十六进制查找,查找数值位:43006100。
.Net最强加密工具DNGuard HVM?
43的ASCII码的大写C字母,61是小写的字母a,找到之后,右击43,把它改成44,然后保存。这样就非常简单的把Call Main修改成了Dall Main。通过dotnet命令运行下被加密的DnGuard_Test.dll修改后的样子。
.Net最强加密工具DNGuard HVM?

注意,你修改了它之后,

Dngurad会在同目录下自动生成一个备份的

DnGuard_Test.dll.bak。

当然了,以上是最简单的破解方式。还有其它更多,基本上Dnguard跟其它工具一样保护措施非常薄弱,后面有时间再叙。