密码学交互题必备:win版sagemath安装pwn库失败?试试Pwn4Sage库

一、使用Pwn4Sage库原因

在当下的ctf密码学题目里面难题很多都是采用交互的形式来获取有关值,一般用到的都是pwn库。

我所使用的sage主要放在window上面因为下载的时候比较方便。但是,在安装pwn库的时候,因为一些依赖项在Cygwin环境中无法正确构建无法安装,主要问题出在`unicorn`、`bcrypt`和`cryptography`。又不想手动安装一些依赖,便找到了这款在win环境下面的pwn的平替库Pwn4Sage。

二、安装方法

在你的SageMath Shell里面输入

pip install Pwn4Sage

在此,我已完成安装所以出现以上截图

三、Pwn4Sage介绍和使用方法介绍

1.平替pwn

在我个人看来Pwn4Sage是pwn的win版sage平替库,我将

from pwn.all import *

直接替换成为

from Pwn4Sage.pwn import *

运行代码下来看也是没有什么问题。

pypi官网上面介绍的是"还有bug, 不建议在比赛中使用",可能也有不成熟的地方在。

Pwn4Sage · PyPI

2.主要用法

1.send(msg)

  • 作用:发送一条消息 msg 到远程服务。

  • 用法:conn.send(b"Hello, World!")

2.sendline(msg)

  • 作用:发送一条消息 msg 到远程服务,并在末尾添加换行符 \n

  • 用法:conn.sendline(b"Hello, World!")

3.recv(num)

  • 作用:从远程服务接收指定数量 num 的字节数据。

  • 用法:data = conn.recv(1024)

4.recvuntil(msg)

  • 作用:接收数据直到遇到指定的消息 msg

  • 用法:data = conn.recvuntil(b"Enter your choice: ")

5.recvline()

  • 作用:接收一行数据,直到遇到换行符 \n

  • 用法:line = conn.recvline()

6.recvline_contains(key_words)

  • 作用:接收一行数据,直到遇到包含指定关键字 key_words 的行。

  • 用法:line = conn.recvline_contains(b"flag")

7.sendafter(delim, data, timeout=None)

  • 作用:等待接收到指定的分隔符 delim 后,再发送数据 data,可以设置超时时间 timeout

  • 用法:conn.sendafter(b"Password: ", b"my_secret_password")

8.interactive()

  • 作用:启动一个交互模式,可以手动与远程服务进行交互。

  • 用法:conn.interactive()

9.close()

  • 作用:关闭与远程服务的连接。

  • 用法:conn.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值