Skip to content

v0.2.1

Choose a tag to compare

@Anthony-Bondu Anthony-Bondu released this 04 Aug 15:13
· 9 commits to main since this release
f4d0807

Fixes HBC98 (React Native 0.75+) decompilation correctness and makes whole bundle decompilation scale to large modern bundles, on top of v0.2.0.

What's new

  • HBC98 correctness: xref now resolves string operands on the modern 12 byte header layout, where it previously returned zero results. The single function decompile no longer duplicates the receiver in calls (x.indexOf(x, y)) and now matches the whole program output. The TypeOfIs check on v97 and newer is decoded from its type bitmask instead of being misread as a string constant. Staged parameter copies that cross basic blocks are resolved, so an argument is no longer left as a dangling temporary (new URL(tmp) becomes new URL(arg0)).
  • Async and generator reconstruction (HBC98): v97 removed the generator opcodes, so function* and async bodies compile to desugared state machines. Linear async and generator bodies are now lifted back into yield and await sequences with their resume values, including conditional early exits between suspend points.
  • Performance: decompiling a full modern bundle of about 130k functions previously did not finish within minutes. It now completes end to end in about 90 seconds. This removes quadratic passes in object literal folding, global copy propagation, and the whole program inline body rendering, and fans the render out across cores.

Everything from v0.2.0 is included: the bytecode write path (patch, inject, assemble, create), the analyst tooling (dump tables, disasm --info, callgraph, and the MCP tools), the built in self update command, and Metro and ESM module reconstruction.

Downloads

Each archive contains the hermes-decomp and hermes-mcp binaries. Verify with shasum -a 256 -c SHA256SUMS.

File SHA256
hermes-decomp-v0.2.1-linux-x86_64.tar.gz f10c879e5b63c5fbff66fb57a3dc4a4a8ca226197fb4aaeec0ac2ce67100acb3
hermes-decomp-v0.2.1-macos-arm64.tar.gz 35bf62c9e712327f26ad17a63596f934d8ab59da1e3041daaad1006572f2f435
hermes-decomp-v0.2.1-windows-x86_64.zip 8c8bee6894d8cd36a841ffabaa49722182d8c0c741353f04ddd0c2f0d7725d53