2
是否可以在不获取源代码的情况下修改Linux中的共享库(.so)?在Linux中修改共享库
我知道LD_PRELOAD,但是对于在共享库本身中使用的函数有用么?
有没有反编译/反汇编,然后重新编译/重组二进制ELF文件的方法?
是否可以在不获取源代码的情况下修改Linux中的共享库(.so)?在Linux中修改共享库
我知道LD_PRELOAD,但是对于在共享库本身中使用的函数有用么?
有没有反编译/反汇编,然后重新编译/重组二进制ELF文件的方法?
即使拥有所有可用的文档,代码和支持,修改应用程序也很困难。试图以二进制形式修改应用程序(大概)没有调试符号,因此没有文档(根据您没有代码的事实来判断)因此是一项艰巨且冒险的工作。
应用程序逆向工程很困难,但可以在给予足够资源,决心,工具和知识的情况下完成:所有这些都取决于具有足够有价值的目标。
不容易,没有。什么库?你想改变什么? – Rup 2010-07-12 09:08:04
一个webkit共享库;) 共享库是webkit的专有构建,但它使用大部分相同的开源函数。 我想要做的是修改一个内部函数。该功能用于在屏幕上呈现文字。我想在发送给framebuffer之前修改文本(用于BiDi)。我可以从开源repo构建相同的库并添加这些修改,但由于它是专有的(这意味着它具有UNopensource修改),我可以进一步看到的唯一方法是二进制修补(如果它支持它,则为LD_PRELOAD)。 – UAE 2010-07-13 12:55:27
顺便说一句,rendertext函数只能在库中调用,不能从外部调用。 – UAE 2010-07-13 12:55:55