{
  "added_at": "2026-10-19",
  "additional_evidence_urls": [
    "https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/docs/USAGE.md",
    "https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/docs/USAGE.md#L99-L152",
    "https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/docs/MCP.md",
    "https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/docs/LIBRARY.md",
    "https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/Cargo.toml",
    "https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/.github/workflows/build.yml",
    "https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/scripts/build/roundtrip.sh",
    "https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/scripts/build/roundtrip_known_failures.tsv",
    "https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/scripts/build/gates.sh",
    "https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/scripts/build/syntax_baseline.tsv",
    "https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/LICENSE",
    "https://github.com/SymbioticSec/hermes-decomp/releases/tag/v0.2.4"
  ],
  "category": "android",
  "description_en": "Rust decompiler and analysis toolkit for Hermes bytecode (.hbc), the compiled form React Native apps ship for the Hermes engine; the README lists HBC versions 40 to 99. Its hermes-decomp CLI shows file information, disassembles, decompiles whole bundles or single functions to JavaScript, with a slower deep mode that recovers more names, and provides a terminal UI, cross-references, call graphs, control-flow graphs, Metro module and closure views and bytecode diffing. A separate hermes-mcp server exposes the read and analysis functions as MCP tools, and the hbc-decomp crate offers them as a Rust library.",
  "description_zh": "面向 Hermes 字节码（.hbc）的 Rust 反编译与分析工具包；.hbc 是 React Native 应用为 Hermes 引擎打包的编译格式，README 列出支持 HBC 40 至 99 版本。其 hermes-decomp 命令行可显示文件信息、反汇编，并将整个包或单个函数反编译为 JavaScript，较慢的深度模式还能恢复更多名称；此外提供终端界面、交叉引用、调用图、控制流图、Metro 模块与闭包视图以及字节码差异比较。独立的 hermes-mcp 服务器将读取和分析功能作为 MCP 工具提供，hbc-decomp crate 则以 Rust 库的形式提供这些功能。",
  "entry_url": "https://awesomerea.org/resources/hermes-decomp/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/hermes-decomp/",
  "evidence_url": "https://github.com/SymbioticSec/hermes-decomp/blob/ad4c924720848a26136a56688b70339fe9ea7aba/README.md",
  "group": "tools",
  "id": "hermes-decomp",
  "json_url": "https://awesomerea.org/resources/hermes-decomp/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/hermes-decomp/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/hermes-decomp/index.md",
  "name": "hermes-decomp",
  "name_zh": "hermes-decomp Hermes 字节码反编译器",
  "record_type": "resource",
  "relationship": "foundation",
  "requirements": [
    "Release at review: v0.2.4, published 2026-10-01, which is the reviewed main commit. Its archives contain hermes-decomp and hermes-mcp for Linux x86_64 and ARM64, macOS ARM64 and Windows x86_64, with SHA256SUMS; the README also lists a macOS x86_64 build, which this release lacks. Source builds need Rust 1.70+, and an update command checks for or installs newer releases.",
    "Input is a Hermes bytecode file from the user's own React Native app, not a plain-JavaScript bundle. Full-bundle decompilation writes an .hdcache file next to the input unless --no-cache is passed. hermes-mcp uses stdio by default; its HTTP transport listens on 127.0.0.1:8744 unless another host is given, and docs/MCP.md lists only read and analysis tools.",
    "Separate CLI write commands assemble or patch bytecode and HASM; they never recompile decompiled JavaScript. USAGE.md reports full write support for HBC 96 and below, verified against the Hermes VM, while HBC 97+ files support only same-length string patches and can be checked only with a macOS helper.",
    "CI checks formatting and Clippy, builds on each platform and runs the test suite with corpus-dependent tests skipped; the repository keeps small jsx_cycle .hbc test fixtures. Local gates compile sample snippets with hermesc toolchains that the scripts fetch or build, run the original and decompiled code under Node and compare output, with five known failures listed, and cap unparsable modules per bundle, at 211 for the one recorded bundle, so decompiled output is not always valid JavaScript.",
    "MIT license."
  ],
  "requirements_zh": [
    "审阅时的最新版本为 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 许可。"
  ],
  "targets": [
    "app"
  ],
  "url": "https://github.com/SymbioticSec/hermes-decomp",
  "verification": "source-reviewed",
  "verified_at": "2026-10-19"
}
