我可以在一个进程中获取我的库中的通知,只要在linux上使用dlopen()函数从同一进程中的任何其他库加载任何新库吗? 感谢。
答案 0 :(得分:1)
构建library interposer,设置dlopen()
。
通过动态链接,您可以拦截应用程序对任何共享库进行的任何函数调用。拦截后,您可以在该功能中执行任何操作,并调用应用程序最初打算调用的实际功能。
答案 1 :(得分:1)
查看rtld-audit - 动态链接器的审核API。
http://man7.org/linux/man-pages/man7/rtld-audit.7.html
您应该构建具有特定功能的共享库,并且应该通知您不同的事件。拥有库后,您需要将LD_AUDIT设置为共享库。