在CTF pwn中利用pwntools发送EOF标志使得read没有读取任何字符后返回0:
from pwn import *import ttyfile = './test'sh = process(file, stdin=PTY, raw=False)ru("input>")sh.send(chr(tty.CEOF))#发送EOF标志sh.clean()#清空缓冲区#此时可以让read得到返回值0#但是这种方法有一问题,就是虽然之后的read还能正常进行,但是read会被换行符截断,这也导致了2021美团CTF的blind不能被正常解出来;