Python 输出上的PwnTools recv(),该输出预期在

Python 输出上的PwnTools recv(),该输出预期在,python,stdout,stdin,pwntools,Python,Stdout,Stdin,Pwntools,嗨,我有一个问题,我似乎找不到任何解决办法。 (也许我只是不擅长用英语正确地表达搜索语句) 我试图使用pwntools从python执行二进制代码,并在自己发送一些输入之前完全读取其输出 我的二进制文件的输出如下: Testmessage1 Testmessage2 Enter input: <binary expects me to input stuff here> 我对stdin和stdout有什么误解吗?第三行的“输入:”不是我在输入之前应该能够接收的输出的一部分吗 提前谢

嗨,我有一个问题,我似乎找不到任何解决办法。 (也许我只是不擅长用英语正确地表达搜索语句)

我试图使用pwntools从python执行二进制代码,并在自己发送一些输入之前完全读取其输出

我的二进制文件的输出如下:

Testmessage1
Testmessage2
Enter input: <binary expects me to input stuff here>
我对stdin和stdout有什么误解吗?第三行的“输入:”不是我在输入之前应该能够接收的输出的一部分吗

提前谢谢

我终于明白了。 我从他那里得到了我需要的暗示

看起来Ubuntu自己在做很多缓冲。 当手动确保pwnTools使用stdin和stdout的伪终端时,它可以工作

从pwn导入*
pty=process.pty
p=过程(标准输入=时间,标准输出=时间)

您可以使用更可靠且可用于远程连接的清洁功能:

例如:

def start():
p=远程(“0.0.0.0”,4000)
返回p
io=开始()
io.发送(b“YYYY”)
io.clean()
io.send(b“ZZZ”)

.recv()
做什么了吗?另外,您是否查看了
.sendlineafter()
。不幸的是,它也被卡住了:(