NoVmp官方版是一款专业的虚拟机优化软件。NoVmp最新版默认情况下会将每一个跳转都解析到虚拟机中,如果你只对一些特定的虚拟化例程感兴趣,你可以使用-vms参数,像这样的相对虚拟地址。NoVmp官方版接受未打包的二进制文件,所以如果你的二进制文件是打包的,你必须先转储它。
基本简介
NoVmp官方版是一个将VMProtect x64 3.0 - 3.5(最新版本)虚拟化为优化 VTIL的项目,并可选择使用虚拟机翻译中间语言库重新编译回 x64,它是相当实验性的,主要是我想发布的PoC。大部分的东西都可以改进,尤其是新的NativeLifters repo!
使用方法
NoVmp官方版接受未打包的二进制文件,所以如果你的二进制文件是打包的,你必须先转储它,另外,如果你用Scylla这样的工具转储了它,你必须使用-base参数提供原始的映像库,像这样。
-base 0x14000000
默认情况下,NoVmp会将每一个跳转都解析到虚拟机中,如果你只对一些特定的虚拟化例程感兴趣,你可以使用-vms参数,像这样的相对虚拟地址。
-vms 0x729B81 0x72521
这些地址应该指向VMEnter
VMEnter
默认情况下,节段发现是自动的,但如果您的调用没有被链接,您应该尝试使用 -sections 将 VMProtect 节段名称添加到节段列表中,如下所示。
-sections .xxx0 .yyy0
请注意,.1 部分是合并的 VMProtect DLL,不应输入。
此外,您还可以使用以下任何一个开关。
-noopt.禁用优化。禁用优化。
-opt:恒定。优化 VMProtect Ultra 常数混淆功能。
-experimental:重新编译。启用实验性 x64 编译器。
已知错误
VTIL-Core 已知的问题,主要是缺乏跳表支持和传播通道耗时太长/不是很好,这些问题正在解决中。
目前还不完全支持编译时剥离重定位的二进制文件。
实验编译器是一个边缘性的破损演示,与它相关的问题不应该被提交,因为它将会被重做,并且会在VTIL-Core中出现。
许可证
NoVmp采用GNU General Public License v3授权。
更新日志
v1.0.5
禁用每条程序的多线程,因为优化时每块多线程会使CPU达到最大限度。