Basic way to start reverse engineering and exploitation
Load program into gdb
gdb <program_path> <core_path>
Load program and core dump into gdb
Set break point at the current location
break if <condition>
Set break point here that triggers if certain condition is met
Set break point at given code location
break <code_location> if <condition>
Set break point at given code location that triggers if given condition is met
works exactly like break but it is hardware assisted breakpoints
List all breakpoints and their associated num
Delete all break points
Delete breakpoint given its number
Enable breakpoint given its number
Disable breakpoint given its number
*function_name + offset
move offset bytes from function_name
pointer evaluated from the math expression
Run the loaded program
Run loaded program with given arguments
Attach debugger to given process
Next line of source code
Same as next but will dive into calls
Next assembly instruction
same as nexti but will dive into calls
Continue till first ret instruction
Continue till next breakpoint
Print current backtrace
Disassemble given function
Evaluate expression and print it in given format
Same as print however it keeps executing after each step instruction
List all auto-display expressions and their numbers
enable display <num>
Enable display given its number
disable display <num>
Disable display given its number
n: How many units to print (default 1).
f: Format character (like "print").
u: Unit. Unit is one of:
h: Half-word (two bytes)
w: Word (four bytes)
g: Giant word (eight bytes).
Floating point number
List loaded shared libraries
info proc mappings
list of mapped memory regions.
Help Us Go Positive!
We offset our carbon usage with Ecologi. Click the link below to help us!