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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f44efbbf318dc765e8812654a434242b0c0f906310c364c465fee8f9d102ce6
|
|
| MD5 |
f37c7c4f75f2517468a7f1a76dc158bf
|
|
| BLAKE2b-256 |
3778eae0206f65a73b33128dfc7993ed546c8a0258610f76372a40599fbfa7a6
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f792417ffad46bbc66c2a6870947eac4fe4ce3d4e0cf0ebb8fe0aecd550ec73
|
|
| MD5 |
b0acebf253a11fccb4b8665cb1b64b16
|
|
| BLAKE2b-256 |
fd75bfdd31cba3181e7d2eef72450b027e508fc0e6e15d4e372856afa0e9168d
|