1

呼び出し元に基づいて動作を変更する必要があるいくつかの C 関数を含むスタティック ライブラリの目的 c があります。https://opensource.apple.com/source/dyld/dyld-210.2.3/include/mach-o/dyld-interposing.hを調べたところ、基本的に C 関数を「スウィズル」するために使用できることがわかりました。

私の質問は - dyld_interpose は、挿入コードを含むすべてのライブラリ/フレームワークで C 関数も挿入しますか?

例えば。

Library1 - C関数を持っていた

void foo(int bar) {
...
}

Library2 - 挿入コードがあります。Library1に依存

void my_foo(int bar) {
...
}

DYLD_INTERPOSE(my_foo, foo);

Library1 と Library2 の両方に依存する Library3 も挿入されますか? アプリケーションに添付されている場合はどうなりますか?フレームワークで動作させることに成功しました。

4

0 に答える 0