PS5-Hacking: PS5-Elf-Loader für IDA, von flat_z
In der PS5-Szene haben sich die Dinge rasant entwickelt. Ein paar Tage, nachdem wir begonnen haben, Bibliotheksdatei-Dumps für die PS5 zu sehen, hat Entwickler flat_z gerade ein IDA-Plugin freigegeben, um PS5-Elf-Dateien (PS5-Binärdateien) für Reverse-Engineering-Zwecke zu laden.
Was ist das IDA PS5 .elf-Plug-in
IDA (Interactive DIsassembler) ist eine beliebte Software, die zum Reverse Engineering von ausführbaren Dateien/Binärdateien für mehrere Plattformen verwendet wird. IDA ist unter Hobbyisten sehr beliebt, zum Teil, weil es auf einer interessanten „Freemium“-Prämisse läuft: Ältere Versionen des Tools sind Freeware, während die neuesten und besten kommerziell sind.
Die neueste Freeware-Version von IDA kann von der offiziellen Website heruntergeladen werden . Technisch gesehen ist das jedoch Version 7.7, während dieses von flat_z veröffentlichte Plugin für Version 7.5 ist, also müssen Sie dieses möglicherweise ausgraben, wenn Sie auf Inkompatibilitäten stoßen.
Mit IDA können Sie Binärdateien von mehreren Plattformen disassemblieren und das Hinzufügen neuer Plattformen durch Plugins unterstützen, und genau darum geht es in dieser Version.
Mit anderen Worten, wenn Sie zufällig PS5 4.03 Elf-Dateien herumliegen haben, sollte dieses Plugin Ihnen helfen, sie zurückzuentwickeln und nach potenziellen Schwachstellen in der PS5-Firmware zu suchen.
So verwenden Sie das IDA-PS5-Plugin:
Aus der Readme:
Anweisungen
- Legen Sie alle Dateien in die entsprechenden Verzeichnisse ab, indem Sie die Struktur dieses Verzeichnisses beibehalten.
- Verwenden Sie
64-bit IDA
und Standard-ELF64 for x86-64 (Unknown) [elf64.dll]
beim Laden.elf
/.prx
-Datei. - Wenden Sie alle Kerneloptionen an, die Sie normalerweise verwenden.
- Wenn Sie die Warnung
Unsupported or unknown image type
sehen, drücken SieYes
und ignorieren Sie sie. - Warten Sie, bis das Plugin seine eigene Arbeit abgeschlossen hat. Ich verwende viele Heuristiken, um viele nützliche Informationen in der .elf-Datei zu finden, also haben Sie bitte etwas Geduld.
- Ignorieren Sie alle möglichen Warnungen, die während der Verarbeitung auftreten können. Einige Strukturen erhalten Updates von einer SDK-Version auf eine andere, was ebenfalls zu Warnungen führen kann, bis sie vollständig unterstützt werden.
- Wenn Sie neue Symbole hinzufügen oder vorhandene bearbeiten möchten, aktualisieren Sie optional die Dateien
cfg/ps5_symbols.txt
undtil/prospero.til
prospero.til.
Bekannte Fehler
- Einige Strukturen müssen aktualisiert werden, z. B. sceProcessParam, um mehr Felder widerzuspiegeln, die möglicherweise benötigt werden.
- Ausnahmebehandlungsabschnitte müssen ordnungsgemäß analysiert werden, da ihr Format seit PS4 geändert wurde. Könnte nützlich sein, um Funktionsgrenzen noch weiter zu optimieren.
PS PRs mit Fehlerbehebungen und Verbesserungen sind willkommen.
Laden Sie das IDA-PS5-Elf-Plugin herunter
Sie können die erforderlichen Dateien hier vom Github von flat_z herunterladen .
Quelle: flat_z