So, you think you can write an EVM decompiler?
summary
Decompilation engine Gigahorse runs since 2018 and powers a Dedaub security app with ~10,000 registered users, using static over-approximation with context sensitivity rather than path‑exploding symbolic execution to recover control flow and function boundaries. It reports strong results on control flow and storage, struggles on memory modeling (about 90% of memory ops lifted), is mostly open source, and is actively used to reverse engineer hacks, bots and unverified contracts.
AI-written summary · about
chapters (15)
- 0:00Introduction
- 1:50What makes EVM decompilation hard
- 3:58Control flow recovery
- 8:17Static vs symbolic analysis
- 13:17Symbolic execution fails
- 17:52Gigahorse’s static approach
- 19:59Function recognition
- 20:22Memory modeling
- 22:49EVM decompilation state
- 24:55Gigahorse open source
- 25:39EVM Object Format impact
- 27:03Decompilation use cases
- 28:51Recovering private functions
- 29:57Selector databases
- 30:19Q&A
related talks
15mPrecise Static Modeling of Ethereum “Memory”
48mHow to Build A Decompiler
21mDemystify Today's Binary Disassembling and How Modern ABI Makes it Easier
10mHow to Understand a Smart Contract Hack
19mThe Art of Huff
59mCompilers can be surprising
48mD1T2 - Smashing Ethereum Smart Contracts for Fun and ACTUAL Profit
01h 16m“What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”
