我在这里有一个有点奇怪的问题。
有没有办法让exec
程序指定应该加载的虚拟地址?
例子:
a.out
是一个 PIE,有入口点0x460
。
b.out
fork
& exec
,a.out
但告诉它,“嘿,我想让你在 加载.text
部分0x200000
,所以入口点是0x200460
”。
我查看了 POSIXexec
函数系列,ld.so
和ld-linux.so.2
,但没有看到任何可以这样做的东西。
我的直接解决方案是编写我自己的链接器,但如果有什么东西可以让我这样做,那会让我的生活更轻松。
谢谢!