memory-leaks - 金丝雀泄漏 (scanf("%d", num)
问题描述
我正在为一些关于堆栈金丝雀的缓冲区溢出练习而苦苦挣扎。假设在 main 函数中,我们有一个缓冲区buf
和一个整数num
。
所以在 main 函数内部,它看起来像这样:
char buf[32] = {0};
fflush(stdout);
int num;
scanf("%d", &num)
getchar();
print("%lu", *(unsigned long *)(buf + num));
有什么方法可以让金丝雀泄漏scanf("%d", num)
吗?我一直在网上做一些研究,但我得到的最接近的是,给出一个负数scanf(....
可能会导致内存泄漏(泄漏金丝雀)。但我似乎无法理解这是如何工作的
非常感谢任何帮助我朝着正确方向前进的帮助!!
解决方案
推荐阅读
- python-3.x - 在特定情况下,排序函数 sort() 无法按预期工作
- r - $ Operator is invalid
- angular - getBoundingClientRect 的模拟问题
- python - 如何使用 Python3.6 tarfile 模块从内存中读取?
- javascript - 画布重新绘制卡住(性能问题)
- java - 将 JSON 文件中的字符串数组解析为全局变量,但使用时数组内容为空
- android - (离子/电容器)-> 没有在 Android 设备上构建的 TypeScript 源映射
- reactjs - 如何延迟 CPU 密集型任务以允许渲染发生
- cmake - 如何使用 add_subdirectory() 包含在其他地方构建的输出
- flutter - 防止滑动返回第一页