2013-07-04 16 views
0

是否可以將已經鏈接的elf文件重定位到另一個地址並更新內部引用?重新定位鏈接程序

例如,將一個靜態鏈接的elf文件鏈接到0x50000,我如何將它移動到0x1000000並更新指針&地址?

回答

2

是否有可能重新定位已鏈接ELF文件到另一個地址

一般:沒有。鏈接器會丟棄重定位記錄,這是更新可執行文件內部引用所需的。

現在,如果你的可執行文件使用的全球數據,並且不採取任何功能,你是一個體繫結構,其中JMP S和CALL s爲pc -relative,那麼它可能是可能的地址只需更新PT_LOAD細分受衆羣和.e_entry即可獲得Elf{32,64}_Ehdr