arena
用法: arena [-h] [addr]
打印main arena或特定地址的arena。
arenas
用法: arenas [-h]
打印所有的arena。
bins
用法: bins [-h] [addr] [tcache_addr]
打印所有main_arena或者指定地址中的bins信息,包括tcachebins、fastbins、unsortedbin、smallbins和largebins。
heap
用法: heap [-h] [addr]
打印从指定地址(addr)开始块的信息。
fastbins
用法: fastbins [-h] [addr] [verbose]
打印main arena或者指定地址的fastbins。
find_fake_fast
用法: find_fake_fast [-h] addr size
查找与指定地址重叠的候选fake fast块。用于fastbin dups和house of spirit。
largebins
用法: largebins [-h] [addr] [verbose]
打印main arena或指定地址的largebins信息。
malloc_chunk
用法: malloc_chunk [-h] [addr] [fake]
打印指定地址的malloc_chunk。如果这个chunk是一个fake chunk,则使用fake
选项(默认: False)。
mp
用法: mp [-h]
打印glibc中的mp_结构。
smallbins
用法: smallbins [-h] [addr] [verbose]
打印main arena或指定地址的smallbins信息。
tcache
用法: tcache [-h] [addr]
打印malloc线程缓存信息。
tcachebins
用法: tcachebins [-h] [addr] [verbose]
打印当前线程tcache或指定地址tcache中的bins信息。verbose
选项用于是否显示更多细节(默认: False)。
top_chunk
用法: top_chunk [-h] [addr]
打印main arena或指定地址的top chunk地址。
unsortedbin
用法: unsortedbin [-h] [addr] [verbose]
打印main arena或指定地址的unsorted bin内容。verbose
选项用于是否显示更多细节(默认: True)。
vis_heap_chunks
用法: vis_heap_chunks [-h] [--naive] [count] [address]
可视化指定地址的heap块。
count
: 要可视化的块数(默认: 10)address
: 起始地址
觉得有用的几个命令
da/ds
用法: da [-h] address [max]
打印指定地址的字符串。max
是最大字符串长度(默认: 256)。
dds
用法: dds [-h] addr
打印指定地址的指针和符号。
bl
用法: bl
列出断点。
u
用法: u [-h] [where] [n]
从指定地址(where)开始反汇编N条指令。
k
用法: k [-h]
打印回溯(别名 ‘bt’)。
ln
用法: ln [-h] [address]
列出最接近提供地址的符号。
nextjump
用法: nextjmp [-h]
在下一个跳转指令处设置断点。类似的命令还有nextcall、nextret、nextsyscall、nextproginstr。
entry
用法: entry [-h] [args [args ...]]
在目标二进制文件的第一个执行指令处设置断点。args
是要运行的程序名。
j
用法: j [-h]
将IDA的光标与GDB同步。
main
用法: main [-h]
先start
再main
到main函数。
sstart
从__libc_start_main
开始。
libs
显示各种模块映射和地址,相当于cat /proc/pid_of_program/maps
。
elfheader
打印elf文件的段映射。
got命令
用法: got [-h] [name_filter]
不加参数则打印所有函数的got信息,否则打印指定函数的got信息。
plt
打印plt信息。
gotplt
打印.got.plt
中的信息。
auxv
打印辅助ELF向量的信息。
xinfo
用法: xinfo [-h] [address]
显示指定地址到其他有用位置的偏移。
xuntil
用法: xuntil [-h] target
继续执行程序,直到在目标函数或地址处暂停。
regs
用法: regs [-h] [regs [regs ...]]
打印所有寄存器并增强信息。
search
用法: search [-h] [-t {byte,short,word,dword,qword,pointer,string,bytes}] [-1] [-2] [-4] [-8] [-p] [-x] [-s] [-e] [-w] [--save] [--no-save] [-n] value [mapping_name]
在内存中搜索字节序列、字符串、指针和整数值。
hexdump
用法: hexdump [-h] [address] [count]
以16进制形式展示指定地址处的内容。
piebase
展示PIE地址。
dumpargs
用法: dumpargs [-h] [-f]
展示函数调用参数。
distance
用法: distance [-h] a b
打印两个参数之间的距离。