我有一个 ELF
共享对象,我想修改它,以便对系统函数 memcpy
的调用实际上路由到 的自定义版本memcpy
.
我一直在研究并阅读了有关 PLT
重定向和 ELF
感染的信息,但我仍然不确定如何实现我的目标。
谁能给我一些提示和技巧,或者详细说明 PLT
重定向和 ELF
感染?
问候,
保罗
最佳答案
当您链接可执行文件时,您是否尝试过对 ld 使用 -wrap
选项?它应该重定向符号,以便所有对原始函数的调用(包括库中的函数)都将转到您的替换项。
参见 this example .
[编辑:上面的评论者正确地指出,如果库内联调用 memcpy,除了重建库之外别无他法。]
关于linux - 如何重新映射符号以调用不同的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3608689/