Il developer grimdoomer ha da poco pubblicato alcuni script IDA python per aiutare nel reverse engineering degli eseguibili PS2. Questi script etichettano le syscall EE nelle immagini del kernel/eseguibili di gioco e le importazioni/esportazioni nei moduli IOP.
Questi script sono scritti per IDA 7.0 e possono essere caricati in IDA tramite il comando “File->Script file”. Di seguito una sintesi degli script disponibili e delle loro funzioni:
LabelKernelSyscalls.py
:- Questo script viene utilizzato per etichettare la tabella delle syscall in un eseguibile kernel EE.
- È particolarmente utile per eseguire un’analisi iniziale di un’immagine del kernel EE.
- L’immagine del kernel deve essere caricata all’indirizzo 0x80000000.
LabelExecutableSyscalls.py
:- Questo script etichetta gli stub delle syscall in un eseguibile EE in modalità utente (gioco, app, homebrew, ecc..).
LabelIOPImports.py
:- Questo script etichetta le tabelle di importazione ed esportazione nei moduli IOP.
- Tutti i nomi delle funzioni sono estratti dai file JSON corrispondenti nella directory IOP.
- Ogni file JSON contiene un numero di versione e un elenco di esportazioni del modulo per quella versione del modulo.
- Le funzioni verranno etichettate purché il numero di versione nel file JSON sia maggiore o uguale al numero di versione nella tabella di importazione/esportazione.
- L’insieme iniziale di file JSON è stato creato tramite scraping del repository ps2sdk per i file di definizione dei moduli.
- Si preferisce utilizzare i nomi delle funzioni Sony quando possibile anziché i nomi della comunità.
Download: Source code IDAPy-PS2
Fonte: twitter.com