gdb 常用命令

GDB 常用命令指南

1. GDB

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# 启动调试程序,其中带有传入的参数
run <args>

# 重复上一条指令
按下[Enter]键

# 单步步过
ni

# 单步步入
si

# 执行到返回
fini

# 直接返回(几乎不用)
return (ret)

# 查看所有设置的端点
info break (info b)

# 删除端点
del <break num>

# 查看某个寄存器的值
p $rdi

# 设置某个寄存器的值
set $rdx = 0x10

# 设置内存上某个地址的值
set {int}0x83040 = 4

# 查看栈上的值
# 传入的参数为显示的栈数据个数
stack 20

# 在某个地址上下断点(无参数时默认在$rip处下断)
b *0x400123

# 输出got表相关信息
got

# 输出某个函数在libc上的地址
print system

# 开启/关闭ASLR
aslr off

# 显示当前进程空间内存分布
vmmap

# 显示内存上的值
# d 按十进制格式显示变量。
# u 按十六进制格式显示无符号整型。
# o 按八进制格式显示变量。
# t 按二进制格式显示变量。
# a 按十六进制格式显示变量。
# c 按字符格式显示变量。
# f 按浮点数格式显示变量。
x/3uh 0x54320 # 以地址0x54320为起始地址,返回3个单元的值,每个单元有两个字节,输出格式为无符号十六进制。

2. Pwndbg

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 针对PIE程序高效下断
b * $rebase(offset)

# 显示当前堆内chunks
heap

# 显示bins
bins

# 显示main_arena
p main_arena

# 显示canary
canary

# 显示堆的布局
vis_heap_chunks

3. Peda

1
2
3
4
5
# 栈溢出时,计算当前栈帧的高度
# 生成特殊字符串
pattern create 70
# 计算相对偏移(传入的address为$rip出错地址)
pattern offset address
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2020-2021 Kiprey
  • 访问人数: | 浏览次数:

请我喝杯奶茶吧~