linux dlopen我可以在进程中调用dlopen()时在我的库中获得通知吗?

时间:2012-04-20 10:20:51

标签: linux process wrapper dlopen

我可以在一个进程中获取我的库中的通知,只要在linux上使用dlopen()函数从同一进程中的任何其他库加载任何新库吗? 感谢。

2 个答案:

答案 0 :(得分:1)

构建library interposer,设置dlopen()

  

通过动态链接,您可以拦截应用程序对任何共享库进行的任何函数调用。拦截后,您可以在该功能中执行任何操作,并调用应用程序最初打算调用的实际功能。

答案 1 :(得分:1)

查看rtld-audit - 动态链接器的审核API。

http://man7.org/linux/man-pages/man7/rtld-audit.7.html

您应该构建具有特定功能的共享库,并且应该通知您不同的事件。拥有库后,您需要将LD_AUDIT设置为共享库。