TL;DR
libdebug is an open-source Python library that enables programmable, userland debugging with lower latency than GDB, facilitating custom debugging workflows for software engineering, reverse engineering, and security.
Contribution
It introduces libdebug, a novel userland debugging library with a user-friendly API, filling a gap in programmable debugging tools for userland binaries.
Findings
Median syscall and breakpoint latency is 3-4 times lower than GDB.
Demonstrates versatility through case studies and benchmarks.
Open-source with comprehensive documentation.
Abstract
Automated debugging, long pursued in a variety of fields from software engineering to cybersecurity, requires a framework that offers the building blocks for a programmable debugging workflow. However, existing debuggers are primarily tailored for human interaction, and those designed for programmatic debugging focus on kernel space, resulting in limited functionality in userland. To fill this gap, we introduce libdebug, a Python library for programmatic debugging of userland binary executables. libdebug offers a user-friendly API that enables developers to build custom debugging tools for various applications, including software engineering, reverse engineering, and software security. It is released as an open-source project, along with comprehensive documentation to encourage use and collaboration across the community. We demonstrate the versatility and performance of libdebug through…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
