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.

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.7.tar.gz (157.9 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.7-py3-none-any.whl (170.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: unidecompiler-0.1.7.tar.gz
  • Upload date:
  • Size: 157.9 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.7.tar.gz
Algorithm Hash digest
SHA256 4f44efbbf318dc765e8812654a434242b0c0f906310c364c465fee8f9d102ce6
MD5 f37c7c4f75f2517468a7f1a76dc158bf
BLAKE2b-256 3778eae0206f65a73b33128dfc7993ed546c8a0258610f76372a40599fbfa7a6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: unidecompiler-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 170.9 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 2f792417ffad46bbc66c2a6870947eac4fe4ce3d4e0cf0ebb8fe0aecd550ec73
MD5 b0acebf253a11fccb4b8665cb1b64b16
BLAKE2b-256 fd75bfdd31cba3181e7d2eef72450b027e508fc0e6e15d4e372856afa0e9168d

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.10

2 files

0.1.9

2 files

0.1.8

2 files

This release

0.1.7 This release

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