我正在使用 IDA Pro 在 Linux 上编写二进制文件的漏洞利用程序。这个二进制文件首先使用 getchar() 接受输入,然后在几个代码部分之后,它通过 stdin 接受缓冲区作为输入,并使用 read() 函数读取输入。然后使用 memcpy() 将此缓冲区复制到另一个内存区域,这会导致崩溃。
现在,我想自动将输入传递给程序,这样我就不必在交互模式下传递这些值。
通常,我会做这样的事情:
./linux_server 二进制文件 < 数据
其中 data 包含要提供给程序的输入。这会处理第一个 getchar() 函数并从数据文件读取输入。但是,下一个 read() 函数不会从 stdin 读取任何内容,因为我认为输入已经由 getchar() 函数处理了。
如何在不手动交互的情况下自动将多个输入传递给程序?
谢谢。