いくつかの libc 関数 (例: puts()
) を独自の実装でオーバーライドしようとしています。
次のように、dylib ファイルに独自の実装を定義しました。
int puts ( const char * str );
Xcode でバイナリを dylib ファイルにリンクしてビルドすると、オーバーライドされたバージョンが呼び出されます。
ただし、バイナリに dylib を挿入すると、オーバーライドされたバージョンが呼び出されないことがわかります。dylib のエントリ ポイントに何かを記録することで、dylib がロードされていることを確認しました。
ここで誰かが、オーバーライドされたバージョンを呼び出すために何をする必要があるかを教えてもらえますか?