本文分享一个针对 Akamai Technologies V3 传感器机制 的研究项目。该项目通过 完整的虚拟机(VM)反编译与逆向工程,还原了 V3 传感器内部用于生成请求 payload 的核心逻
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. )
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)