Panoramix
This is an EVM decompiler.
It's is a fork of the Panoramix original repo that's not maintained actively by its author anymore: https://github.com/eveem-org/panoramix.git
The goal of this fork is to maintain Panoramix in a decent shape, fix some crashes, implement missing opcodes... I also got rid of the "tilde" syntax that was using a custom python encoding and use vanilla Python instead. And I made it a proper python package that can be imported. There is also a better support of timeouts, as instead of stopping entirely we will fallback and print whatever we decompiled even if it's not complete.
The code quality is still not great and the software is complex, it's mostly reserved for advanced users.
Installation
$ pip install panoramix-decompiler
Running
You can specify a web3 provider using the environment variable WEB3_PROVIDER_URI. In this case a local provider was set.
$ WEB3_PROVIDER_URI=http://localhost:7545 panoramix 0x0d94D81FD712126E7f320b5B10537D01d6a01563
You can also provide the bytecode for decompilation.
$ panoramix 6004600d60003960046000f30011223344
Examples
I have decompiled all of mainnet, and make sure to decompile again on the latest Panoramix version from time to time.
You can access decompilations using Oko: https://oko.palkeo.com/
Here is an example for cryptokitties: https://oko.palkeo.com/0x06012c8cf97BEaD5deAe237070F9587f8E7A266d/code/
Metadata
Release files for panoramix-decompiler-x 0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| panoramix-decompiler-x-0.4.tar.gz | 16.9 MB | Without provenance | Details for panoramix-decompiler-x-0.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| panoramix_decompiler_x-0.4-py3-none-any.whl | Python 3 | none | any | Details for panoramix_decompiler_x-0.4-py3-none-any.whl |
Total release size: 33.8 MB
Release files / panoramix-decompiler-x-0.4.tar.gz
| Download URL | panoramix-decompiler-x-0.4.tar.gz |
|---|---|
| Size | 16.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d99bff08ddab32857d08aab1fc7e0139b07662d7433a5462a6c2a87ed9ffb3dd
|
|
BLAKE2b-256 checksum How to use checksums |
605a56d90d1c171c4fdeebca253e3faf39cfaac2a140cbf4ca06074f81f31647
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.0
|
Release files / panoramix_decompiler_x-0.4-py3-none-any.whl
| Download URL | panoramix_decompiler_x-0.4-py3-none-any.whl |
|---|---|
| Size | 16.9 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
56dd31caae8b0a0b858a9d264f616baa83b2a90ebc48b002bb2335a144656c34
|
|
BLAKE2b-256 checksum How to use checksums |
b1456ed88fa547783d10e7e4f6dfbaf8ed3023b83f2ad55d6e7e65613112c6e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.0
|
Security for panoramix-decompiler-x 0.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.