How Context-Sensitive Static Analysis Led to the Best Smart Contract Decompiler
summary
Claims that context-sensitive static analysis produces the best EVM decompiler and backs it with concrete artifacts: an open-source lifter called GigaHorse v3 (Shrinker) that evolved from GigaHorse v2 (ElepMock), a context model that keeps a sticky public-entry 4‑byte selector and a depth‑20 sequence of basic blocks, heuristically recognizes calls/returns and truncates contexts on matched call/return to regain precision, yields much higher recovery (13k vs 9.8k external calls), powers Dedaub’s service used by 12,000 registered users, and reports near‑99% control‑flow fidelity.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 3:57Programmable blockchains
- 9:41EVM decompilation challenges
- 16:20Decompilation in practice
- 18:47Control flow challenges
- 23:01Symbolic execution limits
- 26:33Context-sensitive analysis
- 30:10Analysis precision and performance
- 37:55Gigahorse V2 ElepMoc
- 42:34Gigahorse V3 Shrinker
- 59:45Other decompiler challenges
- 1:02:32Conclusion
- 1:03:17Q&A
related talks
22mHow Decompilation Uncovers Smart Contract Vulnerabilities
31mElipmoc: advanced decompilation of Ethereum smart contracts
21mErays: Reverse Engineering Ethereum's Opaque Smart Contracts
15mSymbolic Value-Flow Static Analysis: Deep, Precise, Complete Modeling of Ethereum Smart Contracts
33mSymbolic value-flow static analysis:deep,precise,complete modeling of Ethereum smartcontracts
20mBillion Dollar Bugs
21mDemystify Today's Binary Disassembling and How Modern ABI Makes it Easier
23mThanks for all the bugs!
