开始学些pwntools时遇到的第一个问题就是如何调试被测程序。

后来了解到解决方法为:

1、使用proc.pidof(p)函数先将被测函数的PID打印出来;

2、用GDB Attach上去调试即可。

实例代码如下:

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命令如下:

sudo gdb attach 1234