开始学些pwntools时遇到的第一个问题就是如何调试被测程序。
后来了解到解决方法为:
1、使用proc.pidof(p)函数先将被测函数的PID打印出来;
2、用GDB Attach上去调试即可。
实例代码如下:
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
|
from
pwn
import
*
import
binascii
elf
=
ELF(
'robot.msm'
)
p
=
process(
'./robot.msm'
)
libc
=
ELF(
'libc.so.6'
)
#p = remote('127.0.0.1',10001)
got_write
=
elf.got[
'write'
]
got_read
=
elf.got[
'read'
]
main
=
0x4008D8
bss_addr
=
0x601070
off_system_addr
=
libc.symbols[
'write'
]
-
libc.symbols[
'system'
]
print
"pid "
+
str
(proc.pidof(p))
raw_input
(
"attach me"
)
|
ubuntu 14上GDB Attach命令如下:
1
|
sudo
gdb attach 1234
|
本文转自fatshi51CTO博客,原文链接: http://blog.51cto.com/duallay/1875349,如需转载请自行联系原作者