Constructing A Dynamic CFG For EVM Based Smart Contracts
summary
Builds a dynamic, execution‑accurate control flow graph for EVM bytecode by running a full gas‑bounded simulation that records jump targets and stack/memory states and feeds that into Binary Ninja’s IL to recover higher level blocks and SSA form, using binary ninja IL and ethereumjs as core tools and validating on a Devcon 2018 CTF contract to automatically solve the challenge while noting industry losses of 3.8 billion in 2022 and releasing an in‑progress tool this year
AI-written summary · about
chapters (12)
- 0:00Start
- 1:32Outline
- 4:10Consensus Algorithm
- 5:27How does the "blockchain" work?
- 6:28Generations
- 8:49Ethereum VM (Virtual Machine)
- 13:45Reverse Engineering a Contract
- 14:44White Box Testing
- 16:18Black Box Testing
- 16:50Disassembly
- 17:18CFG (Control Flow Graph)
- 21:36CFG from Binary Ninja
related talks
01h 10mHow Context-Sensitive Static Analysis Led to the Best Smart Contract Decompiler
15mSymbolic Value-Flow Static Analysis: Deep, Precise, Complete Modeling of Ethereum Smart Contracts
21mErays: Reverse Engineering Ethereum's Opaque Smart Contracts
33mSymbolic value-flow static analysis:deep,precise,complete modeling of Ethereum smartcontracts
23mGenerating EVM Bytecode from Yul in the new via IR Pipeline
22mHow Decompilation Uncovers Smart Contract Vulnerabilities
21mPractical Verification Of Smart Contracts Using Memory Splitting
25mBehavioral simulation for smart contracts
