
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에는 커널의 모든 호출이 도달하는 게이트(gate)가 있습니다. 해당 게이트 앞에서 각각의 개별 호출은 미리 정해진 레지스터(X15)에 호출하려는 PPL 함수의 셀렉터를 넣습니다. 제어는 PPL 디스패치로 전달되며, 디스패치는 유효한 함수가 선택되었는지 확인한 후 PPL 함수 테이블로 이동하여 호출합니다. 우리는 디스패치를 찾아 PPL 함수 테이블의 크기와 주소를 추출합니다. 그런 다음 커널 쪽에서 게이트로의 모든 호출을 감지하고 X15에 넣은 PPL 셀렉터를 얻습니다. 각 호출에 대해 PPL 테이블의 함수를 매칭하고, PPL 테이블의 각 함수에 대해 일치하는 모든 커널 호출을 추가합니다.
Cellebrite Labs의 Omer Porzecanski가 제작했습니다.
Cellebrite Labs에 재직 중이던 Ouri Lipner의 pacXplorer를 기반으로 합니다.
OS X 환경의 IDA 8과 A12+ 기기의 iOS 15.X+를 대상으로 개발 및 테스트되었습니다.
여기를 클릭하세요 (원격 인재 환영)