NoVmp v1.0.5官方版

NoVmp v1.0.5官方版

  • 版本: v1.0.5官方版
  • 分类:杂类工具
  • 大小: 33.2M
  • 时间:2022-12-12
  • 软件介绍
  • 软件截图
介绍

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

  请注意,.vmp1 部分是合并的 VMProtect DLL,不应输入。

  此外,您还可以使用以下任何一个开关。

  -noopt.禁用优化。禁用优化。

  -opt:恒定。优化 VMProtect Ultra 常数混淆功能。

  -experimental:重新编译。启用实验性 x64 编译器。

  已知错误

  VTIL-Core 已知的问题,主要是缺乏跳表支持和传播通道耗时太长/不是很好,这些问题正在解决中。

  目前还不完全支持编译时剥离重定位的二进制文件。

  实验编译器是一个边缘性的破损演示,与它相关的问题不应该被提交,因为它将会被重做,并且会在VTIL-Core中出现。

  许可证

  NoVmp采用GNU General Public License v3授权。

更新日志

  v1.0.5

  禁用每条程序的多线程,因为优化时每块多线程会使CPU达到最大限度。

NoVmp使用方法

  NoVmp接受未打包的二进制文件,所以如果你的二进制文件是打包的,你必须先转储它,另外,如果你用Scylla这样的工具转储了它,你必须使用-base参数提供原始的映像库,像这样。

  -base 0x14000000

  默认情况下,NoVmp会将每一个跳转都解析到虚拟机中,如果你只对一些特定的虚拟化例程感兴趣,你可以使用-vms参数,像这样的相对虚拟地址。

  -vms 0x729B81 0x72521

  这些地址应该指向VMEnter,如下图所示。

  VMEnter

  默认情况下,节段发现是自动的,但如果您的调用没有被链接,您应该尝试使用 -sections 将 VMProtect 节段名称添加到节段列表中,如下所示。

  -sections .xxx0 .yyy0

  请注意,.<vmp>1 部分是合并的 VMProtect DLL,不应输入。

  此外,您还可以使用以下任何一个开关。

  -noopt.禁用优化。禁用优化。

  -opt:恒定。优化 VMProtect Ultra 常数混淆功能。

  -experimental:重新编译。启用实验性 x64 编译器。

  已知错误

  VTIL-Core 已知的问题,主要是缺乏跳表支持和传播通道耗时太长/不是很好,这些问题正在解决中。

  目前还不完全支持编译时剥离重定位的二进制文件。

  实验编译器是一个边缘性的破损演示,与它相关的问题不应该被提交,因为它将会被重做,并且会在VTIL-Core中出现。

  许可证

  NoVmp采用GNU General Public License v3授权。

NoVmp更新日志

  v1.0.5

  禁用每条程序的多线程,因为优化时每块多线程会使CPU达到最大限度。

展开
软件截图