假设./your_elf_program已经运行了,payload字节数组包含不可见字符,无法进行utf8编码,这个时候怎么输入?
如果 ./your_elf_program 已经在运行,并且你需要发送包含不可见字符的 payload 字节数组,你不能直接通过常规的命令行输入,因为终端不支持非 UTF-8 编码的数据输入。在这种情况下,你可以考虑以下几种方法:
-  使用 Python 脚本: 
 如果你可以与程序的标准输入进行交互,可以编写一个 Python 脚本来发送这些字节。例如,如果你在一个 shell 中运行你的程序,并且它正在等待输入,你可以尝试以下命令:python -c 'import sys; sys.stdout.buffer.write(b"\x00\x01\x02...")'然后将这个命令的输出重定向到程序的输入中。你可以使用管道( |)或者进程替换(<())来完成这个操作。
-  使用 GDB: 
 如果你的程序已经在运行,并且你可以使用 GDB 附加到进程,那么你可以使用 GDB 来修改内存或者调用函数来发送你的 payload。通过 GDB,你可以在适当的时间点停止程序的执行,然后使用call命令调用如write的函数来发送你的 payload。
-  使用 pwntools:
 如