System.map file in Linux is generatied after OS is built. I am wondering whether using a "run-time" address randomization technique would make the addresses within system.map invalid.

有帮助吗?

解决方案

There is not (yet), at least not fully. Only the base address for the kernel code segment is randomizable.

See this LWN article for details / more references.

The method mentioned there basically adds a constant (chosen randomly at boot time) to the kernel code segment load address; this means relative offsets in System.map stay valid, if you've got the real address for a single symbol you can derive all others.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top