gpt4 book ai didi

buffer-overflow - 如何将没有对应 ASCII 的十六进制字符作为输入传递给 C 程序

转载 作者:行者123 更新时间:2023-11-30 16:57:28 25 4
gpt4 key购买 nike

您的第一个答案是使用 perl 或 python 并将输入通过管道传输到 C 程序,但不幸的是我想要输入的变量没有从 C 程序的参数中获取值,而是以交互方式提示用户输入一个值。

我的缓冲区大小为 8 字节,任何超过 8 字节的内容都会覆盖前一个变量 [这正是我想要的],并且我希望该变量被值 1335 覆盖。要覆盖的变量是b,是int类型。因此,将 1335 转换为十六进制得到 537,我必须用 8 个 a 覆盖缓冲区,然后用十六进制 37、05、00 和 00 覆盖。要用这些值覆盖,我应该给出与 37、05 和 00 相对应的 ASCII用户输入。由于 ASCII 中的 05 和 00 是控制字符,因此我无法使用键盘输入相同的内容。有没有办法将这些值的 ASCII 输入到用户输入中?

桌面:Ubuntu 16.04

最佳答案

要以编程方式解决该问题,您可以使用 expect在 shell 脚本中。

关于buffer-overflow - 如何将没有对应 ASCII 的十六进制字符作为输入传递给 C 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39505609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com