
PPL呼び出しを実際の基盤となるPPL関数に解決するIDAプラグイン。
PPLorer は、PPL 呼び出しを実際の基盤となる PPL 関数に解決する IDA プラグインです。
~/.idapro/plugins/pplorer.py をクローンしたリポジトリ内の pplorer.py にシンボリックリンクします。Edit -> Plugins -> PPLorer -> Analyse IDB を選択しますTL;DR
適切な場所で CTRL-SHIFT-X または Right Click -> Jump to PAC XREFs を実行すると、選択ウィンドウが開きます。
コールサイトから PPL 関数へ
PPL 関数からコールサイトへ

PPL には、カーネルからのすべての呼び出しが到達するゲートがあります。そのゲートの前で、各呼び出しは、呼び出したい PPL 関数のセレクタを所定のレジスタ (X15) に設定します。 制御は PPL ディスパッチに転送され、有効な関数が選択されたことを確認してから、PPL 関数テーブルに移動してそれを呼び出します。 ディスパッチを見つけ、PPL 関数テーブルのサイズとそのアドレスを抽出します。 次に、カーネル側からゲートへのすべての呼び出しを検出し、X15 に設定された PPL セレクタを取得します。 各呼び出しについて、PPL テーブルから関数を照合し、PPL テーブル上の各関数について、一致するすべてのカーネル呼び出しを追加します。
著作者: Cellebrite Labs の Omer Porzecanski。
pacXplorer に基づく (Cellebrite Labs 在籍時の Ouri Lipner 作)。
IDA 8 向けに OS X、iOS 15.X+ の A12+ で開発・テスト済み。
ここをクリック(リモート人材歓迎)