こんにちは、解決策が見つからないように見える問題があります。(たぶん、私は英語で検索を正しく表現するのが苦手なのかもしれません)
pwntools を使用して python からバイナリを実行し、自分で入力を送信する前にその出力を完全に読み取ろうとしています。
私のバイナリからの出力は次のとおりです。
Testmessage1
Testmessage2
Enter input: <binary expects me to input stuff here>
最初の行、2 行目、および 3 行目の出力部分 (「:」が最後の文字) を読みたい場所。
出力の 3 行目は、最後に改行が含まれておらず、ユーザーが直接入力する必要があります。しかし、3行目から始まる出力内容がどう見ても読めません。
これを達成しようとする私の現在の方法:
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 について誤解していませんか? 3 行目の「入力を入力してください:」は、入力を行う前に受け取ることができるはずの出力の一部ではありませんか?
前もって感謝します