SharedLibraryを用いたSystemCallのHook¶ dlsym/dlopenを用いた動的なSharedLibraryのLoad undefined symbol: dlsym と怒られる場合は、コンパイル時に-ldlを入れてください。 概要¶ LD_PRELOADを利用すると、shared libの関数をhookできる。 ただし、本来の関数名を他のアドレスに向けてしまうため、処理後に本来の関数をCALLするには、hookした関数内から元の関数を呼び出す必要がある。 この手法を実現するにあたって必要な要素となる、dlsymを使った動的なSharedLibraryのLoad方法について述べる。