2010-08-31 49 views
3

我有一個ELF共享對象,我想對其進行修改,以便系統函數memcpy的調用實際上路由到memcpy的自定義版本。如何重新映射一個符號來調用不同的函數

我一直研究和我看了一下PLT重定向和ELF感染,但即時通訊仍然不知道如何,我可以完成我的目標

任何人都可以給我一些暗示和提示,或詳細闡述PLT重定向和ELF感染

問候

保羅

+1

注意的memcpy()可以是本徵(內聯)在這個.so因此不能被替換。 – blaze 2010-08-31 12:38:45

回答

1

你有沒有嘗試過的-wrap選項,當你鏈接您的可執行文件到LD?它應該重定向該符號,以便對原始函數的所有調用(包括庫中的那些函數)將進入替換。

參見this example

[編輯:以上評論者是指出,如果內聯調用庫memcpy的,你有沒有追索短重建庫的正確]