论坛首页 逆向工程技术区 阅读主题

[分享]ARM64 ELF vmp protect开源

434 浏览 13 回复
#1 楼主 2026-06-01 21:09:00
分享一个我最近开源的项目 **VMPacker**,一个完整的 ARM64 Linux ELF 虚拟机保护系统。不同于商业 VMP 方案,这个项目完全开源,适合学习和研究 VMP 保护的实现原理。

关于我的研究初衷:最初做项目时,仅通过 UPX 魔改加固,防护效果极差,程序频繁被破解,让我束手无策。后来我在网上寻找 开源ARM64 架构的 VMP 类虚拟化保护方案,却发现几乎没有成熟可用的开源的项目【付费又很贵】于是我决定从零自研一套 ARM64 指令级虚拟化保护引擎,最终才有了这个项目——专注于从根源上提升程序抗逆向、防破解能力

#### 技术架构
整个系统分为三个核心模块:
**1. 指令解码器(Go)**
* 基于 ARM Architecture Reference Manual 的 table-driven 模式匹配* 支持 DP-IMM / DP-REG / Branch / Load-Store 四大指令族* 解码结果为统一的中间表示(IR)
**2. 字节码翻译器(Go)**
* 将 ARM64 IR 翻译为 63 条自定义 VM 指令* 处理 PC 相对地址重定位(ADRP/ADR → 绝对地址计算)* 分支目标地址修正* Label 引用解析
**3. VM 解释器 Stub(C → flat binary)**


回复或点赞可查看完整内容

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-290140.htm
#2 2026-06-01 21:09:00
支持一下
#3 2026-06-01 21:09:00
学习一下
#4 2026-06-01 21:09:00
感谢分享
#5 2026-06-01 21:09:00
支持,有没有考虑过基于llvm来进行开发,decoder部分可以直接复用已有的商业级实现,此外也可以直接在编译时对于需要保护的代码直接强制输出arm64的指令,然后对他们直接进行处理,这样既可以解决架构适配问题,也可以在开发阶段更方便的进行使用,例如通过__attribute__标注等
#6 2026-06-01 21:09:00
不吃早饭


支持,有没有考虑过基于llvm来进行开发,decoder部分可以直接复用已有的商业级实现,此外也可以直接在编译时对于需要保护的代码直接强制输出arm64的指令,然后对他们直接进行处理,这样既可以解决架 ...

有,起初我也只是想尝试下,没想到一实现就实现到了至今,后续有时间会转llvm
#7 2026-06-01 21:09:00
感谢分享。
#8 2026-06-01 21:09:00
感谢分享
#9 2026-06-01 21:09:00
tql
#10 2026-06-01 21:09:00
牛逼,学习了
#11 2026-06-01 21:09:00
学习
#12 2026-06-01 21:09:00
牛牛
#13 2026-06-01 21:09:00
tql
#14 2026-06-01 21:09:00
感谢分享

请登录后参与讨论

立即登录 注册账号