Releases: MrEx-Right/exploitlab
Releases · MrEx-Right/exploitlab
v0.2.0 - Deep GDB Integration & The Listener Tube
v0.2.0 - Deep GDB Integration & The Listener Tube
This major release delivers a massive workflow upgrade to ExploitLab by introducing deep, native GDB integration and built-in network listening capabilities. We've completely eliminated the need for manual GDB attaching and external tools like netcat. Now, you can instrument binaries, catch reverse shells, and control your entire debugging pipeline directly from your Python exploit script.
🔬 The Debugger & Native GDB Integration
- Dynamic Attachment & Spawning: Introduced
GDB.attach()to hook into running processes mid-execution andGDB.debug()to spawn executables from scratch (instrumenting beforemain()). Addedattach()anddebug()module-level aliases to mirror the familiar pwntools flow. - Smart Breakpoints & Auto-Sourcing: Pass symbol names (
"main","vuln") or raw addresses directly to generatebreakcommands automatically. Seamlessly supply and source.gdbor Python-GDB scripts on startup via thegdbscriptparameter. - Environment Auto-Detection: The engine now automatically hunts for graphical terminal emulators (Alacritty, Kitty, xterm, gnome-terminal, etc.) to pop GDB in a new window. Plus, it auto-detects your flavor of choice (
pwndbg,peda, orgef) directly from~/.gdbinit. - Headless Execution & Control: Programmatically drive the debugger without a GUI using
send_command()and pause inferiors viainterrupt()(SIGINT). We've also wrapped it all in a clean Context Manager (withblocks) for flawless resource teardown.
🎧 The Listener & Reverse Shell Catching
- Built-in TCP Listener: Added the highly anticipated
listen()class to spawn local TCP servers natively, making it trivial to catch incoming connections and reverse shells directly in your script. - Unified Tube API: The
listen()tube perfectly mirrors theProcessandRemoteinterfaces, giving you seamless access to your favorite methods like.send(),.recv(), and.recvuntil(). - Instant Interactive Mode: Catch a shell and immediately drop into it using the built-in
.interactive()support—no external tools needed. - Global Namespace Export: Streamlined imports so
GDB,attach,debug, andlistenare instantly available in your top-level namespace viafrom exploitlab import *.