Skip to main content

unidecompiler

unidecompiler is the frontend-neutral core for universal bytecode decompilation. It owns thin-IR lifting, recovery, generic IR, diagnostics, AST generation, and the stable DecompilerEngine facade used by CLI, GUI, and frontend plugin packages.

Frontend plugins decode VM-specific formats and submit neutral bytecode facts; they do not perform source-structure recovery.

The core may also carry optional ByteRange provenance for exact, absolute locations in the original input artifact. This is read-only presentation data for hosts such as the GUI; it has no execution, control-flow, or recovery semantics and is omitted whenever the decoder cannot prove the range.

Core recovery reaches a fixed point before the final AST is emitted:

thin IR -> generic IR / low-level CFG
                 |
                 v
          CFG structuring
                 |
                 v
  structured FunctionIR refinement
          |                 |
       changed            stable
          |                 |
          +--> CFG analysis/structuring ↺
                              |
                              v
                   final AST -> backend rendering

recovery_refinement.py owns the VM-neutral refinement loop. It accepts only rewrites that preserve the verified CFG and safety invariants; otherwise the existing low-level CFG/goto representation remains the preservation floor. The loop operates on structured FunctionIR inside core. It is not a frontend-specific pass, and backends do not infer or recover control flow.

CFG rewrites are edge-aware. Parallel edges retain deterministic concrete identity, and shared CFG analysis snapshots provide graph facts for structuring. Same-value Phi cleanup and explicit fallthrough-jump removal are performed only when predecessor edges, exception state, data-flow values, and evaluation order are proven equivalent. If that proof is unavailable, core keeps the low-level CFG/goto form rather than guessing.

Install

Install the core library directly from PyPI. Cloning this repository is not required for normal use:

python -m pip install unidecompiler

To decompile an artifact, also install a host such as unidecompiler-cli or unidecompiler-gui and the frontend plugin for the bytecode format you need.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

unidecompiler-0.1.8.tar.gz (161.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

unidecompiler-0.1.8-py3-none-any.whl (174.7 kB view details)

Uploaded Python 3

File details

Details for the file unidecompiler-0.1.8.tar.gz.

File metadata

  • Download URL: unidecompiler-0.1.8.tar.gz
  • Upload date:
  • Size: 161.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.12

File hashes

Hashes for unidecompiler-0.1.8.tar.gz
Algorithm Hash digest
SHA256 95e27e72b925705ada340d7da180625f47064baf2dd1d6807b3de1fe93a4dda4
MD5 3ed388346bd714bf762070d5b7f9fe2b
BLAKE2b-256 3d56e728aaf2a5c34952e9151672eb0f72fc647f312491bf5960cc57fdf6bd12

See more details on using hashes here.

File details

Details for the file unidecompiler-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: unidecompiler-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 174.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.12

File hashes

Hashes for unidecompiler-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 f724117af8ba63ed35935bb2fa4cabc5700acd2dfe9940de1185c2c7a9b6ec74
MD5 64857f351f06345d2a22b2965b5ab493
BLAKE2b-256 92353c4cbbb13daded826a22733cdfc839f7b4d92c6a6759fe02239ddf3ef485

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.10

2 files

0.1.9

2 files

This release

0.1.8 This release

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page