一个强大的反编译器,允许您逆向工程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"


完整参数与示例 → docs/USAGE.md。
注意事项:
decompile 使用磁盘上的 .hdcache 以实现快速重新加载。传入 --no-cache 可强制禁用。decompile -o … 会在 stderr 上打印流水线阶段信息。hermes-mcp)→ docs/MCP.mdmcp-config.example.jsonhbc-decomp → docs/LIBRARY.mdcargo build --release -p hbc-decomp-mcp
参见 CONTRIBUTING.md。提交 PR 前请先开 issue。
cargo build --release --workspace && cargo test --workspace
MIT。参见 LICENSE。
| 领域 | 命令(亮点) |
|---|
| 读取 | 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 |