# hermes-decomp Hermes 字节码反编译器

> 面向 Hermes 字节码（.hbc）的 Rust 反编译与分析工具包；.hbc 是 React Native 应用为 Hermes 引擎打包的编译格式，README 列出支持 HBC 40 至 99 版本。其 hermes-decomp 命令行可显示文件信息、反汇编，并将整个包或单个函数反编译为 JavaScript，较慢的深度模式还能恢复更多名称；此外提供终端界面、交叉引用、调用图、控制流图、Metro 模块与闭包视图以及字节码差异比较。独立的 hermes-mcp 服务器将读取和分析功能作为 MCP 工具提供，hbc-decomp crate 则以 Rust 库的形式提供这些功能。

- 类型：工具
- 目标：应用
- 类别：Android 工具
- 关联：基础工具
- 来源复核于：2026-10-19
- 收录于：2026-10-19
- 原始资源：<https://github.com/SymbioticSec/hermes-decomp>
- 一手来源：<https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/hermes-decomp/>
- 记录 JSON：<https://awesomerea.org/resources/hermes-decomp/record.json>
- 英文版：[English](https://awesomerea.org/resources/hermes-decomp/index.md)

## 使用条件与局限

- 审阅时的最新版本为 v0.2.4，于 2026-10-01 发布，即所审阅的 main 分支提交。其压缩包包含 hermes-decomp 和 hermes-mcp，覆盖 Linux x86_64 与 ARM64、macOS ARM64 和 Windows x86_64，并附 SHA256SUMS；README 还列出 macOS x86_64 构建，但该版本并未提供。从源码构建需要 Rust 1.70+，update 命令可检查或安装新版本。
- 输入为取自用户自己 React Native 应用的 Hermes 字节码文件，而非纯 JavaScript 包。反编译整个包时会在输入文件旁写入 .hdcache 缓存文件，传入 --no-cache 则不使用缓存。hermes-mcp 默认使用 stdio；其 HTTP 传输方式默认监听 127.0.0.1:8744，除非另行指定主机。docs/MCP.md 只列出读取和分析类工具。
- 命令行另有写入命令，可汇编或修补字节码和 HASM，但不会把反编译出的 JavaScript 重新编译。USAGE.md 称 HBC 96 及以下版本的写入功能完整，并已在 Hermes 虚拟机上验证；HBC 97 及以上的文件只支持等长字符串修补，且只能借助 macOS 上的辅助程序进行验证。
- CI 检查代码格式和 Clippy，在各平台上构建，并在跳过依赖语料库的测试后运行测试套件；仓库保存了少量 jsx_cycle .hbc 测试夹具。本地检查会用脚本下载或构建的 hermesc 工具链编译示例代码片段，在 Node 下分别运行原始代码和反编译代码并比较输出（列出了五个已知失败项），还为每个包设定无法解析模块数的上限，唯一记录的包上限为 211 个，可见反编译输出并不总是合法的 JavaScript。
- 采用 MIT 许可。

## 一手来源

1. <https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/README.md>
2. <https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/docs/USAGE.md>
3. <https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/docs/USAGE.md#L99-L152>
4. <https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/docs/MCP.md>
5. <https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/docs/LIBRARY.md>
6. <https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/Cargo.toml>
7. <https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/.github/workflows/build.yml>
8. <https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/scripts/build/roundtrip.sh>
9. <https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/scripts/build/roundtrip_known_failures.tsv>
10. <https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/scripts/build/gates.sh>
11. <https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/scripts/build/syntax_baseline.tsv>
12. <https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/LICENSE>
13. <https://github.com/SymbioticSec/hermes-decomp/releases/tag/v0.2.4>

## 同分区更多条目：应用

- [MEDUSA](https://awesomerea.org/zh/resources/medusa-framework/index.md) · 工具
- [Android Unpinner](https://awesomerea.org/zh/resources/android-unpinner/index.md) · 工具
- [apk-mitm](https://awesomerea.org/zh/resources/apk-mitm/index.md) · 工具
- [Frida 移动端拦截脚本](https://awesomerea.org/zh/resources/frida-interception-and-unpinning/index.md) · 工具
- [reFlutter](https://awesomerea.org/zh/resources/reflutter/index.md) · 工具
- [ddc Android DEX 反编译器](https://awesomerea.org/zh/resources/ddc/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
