
新发布Sep 10, 2026
hermes-decomp v0.2.3
一个强大的反编译器,允许您逆向工程React Native移动应用,将其编译的Hermes字节码(.hbc)文件转换回可读的JavaScript。

用于 Hermes 字节码(.hbc)的 Rust 反编译器,Hermes 是 React Native 背后的 JS 引擎。支持 HBC 40 至 99。
安装
从 Releases 或 Actions 获取预编译二进制文件(Linux / macOS / Windows):
| 资源后缀 | 平台 |
|---|---|
linux-x86_64 / linux-arm64 | Linux |
macos-arm64 / macos-x86_64 | macOS |
windows-x86_64 | Windows |
压缩包中包含 hermes-decomp 和 hermes-mcp。校验:shasum -a 256 -c SHA256SUMS。
hermes-decomp update --check # 或 --install / --version v0.1.7
从源码构建(需要 Rust 1.70+):
git clone https://github.com/SymbioticSec/hermes-decomp.git
cd hermes-decomp && cargo build --release
# → target/release/hermes-decomp target/release/hermes-mcp
快速开始
hermes-decomp info app.hbc
hermes-decomp disasm app.hbc --function 5 --info --show-offsets
hermes-decomp decompile app.hbc -o out.js # 进度输出到 stderr
hermes-decomp decompile app.hbc --deep -o out.js # 恢复更多名称,速度较慢
hermes-decomp decompile app.hbc --function 42
hermes-decomp tui app.hbc
hermes-decomp xref app.hbc --query "loginWithToken"


功能
| 领域 | 命令(亮点) |
|---|---|
| 读取 | info、disasm、decompile、tui、extract、modules、deps |
| 分析 | xref、callgraph、graphviz、closures、debug、dump、bin-diff |
| 逆向工程辅助 | secrets、frida-hooks |
| 写入(仅字节码) | emit-hasm、asm、asm-check、patch-string、patch-function、inject-stub、create |
完整参数与示例 → docs/USAGE.md。
注意事项:
- 全包
decompile使用磁盘上的.hdcache以实现快速重新加载。传入--no-cache可强制禁用。 - 写入工具用于修补字节码 / HASM。它们不会重新编译反编译后的 JavaScript。
decompile -o …会在 stderr 上打印流水线阶段信息。
MCP 与库
- 面向 AI 助手的 MCP 服务器(
hermes-mcp)→ docs/MCP.md
配置模板:mcp-config.example.json - Rust crate
hbc-decomp→ docs/LIBRARY.md
cargo build --release -p hbc-decomp-mcp
贡献
参见 CONTRIBUTING.md。提交 PR 前请先开 issue。
cargo build --release --workspace && cargo test --workspace
资源
许可证
MIT。参见 LICENSE。