【问题标题】:Modifying Shared Libraries in Linux在 Linux 中修改共享库
【发布时间】:2011-03-14 17:03:15
【问题描述】:

是否可以在不获取源代码的情况下在 Linux 中修改共享库(.so)???

我知道 LD_PRELOAD,但这对在共享库本身中使用的函数有用吗???

有没有办法反编译/反汇编然后重新编译/重新组装二进制 ELF 文件?

【问题讨论】:

  • 不容易,不。什么图书馆?你想改变什么?
  • A webkit 共享库 ;) 共享库是 webkit 的专有版本,但它使用大部分相同的开源功能。我想要做的是修改一个内部函数。此函数用于在屏幕上呈现文本。我想在将文本发送到帧缓冲区之前修改文本(用于双向)。我可以从开源 repo 构建相同的库并添加这些修改,但由于它是专有的(这意味着它具有未开源的修改),我可以进一步看到的唯一方法是二进制补丁(或 LD_PRELOAD,如果它支持它)。跨度>
  • 顺便提一下,rendertext函数只在库中调用,不对外调用。

标签: linux shared-libraries elf


【解决方案1】:

即使有所有可用的文档、代码和支持,也很难正确地修改应用程序。尝试以二进制形式修改应用程序,(大概)没有调试符号,没有文档(根据您没有代码的事实判断)因此是一项更加艰巨和冒险的工作。

应用逆向工程很困难,但只要有足够的资源、决心、工具和知识就可以完成:所有这一切都取决于有一个足够有价值的目标。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-25
    • 1970-01-01
    • 2011-01-06
    • 2015-11-02
    • 1970-01-01
    相关资源
    最近更新 更多