输入非ASCII字符到scanf("%s")

asu*_*hak 6 c format scanf buffer-overflow

有没有办法可以向使用的scanf发出非ascii十六进制字符%s?我正在尝试插入十六进制字符\x08\xDE\xAD等等(以演示缓冲区溢出).

输入不是命令行参数,而是程序内的scanf.

Jon*_*ler 1

当您说“to a scanf()”时,可能除此之外还需要提供其他数据。让一个程序(可能是 Perl 或 Python 脚本)生成数据并将非 ASCII 字符写入程序的标准输入是否可行?如果您需要标准输入看起来像终端,那么您应该调查expect哪个为您处理该输入。这是处理该问题的常见方法。