Skip to content

Instantly share code, notes, and snippets.

@piavgh
Forked from patrickd-/EVM Decompilers.md
Created March 19, 2023 11:39
Show Gist options
  • Save piavgh/e8d133b0ccca0cff65297fe8a3770174 to your computer and use it in GitHub Desktop.
Save piavgh/e8d133b0ccca0cff65297fe8a3770174 to your computer and use it in GitHub Desktop.
  • Panoramix is probably the most well-known one thanks to etherscan.io integrating it. It'll return "python-like" code that is actually quite nice to read. Unfortunately it often ends up having "timeouts" causing the decompiled code to just abruptly stop.
  • Dedaub's Decompiler is my personal favorite. When it produces something, it does produce "solidity-like" code that is well readable. But sometimes it just fails to yield anything at all. And even when it does work it struggles whenever memory handling gets involved, requiring some educated guessing.
  • ethervm.io's Decompiler is another online service which similar to Panoramix always delivers a result, but it also has the tendency to skip big parts of the code due to "could not resolve jump destination" errors and the like.
  • Heimdall does not have an online service, so I usually end up trying it when all of the other options fail. Unfortunately it seems to me that it tries so hard to produce syntactically correct Solidity code that it just skips parts whenever that doesn't work out. So far it never ended up working in cases where the other failed. [EDIT: There's actually an online version here: https://decompile.tools/]
  • JEB Decompiler is a general purpose decompiler with a Java user interface. The price tag of USD$3600 per anum for the Pro version with EVM support certainly isn't a cheap option. I tried its Demo as a last resort option a few times as well and it too just seems to omit large chunks of code.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment