Ps5-self-decrypter

Cryptogenic Cryptogenic
Dépôt créer le : 09/09/2023
Forks: 21 Watcher: 0 60
Choisir une liste...
FR

Décrypteur d'ELF PS5

Une charge utile qui utilise la lecture/écriture arbitraire du noyau pour déchiffrer les ELFs signés (SELFs) à partir du système de fichiers et dump the ELFs en texte simple vers le lecteur USB.

Annexe

  • Remplacer PC_IP et PC_PORT macros sur les lignes 24-25 avec l'IP/port de votre serveur TCP
    • Il est recommandé d'utiliser l'enregistrement pour savoir jusqu'où la charge utile a progressé ou si elle est bloquée
  • Branchez le lecteur USB compatible dans PS5 avec au moins 1 Go d'espace libre avant de courir
  • Les fichiers seront rejetés à [USB root]/PS5/
  • Doit supporter 3.xx-4.xx, mais pas testé sur tous les firmwares (ouvrir un problème pour tout problème)
  • Actuellement, la charge utile suppose l'état pré-jailbroken (c.-à-d. évadé bac à sable), ajouter le code jailbreak ici est un TODO
  • Si vous remarquez que l'activité de log s'est arrêtée pendant plus d'une minute, le PS5 a été coupé par le bouton d'alimentation pour trois bips. et redémarrez la console et exécutez à nouveau
  • La console peut paniquer au milieu des fichiers de dumping, c'est bien, redémarrer la console et courir à nouveau
    • La charge utile reprendra là où elle s'est arrêtée et continuera de déverser là où elle a été arrêtée précédemment.
  • Des améliorations pour réduire la charge utile sont les bienvenues

TODO

  • [ ] Ajouter du code pour échapper au bac à sable au cas où l'environnement ne serait pas déjà en prison
  • [ ] Mieux verrouiller l'accès aux données partagées pour améliorer la stabilité
  • [ ] Nettoyer diverses fonctions

Exemple de journal

[+] kernel .data base is ffffffff88e40000, pipe 12->13, rw pair 14->21, pipe addr is ffffa04b61800480
[+] firmware version 0x3000038 ( 3.000.038)
[+] got auth manager: 4
...
[+] dumping /system_ex/common_ex/lib...
[+] decrypting /system_ex/common_ex/lib/libSceJsc.sprx...
  [?] decrypting block info segment for 0
  [?] decrypting block info segment for 1
  [?] decrypting block info segment for 2
  [?] decrypting block info segment for 4
  [?] decrypting block info segment for 9
  [?] decrypting block info segment for 10
  [?] decrypting segment=1, block=1/593
  [?] decrypting segment=1, block=2/593
  [?] decrypting segment=1, block=3/593
  [?] decrypting segment=1, block=4/593

Notes pour le portage offset

  • L'un des objectifs dans l'écriture de cette charge utile était de garder un peu facile à porter à d'autres firmwares, même sans noyau .texte dump
  • La charge utile utilisera des appels lib pour déterminer la version du système et adapter à l'exécution, en supposant que le firmware a appui
  • Il y a au total 11 compensations, les notes pour les trouver sont les suivantes (elles ne sont pas garanties, mais fondées sur des observations):
    • offset_authmgr_handle: +0x30 octets du pointeur à la chaîne "sdt" (il devrait également être généralement 0x4)
    • offset_sbl_mb_mtx: -0x20 octets du pointeur à la chaîne "SblDrvSendSx"
    • offset_mailbox_base: +0x8 octets offset_sbl_mb_mtx
    • offset_sbl_sxlock: +0x8 octets offset_mailbox_base
    • offset_mailbox_flags: -0x8 octets du pointeur à la chaîne "req mtx"
    • offset_mailbox_meta: -0x18 octets du pointeur à la chaîne "req msg cv"
    • offset_dmpml4i: -0x8 octets de pointeur à chaîne "invlgn"
    • offset_dmpdpi: +0x4 octets offset_dmpml4i
    • offset_pml4pml4i: -0x1C octets du pointeur vers la chaîne "pmap"
    • offset_datacave_1/offset_datacave_2: deux plages 0x4000 octets qui semblent inutilisées (sans doute pas besoin de changer)

Je vous remercie.

  • ChendoChap (aide et essais divers pour inverser la tendance)
  • Znullptr (essai)
  • flat z (le noyau fonctionne hors de + diverses informations)
  • alexaltea (travail précédent avec orbital pour référence)

Licence

Spectre (criptogène) - @SpecterDev

Ce projet est sous licence sans licence - voir la LICENSE.md fichier pour les détails.

Contributeurs GitHub

illusionyy
illusionyy
2 contributions
Cryptogenic
Cryptogenic
8 contributions
john-tornblom
john-tornblom
205 contributions
zecoxao
zecoxao
3 contributions