
New releaseAug 17, 2026
hermes-decomp v0.2.2
React Nativeモバイルアプリをリバースエンジニアリングできる強力なデコンパイラで、コンパイル済みのHermesバイトコード(.hbc)ファイルを読み取り可能なJavaScriptに変換します。

React Native の JS エンジンである Hermes バイトコード (.hbc) 用の Rust 製デコンパイラ。HBC 40〜99 に対応。
インストール
ビルド済みバイナリ (Linux / macOS / Windows) は Releases または Actions から入手できます:
| Asset suffix | Platform |
|---|---|
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 # or --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 # progress on stderr
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 |
| RE ヘルパー | 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 クレート
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 を参照してください。