Angrgdb
Use angr inside GDB. Create an angr state from the current debugger state.
Install / Use
/learn @andreafioraldi/AngrgdbREADME
angrgdb
Use angr inside GDB. Create an angr state from the current debugger state.
Install
pip install angrgdb
echo "python import angrgdb.commands" >> ~/.gdbinit
Usage
angrgdb implements the angrdbg API in GDB.
You can use it in scripts like this:
from angrgdb import *
gdb.execute("b *0x004005f9")
gdb.execute("r aaaaaaaa")
sm = StateManager()
sm.sim(sm["rax"], 100)
m = sm.simulation_manager()
m.explore(find=0x00400607, avoid=0x00400613)
sm.to_dbg(m.found[0]) #write input to GDB
gdb.execute("x/s $rax")
#0x7fffffffe768: "ais3{I_tak3_g00d_n0t3s}"
gdb.execute("c")
#Correct! that is the secret key!
You can also use angrgdb commands directly in GDB for simple stuffs:
angrgdb sim <register name> [size]Symbolize a registerangrgdb sim <address> [size]Symbolize a memory areaangrgdb listList all items that you setted as symbolicangrgdb find <address0> <address1> ... <addressN>Set the list of find targetsangrgdb avoid <address0> <address1> ... <addressN>Set the list of avoid targetsangrgdb resetReset the context (symbolic values and targets)angrgdb runGenerate a state from the debugger state and run the explorationangrgdb shellOpen an shell with a StateManager instance created from the current GDB stateangrgdb interactiveGenerate a state from the debugger state and explore by hand using a modified version of angr-cli
An example crackme solve using angrgdb+GEF+idb2gdb:
Loading scripts in GDB
This is a tip if you don't want to use angrgdb from the cli but you want to use a python script.
To load a script in GDB use source script.py.
TODO
- add remote angrdbg like in IDAngr
Cite
Thesis PDF.
Bibtex:
@misc{fioraldi2020symbolic,
title={Symbolic Execution and Debugging Synchronization},
author={Andrea Fioraldi},
year={2020},
eprint={2006.16601},
archivePrefix={arXiv},
primaryClass={cs.CR}
}
Related Skills
node-connect
350.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
109.9kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
109.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
350.1kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.

