【发布时间】:2011-03-14 17:03:15
【问题描述】:
是否可以在不获取源代码的情况下在 Linux 中修改共享库(.so)???
我知道 LD_PRELOAD,但这对在共享库本身中使用的函数有用吗???
有没有办法反编译/反汇编然后重新编译/重新组装二进制 ELF 文件?
【问题讨论】:
-
不容易,不。什么图书馆?你想改变什么?
-
A webkit 共享库 ;) 共享库是 webkit 的专有版本,但它使用大部分相同的开源功能。我想要做的是修改一个内部函数。此函数用于在屏幕上呈现文本。我想在将文本发送到帧缓冲区之前修改文本(用于双向)。我可以从开源 repo 构建相同的库并添加这些修改,但由于它是专有的(这意味着它具有未开源的修改),我可以进一步看到的唯一方法是二进制补丁(或 LD_PRELOAD,如果它支持它)。跨度>
-
顺便提一下,rendertext函数只在库中调用,不对外调用。
标签: linux shared-libraries elf