Qdb
Qdb copied to clipboard
A multi-architecture and cross-platform debugger baked by Qiling Framework
Qiling Debugger
Introduction
A multi-architecture and cross-platform debugger baked by Qiling Framework
Installation
pip3 install qiling
git clone [email protected]:ucgJhe/Qdb.git
How to run example.py
make sure you install gcc-multilib-mipsel-linux-gnu
gcc-multilib-arm-linux-gnueabihf
and make binary in src directory cd src; make
just uncomment the one you want to test in example.py and run it with python3 example.py
Usage
# simple setup
from qdb import Qdb
Qdb(["src/mips32el_hello"], "/usr/mipsel-linux-gnu", rr=True).interactive()
1. commandline-based user interface
- use command
start
and paused at the entry point
2. step-by-step execution
- use command
step
ors
to execute one instruction at a time
3. breakpoints
- use command
breakpoint
orb
to setup a breakpoint, and continue process withcontinue
orc
4. dynamic memory examination
- use command
examine
orx
to read data from memory
5. record and replay
- use command
backward
orp
to step backward from current location - Note:
-
- the address you want to step backward on it must be step-over before
-
- make sure run Qdb with option
rr=True
like the example above
- make sure run Qdb with option
-
Supported architecture for now
- [x] MIPS32
- [x] ARM/THUMB
- [ ] MIPS64
- [ ] ARM64
- [ ] x86/x86-64