吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 274|回复: 3
上一主题 下一主题
收起左侧

[Packers] ARM64 ELF vmp protect开源

[复制链接]
跳转到指定楼层
楼主
LSXG 发表于 2026-3-2 16:57 回帖奖励

分享一个我最近开源的项目 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)

  • 编译为位置无关的纯二进制

  • 通过 PT_NOTE 段劫持注入到 ELF

  • 运行时在栈上构建间接跳转表

  • CRC32 完整性校验

保护机制详解

|层级|技术|作用|

| --- | --- | --- |

|Opcode 随机映射|每次生成不同的指令编码|逆向者无法直接识别语义|

|XOR 加密|enc[pc] = op[pc] ^ (key ^ (pc * 0x9E3779B9))|静态分析困难|

|字节码逆序|指令倒序存储,解释器反向遍历|增加分析复杂度|

|Token 入口|3 指令跳板替换原函数|隐藏实际字节码位置|

|间接派遣|栈上运行时填充函数指针表|破坏 IDA 交叉引用分析|

可扩展性

项目采用接口驱动设计,三大接口 Decoder / Translator / Packer 完全解耦,理论上可以扩展支持:

  • 其他 ISA:x86_64, RISC-V

  • 其他二进制格式:PE (Windows), Mach-O (macOS)

项目地址

GitHub: https://github.com/LeoChen-CoreMind/VMPacker

pepQJwn.png

AGPL-3.0 协议

,学习研究随便用,欢迎 PR 和 Issue。

本帖子由开发者LeoChen授权本人代为发布。

(小兄弟没注册账号)

免费评分

参与人数 3吾爱币 +4 热心值 +3 收起 理由
Command + 2 + 1 谢谢@Thanks!
绿雪羚羊 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Carinx + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
patch12345 发表于 2026-3-3 16:30
下载试试感谢感谢
3#
EarlKnight 发表于 2026-3-3 20:13
最近在找相关资料,没想到就在52有,学习了。
4#
None2082 发表于 2026-3-4 08:25
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-3-4 13:08

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表