我需要为dlsym()和dlopen()系统调用实现钩子。为了从钩子调用原始的dlsym(),我需要获取这个系统调用的地址。我尝试在so-library-constructor-function中获取地址。但我只得到钩子函数的地址。我试图指定为RTLD_DEFAULT的处理程序,以及RTLD_NEXT。使用RTLD_DEFAULT时,我得到NULL。使用RTLD_NEXT时,我得到了钩子函数的地址。 dlopen()我不能用于同样的原因,因为我在dlopen()上有钩子。
请告诉我,我怎样才能获得原始dlopen()和dlsym()函数的地址?
感谢。