Virbox Protector 对 .NET 程序保护的优势
- 多重保护:Virbox Protector 可以对特定 .NET 方法使用代码混淆、代码加密的手段进行针对性保护,也可以用名称混淆、压缩、JIT加密的方式提供整体性的保护,保护效果可以叠加。
- 支持 .NET Core,部分功能支持 Linux 下 .NET Core。
试用下载:https://shell.virbox.com/netprotector.html
代码加密
使用动态代码技术,将原始方法字节码加密,执行时才将方法解密并执行的保护方式。
功能
防脱壳,防止直接 Dump。
- 优点
1、运行效率高,几乎没有性能损失。
.NET JIT 加密-防止内存dump
.NET JIT 加密,是将 .NET 所有方法的 IL 指令经过加密,仅在 .NET 虚拟机进行 JIT 编译阶段才解密,可以防止静态反编译,也能防止 IL 代码在内存被 Dump。JIT 加密可以配合代码混淆、代码加密、.NET 压缩一起使用,达到多层保护的效果,在兼顾性能的同时,更进一步提升保护后代码的安全性。
技术原理
启用 “JIT 加密” 后,在 Virbox Protector 进行保护时,会将 .NET 方法的 IL 字节码加密,并插入 VBP JIT HOOK 模块完成保护。
在运行阶段,.NET 虚拟机对原程序中的元数据等信息进行解析,最终需要在 JIT 阶段将 IL 方法进行编译,VBP JIT Hook 模块会在此时进行解密,使编译过程顺利进行。
.NET 压缩
.NET 的压缩功能主要为 .NET 程序提供了整体保护的效果,可以防止 .NET 程序中的方法被 DnSpy,ILSpy,.NET Reflector 等工具反编译,Virbox Protector 2.0 开始使用了 IL 壳代码,提升了兼容性。
加密效果
原程序反编译:
加密后效果: