Introduction to Procedural Debugging through Binary Libification
summary
Claims a method to turn arbitrary dynamically linked ELF executables into shared libraries so vulnerable functions can be called directly, separating intraprocedural bug triggering from reachability. Implements an open source Witchcraft linker and Witchcraft shell (MIT/BSD) that dlopen() patched binaries and invoke functions via a Lua-based reflection engine without full prototypes. Prototype libifies 435 Ubuntu x86_64 binaries in ~3 seconds total and reproduces testing for CVE-2022-3786 in OpenSSL (3.0.6 vulnerable, 3.0.7/3.0.8 not).
AI-written summary · about
chapters (10)
- 0:00Introduction
- 1:12Software Bill of Materials overview
- 3:24SBOM limitations in vulnerability assessment
- 5:52Procedural debugging approach
- 7:38Libification and executable transformation
- 9:25Transforming executables into shared libraries
- 11:54Witchcraft Linker tool
- 13:20Reverse transformation and reflection
- 14:48Procedural debugging and automated testing
- 15:51Conclusion and future goals
related talks
51mReverse Engineering Binaries
45mMach-O Fun
10mEvil Twins and the Secret Lives of Linkers!
33mOpen & Secure: Novel Sandboxing Technique for Any Open Source Library
22mDemostrating Binary Exploitation
01h 04mCompiler Bugs And Bug Compilers
55mHow hacking works
44mHands Off and Putting SLAB/SLUB Feng Shui in a Blackbox
