-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
EVM bytecode decompilation/control flow graph extraction #271
Comments
Example of panoramix output: https://etherscan.io/bytecode-decompiler?a=0xb06e6db9288324738f04fcaac910f5a60102c1f8 |
Rattle produces text output like this:
|
Panormix produces output like (weird characters are in the original):
|
Results running these tools on the MobyMask contract bytecode: rattle crashes due to excessive (infinite?) recursion. So no tool yet runs successfully on this contract. |
Goal is to extract information useful to a tool like solidity-mapper, from bytecode (no source code available).
There are various tools in this space. Some tools aim to produce valid solidity code that when compiled produces the original bytecode. Others aim to extract control flow graph data, either in machine-readable for or as graphviz bitmaps for human analysis:
https://github.com/crytic/rattle
https://github.com/palkeo/panoramix
https://github.com/crytic/evm_cfg_builder
Rattle and evm_cfg_builder are based on https://github.com/crytic/pyevmasm while panoramix uses it's own decompiler.
The text was updated successfully, but these errors were encountered: