对pwnlibc的学习一

pwnlibc.asm

————汇编函数
组装和拆卸代码

组装:

去组装代码,可以简单地调用asm()组装代码。

>>>asm('mov eax , 0')

asm()也用于组装shellcode(提供的pwntools在shellcraft的模块)

>>> asm(shellcraft.nop())

拆卸

pwnlib.asm.asm(代码,vma=0,提取=True,共享=False,…)→str

运行cpp()在给定shellcode然后组装字节。
架构和操作系统支持,看看 pwnlib.contex.
组装shellcode要求安装GNU汇编为目标架构。看到 安装Binutils为更多的信息。
参数:shellcode (str)——汇编代码组装。
vma(int)——虚拟内存地址开始组装
extract(bool)- - -从装配中提取原始组装字节文件。如果 False返回一个ELF文件的路径,组装嵌入。
shared(bool)- - -创建一个共享对象。
kwargs (dict)——任何属性 context可以设置,e.g.set arch=‘arm’.

例子:

>>>  cpp("mov al, SYS_setresuid",arch="i386",os="linux")'mov al, 164\n'>>> cpp("weee SYS_setresuid",arch="arm",os="linux")'weee (0+164)\n'>>> cpp("SYS_setresuid",arch="thumb",os="linux")'(0+164)\n'>>> cpp("SYS_setresuid",os="freebsd")'311\n'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值