百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
V

vmpdump

> 编程语言
开源

基于 VTIL 的动态 VMP 卸载器和导入修复程序。

1.4K stars0 点赞2 次浏览
访问官网GitHub

工具介绍

基于 VTIL 的动态 VMP 卸载器和导入修复程序。

VMPDump

基于 VTIL 的动态 VMP 回收器和导入修复程序。适用于 VMProtect 3.X x64。

之前 vs 之后

使用方法

VMPDump.exe <Target PID> "<Target Module>" [-ep=<入口点 RVA>] [-disable-reloc]

参数: * <Target PID>: 目标进程的 ID,以十进制或十六进制形式表示。 * <Target Module>: 应要转储和修复的模块名称。如果希望转储进程的映像模块,则可以使用空字符串 ("")。 * [-ep=<Entry Point RVA>]: 可选提供的入口点 RVA,以十六进制形式表示。VMPDump 会简单地将可选标头中的入口点替换为此值。 * [-disable-reloc]: 可选设置,用于指示 VMPDump 在输出映像中标记已删除的重定位信息,强制映像以转储的 ImageBase 加载。如果需要可运行的转储结果,则此选项非常有用。

在运行 VMPDump 之前,目标进程中的 VMProtect 初始化和解压过程必须完成。这意味着它必须在 OEP (原始入口点) 或之后。所储存和修复的映像将出现在进程映像模块目录中,名为 `<目标模块名称>.VMPDump.<目标模块扩展名>。

VMPDump 会扫描所有可执行的部分以查找这些引导程序,并使用 VTIL x64 提升程序将其提升到 VTIL。然后对这些引导程序进行分析,以确定需要替换哪种调用以及需要覆盖哪些字节。一旦所有调用都被检索到, VMPDump 将创建一个新的导入表,并将 Thunk 添加到现有 IAT 中。对 VMP 引导程序的调用将被替换为直接调用这些 Thunk。

请注意,在变异的例程中,有时没有足够的字节来用直接的跳转调用替换 VMP 导入中枢调用,因为后者比前者多 1 个字节。在这种情况下,将扩展该部分,并注入一个跳转到导入中枢的中枢。然后将 VMP 导入中枢调用替换为 5 个字节的重定位。

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

C++

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言