

We built a deterministic decompiler that turns Hermes bytecode (HBC) back into readable JavaScript. It recovers control flow, reconstructs Metro modules, and assigns identifiers, marking which names it read from the binary and which it inferred from usage.
Most React Native apps don’t ship readable JavaScript. During the build, Hermes precompiles your JS into a versioned binary format called Hermes bytecode (HBC), and that binary ships inside the app. The app starts faster, but open a production bundle for review and you’ll see raw opcodes. Existing tools stop at disassembly: they show you each instruction and leave you to piece the logic together by hand. Most audits stall there.
The decompiler runs a five-stage pipeline:
Mov, Call, Add, and so on).if, while, and for from the graph, and pattern matching detects classes, async functions, and generators.It ships as both a command-line tool and an MCP server, so you can run it by hand or wire it into an AI-assisted analysis workflow.
Hermes bytecode is how most React Native apps ship, and reviewers have had to stop at disassembly. Readable, deterministic output lets you audit the recovered code and trace each construct back to the binary.
If you want help analyzing React Native apps or integrating decompilation into your workflow, talk to Symbiotic Security: https://symbioticsec.ai/contact


