【发布时间】:2020-05-06 03:54:49
【问题描述】:
我正在构建非常小的测试程序,我想让程序每次都访问相同的内存地址(我知道这不是一个好习惯)来模拟一些行为。我怎样才能在程序中选择一个内存地址来硬编码并尝试一下?有没有办法查看未使用的内存地址块并阻止它们?
我完全理解这可能会造成不必要的条件/情况。
【问题讨论】:
-
在嵌入式系统上,这可能是正常的,外围设备可能是内存映射和可访问的。在 PC 上,由于旨在阻止攻击者的“地址空间随机化”,您不会每次都获得相同的地址空间。
-
使用内存映射文件怎么样? (mmap) 就像stackoverflow.com/questions/29210851/… 一样?每次重新启动程序时,您都使用保存在文件中的值而不是重置值
-
我建议您使用静态数组或
malloc分配一块内存,并使用指向该空间内固定偏移量的指针。
标签: c memory-address