51 - Rattle
Rattle is an EVM binary static analysis framework designed to work on deployed smart contracts (not actively developed anymore).
- Takes EVM byte strings and uses a flow-sensitive analysis to recover the original control flow graph
- Lifts the control flow graph into an SSA/infinite register form, and optimizes the SSA – removing DUPs, SWAPs, PUSHs, and POPs
- The conversion from a stack machine to SSA form removes 60%+ of all EVM instructions and presents a much friendlier interface to those who wish to read the smart contracts they’re interacting with
- Security Tool
- Trail of Bits
- EVM Binary Static Analysis Framework
- EVM Byte Strings, Flow-sensitive Analysis
- Stack -> SSA Register
- More Readable Code