Привет У меня есть проблема, для которой я не могу найти решение. (Может быть, я просто ужасен в правильной формулировке запросов на английском)
Я пытаюсь выполнить двоичный файл из python, используя pwntools, и полностью прочитать его вывод перед отправкой некоторого ввода самостоятельно.
вывод из моего двоичного файла выглядит следующим образом:
Testmessage1
Testmessage2
Enter input: <binary expects me to input stuff here>
Где я хотел бы прочитать первую строку, вторую строку и часть вывода третьей строки (с последним символом ':').
Третья строка вывода не содержит символа новой строки в конце и ожидает, что пользователь сделает ввод напрямую. Однако я не могу прочитать содержимое вывода, с которого начинается третья строка, независимо от того, что я пытаюсь.
Мой нынешний способ добиться этого:
from pwn import *
io = process("./testbin")
print io.recvline()
print io.recvline()
print io.recvuntil(":", timeout=1) # this get's stuck if I dont use a timeout
...
# maybe sending data here
# io.send(....)
io.close()
ВыполнитьЯ что-то не так понимаю о stdin и stdout? Разве «Enter input:» третьей строки не является частью вывода, который я должен быть в состоянии получить до ввода?
Заранее спасибо