#pwntools常用功能

#pwntools常用功能

1.process

跟一个参数 一个程序的本地路径

2.remote

指定IP和窗口。

3.p64 u64(p32 u32)(p8 u8)

p64(0x12345678)

enhex(p64(0x12345678))

pack打包,unpack。

p64

可以把数字转换成小端法的字符串

u64

把一个小端法的数据解回数字

4.context.binary=

设置当前的上下文。

在当前环境下,需要设置一些常见变量。

用于asm功能。

asm(shellcraft.sh())

binary可以直接把一个程序的路径设给它,会自动根据程序的位数架构平台来设计一些context.arch bits这些。

context.arch,地址等等

5.context.log_level=‘debug’

pwntools在与程序交互过程中有一些不可见字符。这条语句可以把每一次交互的数据以16进制显示,方便调试。

6.send sendline recv recvuntil

#send()

p.send(‘aa’)把数据传送

#sendline()

接受到一个换行符为止

#recv()

接受

#recvuntil()

接收直到

#recvrepeat()

是跟一个数字(一个描述),若超过该描述结束接收。

7.shellcraft.各种

print shellcraft。sh()

8.asm disasm

asm

可以将一段汇编代码编译成对应的机器语言

disasm

可以反编译

disasm(‘0x80')

printf disasm(asm(shellcraft。sh()))

binutils

9.ELF

pwntools提供的一个模块,提供一个文件的路径,它就可以生成一个ELF对象,这个对象就可以很方便地查看它的信息,比如got表,plt表还有一些其他的信息,后面再提怎么查看。

10.Cyclid

一个比较常用的功能。

cyclic 100

生成一百个字符,这一百个字符默认32位字符。每四个字符都是独一无二的。

拿这个字符去当做输入,当它报错的时候,就有四个去覆盖了ESP返回地址,我们再查找这四个字符,就可以定位。64位的要 -c(context 成64 ,help里面有)

cyclic -h

-help的意思,查看相关信息。

11.调试相关

gdb.attach()

pwntools模板

12.pwn template

一个问题,pwn template可以生成一个模板,一个exp的模板。具体再看看。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值