Mach-O バイナリの DATA セグメントには、objective-C 固有のセクションがいくつかあります ( Mach-O ファイル形式の 7 ページに記載されています) 。
PiOSの論文を引用するには:
__objc_classlist セクションには、分析されたバイナリに実装が存在するすべてのクラス (つまり、開発者によって実装された、または静的リンカーによって含まれたすべてのクラス) のリストが含まれます。
と
一方、__objc_classref セクションには、アプリケーションで使用されるすべてのクラスへの参照が含まれています。これらのクラスの実装は、バイナリ自体に含まれている必要はありませんが、ランタイム フレームワーク (動的にリンクされたライブラリに相当) によって提供される場合があります。
これらの構造のレイアウトは、Objective C ランタイム ヘッダー (ここで入手可能) から入手できると述べています。
__objc_classref
および__objc_classlist
セクションの実際の構造は何ですか?
前もって感謝します。