GitHub repo
本项目内容 仅用于技术研究(strictly for research purposes)。
如果相关方认为该内容需要删除,请先通过私信联系我。在正式提出删除请求之前,我会 自愿配合下架(voluntarily remove)相关内容。
Mandatory for dih order
在这里插入图片描述

项目说明

本仓库提供一个用 Rust 编写的 Akamai V3 VM 反编译工具(Decompiler),以及对应的 反编译输出结果(decompile output)。该工具用于分析 **Akamai Technologies V3 sensor 脚本中的 Virtual Machine 字节码程序,并将其恢复为可读的 JavaScript 结构。

反编译结果来自多个实际脚本,分别来自以下站点环境:
• United Airlines
• Zalando
• Best Buy
• FC Bayern Munich
• 以及另一组同结构的 V3 sensor 脚本

这些脚本都包含结构一致的 Akamai V3 Virtual Machine 程序,因此可以使用同一个反编译流程进行解析。

vm-decompiler (Rust)

Akamai V3 VM bytecode decompiler(Rust 实现)

该工具使用 Rust 实现 VM 结构解析与反编译流程,从经过 deobfuscation 的 JavaScript sensor 脚本中自动提取 VM 相关组件,并恢复可读逻辑。

主要功能包括:
• 提取 VM 类(VM class)
自动定位并解析负责执行字节码的虚拟机结构。
• 提取 hash 函数(hash function)
从原始脚本中识别内部使用的哈希逻辑。
• 识别 opcode handlers
自动分析 VM interpreter 中的 opcode handler 函数。
• opcode 分类与语义恢复
通过 pattern matching 对所有 opcode handler 进行分类,总共识别 36–37 种 opcode 类型。
• 完整 opcode 覆盖
在分析的 5 个脚本中,所有 opcode 都可以被识别并恢复语义,
未知 opcode 数量为 0。

每个脚本内部都包含 两个 VM 程序(program),并且都可以被成功反编译。

output/

该目录包含 Rust decompiler 生成的反编译输出(decompiled output)。
这些文件是从 VM bytecode 恢复出的 可读 JavaScript 执行逻辑。

每个脚本都包含两个独立的 VM 程序:

Program 0
• 673 条指令(instructions)
• 主要负责 DVC 生成逻辑(dvc generation)

该部分通常包含:
• VM 内部计算流程
• 状态更新逻辑
• 数据构造与编码步骤

通过反编译后的代码,可以直接看到 VM 原本隐藏的执行流程。

Program 1
• 380–382 条指令
• 主要负责 DIN 重排序逻辑(din reordering)

该程序包含:
• 5 个 permutation table(排列表)
每个表包含 23 个元素
• 5 个 sourceIndex 常量

执行流程如下:
1. VM 根据当前执行状态选择 jnw 值
2. jnw 作为索引访问 sourceIndexes
3. 通过该索引选择对应的 permutation table
4. 使用该 permutation 对 DIN 数据进行重排

这种结构会改变输出顺序,使逻辑在不同执行路径下产生不同排列,从而增加分析复杂度。

总结

本项目主要提供:
• Rust 实现的 Akamai V3 VM bytecode decompiler
• 五个真实脚本的完整反编译结果
• 36–37 种 opcode handler 的自动识别
• 两个 VM 程序的结构恢复
• Program 0:DVC 生成
• Program 1:DIN 重排序

通过这些反编译结果,可以更清晰地理解 Akamai V3 Virtual Machine 的字节码结构与执行流程,并为 JavaScript VM 逆向分析提供研究参考。

(Sorry for weird language, I had to use ChatGPT for translation into Mandarin. )

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐