dlsym() および dlopen() システムコールのフックを実装する必要があります。フックから元の dlsym() を呼び出すには、この syscall のアドレスを取得する必要があります。so-library-constructor-function でアドレスを取得しようとしています。しかし、フック関数のアドレスしか取得していません。RTLD_NEXTだけでなく、RTLD_DEFAULTもハンドラとして指定してみました。RTLD_DEFAULT を使用すると、NULL が返されます。RTLD_NEXT を使用すると、フック関数のアドレスを取得します。dlopen() dlopen() にフックがあるため、同じ理由で使用できません。
元の dlopen() および dlsym() 関数のアドレスを取得する方法を教えてください。
ありがとう。