我试图让 read 在程序中返回 0(while 循环中的那个),然后正确执行第二次读取,这可以完美地手动运行,使用CTRL-D
. 但是我想在 pwntools ( p = process("./test")
) 中做同样的事情。我已经尝试发送 eof 字符,p.sendline("\x04")
但没有成功。该程序接受了类似的输入"\x0a\x04"
。p.send()
不会改变任何东西。这是我的测试程序:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
char buf[24];
while(1) {
if(read(0,buf,16)==0) {
break;
}
}
read(0,buf,16);
return 0;
}
我希望任何人都可以帮助我。