有没有一种方法可以向使用的 scanf 发出非 ascii 十六进制字符%s
?我正在尝试插入十六进制字符,例如\x08\xDE\xAD
等等(以演示缓冲区溢出)。
输入不是命令行参数,而是程序内的 scanf。
我假设您想在标准输入上提供任意数据(因为您使用scanf
).
您可以使用 shell 创建数据并将其通过管道传输到您的程序中,例如
printf '\x08\xDE\xAD' | yourprogram
请注意,只有在没有要输入的空白字符的情况下,这才有效(因为scanf
with a %s
格式在空白处停止)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)