@​​TOC​

0x0 安装

sudo pip install pwntools

0x1 导入包

from pwn import*

0x2 链接远程服务器或者链接本地文件

远程
r = remote(‘目的IP或目标URL’,目标端口号)
本地
r = process('./文件名')

0x3 接收远端回传的数据

interactive()  //在取得shell之后使用,直接进行交互,相当于回到shell的模式
recv(numb = 字节大小,timeout = default) //接收指定字节数
recall() //一直接收知道达到文件EOF
recvline(keepends = True)接收一行,keepends为是否保留行尾的\n
recvuntil(delims,drop = False)一直读到delims的pattern出现为止
recvrepeat(timeout=default)持续接收世道EOF或timeout

0x4 向远端发送数据

send(data)发送数据
sendline(data)发送一行数据,相当于在数据末尾+ \n

0x5 设置运行时变量

context(arch='',os = '', log_level = 'debug')

0x6 格式转换

p32() 数字转换为字符串
u32() 字符串转换为数字

0x7 cyclic

cyclic 需要的长度
cyclic -l 异常的地点

0x8 ELF 操作ELF文件的工具

elf = ELF('pwn')
hex(elf.address)
hex(elf.symbols['write']
hex(elf.got['write'])
hex(elf.plt['write'])