実行時に Mac OS プロセス内の関数の参照を、独自のカスタム dylib で定義されたカスタム関数に変更する必要があります。新しい関数シグネチャはオリジナルと同じままにしました。たとえば、「open」関数を「myopen」関数に変更する必要があります。
動的シンボル テーブルと文字列テーブルを取得するために、__LINKEDIT セグメントを処理してみました。次のポインターを使用しました。1. __LINKEDIT セグメントからの VMAddrress、2. 「_dyld_register_func_for_add_image」コールバックからの mach_header および vaddr_slide、3. symtab_command からの symoff および stroff。
しかし、__LINKEDIT セグメントに記載されているシンボル テーブルと文字列テーブルを取得できません。誰かがこれに光を当てることができますか? 前もって感謝します。