2012-01-20 60 views
6

在Windows上,创建“代理DLL”代替原始DLL并转发呼叫(根据需要执行任何其他操作后)或多或少是常见的。例如,您可以阅读有关它herehereELF的代理共享库(sharedlib,shlib,so)?

然而,Linux下的shlib消耗文化是完全不同的。首先是LD_PRELOAD是Linux下的ld.so内置功能,它简单地将单独的shlib注入进程,并使用它定义的任何符号作为覆盖。而这种“注入”技术似乎定义了整个思维方向 - 这里是a typical ELF hacking toolthis question,其中绅士似乎与我具有相同的用例,但开始时询问他如何修补现有的二进制文件。

不,谢谢。我不想注入或修改一些不属于我的东西。我想要做的就是制作一个独立的代理shlib,它将向原始代码发出呼叫。理想情况下,将会有一个工具可以用原始的.so文件来创建,并创建一个C源代码,它将重定向到原来的功能,同时让我轻松地覆盖任何我想要的东西。那么,这样的工具在哪里? ;-) 谢谢。

回答

0

apitrace是一个工具,它涵盖了许多平台的图形库(OpenGL,DirectX)调用的详细跟踪。这对于通用解决方案来说可能过于详细和复杂,但至少可以提供一些参考和亲和力。

相关问题