作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
您的第一个答案是使用 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/
我是一名优秀的程序员,十分优秀!