
Um poderoso descompilador que permite fazer engenharia reversa de aplicativos móveis React Native ao converter seus bytecodes Hermes compilados (.hbc) de volta para JavaScript legível.

Descompilador em Rust para bytecode Hermes (.hbc), o motor JS por trás do React Native. Suporta HBC 40 a 99.
Binários pré-compilados (Linux / macOS / Windows) em Releases ou Actions:
| Sufixo do asset | Plataforma |
|---|---|
linux-x86_64 / linux-arm64 | Linux |
macos-arm64 / macos-x86_64 | macOS |
windows-x86_64 | Windows |
Os arquivos incluem hermes-decomp e hermes-mcp. Verifique: shasum -a 256 -c SHA256SUMS.
hermes-decomp update --check # or --install / --version v0.1.7
A partir do código-fonte (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 --deep -o out.js # recover more names, slower
hermes-decomp decompile app.hbc --function 42
hermes-decomp tui app.hbc
hermes-decomp xref app.hbc --query "loginWithToken"


Flags completas e exemplos → docs/USAGE.md.
Notas:
decompile de bundle completo usa um .hdcache em disco para recarregamentos rápidos. Passe --no-cache para forçar.decompile -o … imprime os estágios do pipeline em stderr.hermes-mcp) para assistentes de IA → docs/MCP.mdmcp-config.example.jsonhbc-decomp → docs/LIBRARY.mdcargo build --release -p hbc-decomp-mcp
Veja CONTRIBUTING.md. Por favor, abra uma issue antes de um PR.
cargo build --release --workspace && cargo test --workspace
MIT. Veja LICENSE.
| Área | Comandos (destaques) |
|---|
| Leitura | info, disasm, decompile, tui, extract, modules, deps |
| Análise | xref, callgraph, graphviz, closures, debug, dump, bin-diff |
| Auxiliares de RE | secrets, frida-hooks |
| Escrita (apenas bytecode) | emit-hasm, asm, asm-check, patch-string, patch-function, inject-stub, create |