设置:
我正在尝试编写即使启用 ASLR 也应该能够在内存中找到结构的代码。遗憾的是,我找不到对这些区域的任何静态引用,所以我猜我必须使用暴力方式并扫描进程内存。我试图做的是扫描应用程序的整个地址空间,但这不起作用,因为某些内存区域未分配,因此SIGSEGV在访问时会产生收益。现在我认为最好getpid()使用 pid 来访问/proc/$PID/maps并尝试从那里解析数据。
但我想知道,是否有更好的方法来识别分配的区域?也许甚至是一种不需要我访问 libc (= getpid, open, close) 或摆弄字符串的方法?