Aller au contenu


Photo

Firmware PS4 Wifi / Bluetooth en inversant H4x v1.0 par Xorloser


  • Veuillez vous connecter pour répondre
Aucune réponse à ce sujet

Posté 06 juin 2018 - 13:37

#1
Mekkiveli

Mekkiveli

    Sunriseur

  • Members
  • PipPip
  • 178 messages

Salut à tous!

 

Le développeur de la scène PlayStation 4 @@xorloser a annoncé sur Twitter qu'il a ajouté le firmware PS4 Wifi / Bluetooth en inversant h4x v1.0 sur Github avec les détails et les Tweets associés ci-dessous.

 

Téléchargementps4_wifi_bt-master.zip  / GitHub

 

La PS4 utilise un module matériel nommé Torus pour son wifi et son bluetooth. Actuellement, il existe deux versions différentes de ceci; le plus vieux tore1 et le nouveau tore2.
 
Les firmwares torus sont stockés en clair sur le flash de la PS4. La PS4 les charge dans le module matériel. 
 
Cela ne va pas conduire à un hack magique de la PS4, c'est juste histoire de fouiller à l'intérieur pour voir ce qu'il fait. 
 
Torus1
 
L'ancien torus1 est basé autour du SoC Marvell Avastar 88W8797 . Il prend en charge jusqu'à wifi n. Ce SoC a un CPU Marvell Feroceon (compatible ARMv5TE) à l'intérieur. Consultez ce pdf pour plus de spécifications
 
 
Torus2
 
Le nouveau torus2 est basé autour du SoC Marvell Avastar 88W8897 . Ce SoC mis à jour ajoute le wifi ac. Il est utilisé dans les consoles PS4 Pro et probablement PS4 slim puisque je vois que PS4 Slim supporte le wifi ac. Vérifiez ce pdf pour plus de spécifications
 
Apparemment, ce SoC également à l'intérieur des fichiers Firmware XboxOne
 
Les fichiers du firmware Torus sont stockés en clair dans le flash PS4. Vous pouvez analyser les partitions flash et les systèmes de fichiers pour les trouver sous le nom de fichier "C0020001". Ou si vous avez un flashdump, recherchez simplement la chaîne "C0020001" dedans. La taille du microprogramme est une valeur 32 bits stockée 0xC octets avant le nom de fichier "C0020001". Les données du microprogramme seront stockées 0x1D0 octets après le nom de fichier "C0020001".
 
Les octets suivants qui montrent le début du firmware torus1: 01 00 00 00 00 00 00 00 04 00 00 Les octets suivants qui montrent le début du firmware torus2: 50 4B 03 04 14 00 08 00 08 00 
 
Le firmware peut aussi être trouvé dans les fichiers de mise à jour PS4UPDATE.PUP. Les fichiers PS4UPDATE.PUP contiennent en interne plusieurs entrées PS4UPDATEx.PUP. Les firmwares torus sont à l'intérieur de PS4UPDATE1.PUP et peuvent être trouvés à partir de leurs identifiants pkg: 0x003 == torus1_fw.bin 0x022 == torus2_fw.zip
 
Notez que les firmwares les plus récents incluront les fws torus1 et torus2, donc il y aura deux fichiers "C0020001" . 
 
2. Inversement des fichiers FW Torus
 
La première étape consiste à convertir le fichier du microprogramme dans un fichier elf en exécutant fw_to_elf.py. Cela facilite l'accès au contenu du micrologiciel avec différents outils prenant en charge le format de fichier elf commun. 
 
fw_to_elf.py torus1_fw.bin torus1.elf 
 
ou 
 
fw_to_elf.py torus2_fw.zip torus2a.elf torus2b.elf 
 
Notez que les firmwares torus2 possèdent en interne 2 ensembles de données. Je ne suis pas sûr pourquoi à ce stade. Donc, la conversion des firmwares torus2 produira 2 fichiers elf, alors que la conversion des firmwares torus1 donnera 1 fichier elf.
 
L'étape suivante consiste à démonter les fichiers elf à l'aide de tous les outils que vous utilisez normalement pour inverser les binaires bras / pouce. Si vous utilisez IDA v7, vous pouvez utiliser le script "ida_fw_setup.py" que j'ai créé pour exécuter les routines d'initialisation de données qui décompressent, copient et effacent les données dans divers emplacements de mémoire RAM. Ceci est très important pour torus1 fws de déballer des données emballées, mais pour torus2 fws il semble juste mettre à zéro certaines zones de RAM, probablement des zones bss. 
 
Chargez l'elfe dans IDA. Il devrait détecter comme ARM petit boutiste. Sur l'écran de chargement initial, vous pouvez faire les options suivantes:
Options du processeur -> Modifier les options de l'architecture ARM -> cochez ARMv5TEJ puis les options du noyau 1 -> décocher Créer les queues des fonctions 
 
Maintenant vous pouvez exécuter le script en faisant: Fichier -> Fichier de script. puis en sélectionnant "ida_fw_setup.py".
 
Attendez quelques secondes pour qu'il se termine et vous êtes prêt à explorer
 
Liens:
  1. Torus 1 info sur psdevwiki
  2. Torus 1 Fiche de présentation
  3. Torus 2 Fiche de présentation
  4. Torus 2 FCC info
 

Un petit aperçu du soft

 

 

 
"d’après zecoxao Cet exécutable décompresse les binaires ARZL pour le ps4, comme le noyau compressé eap. Cela devrait aussi fonctionner sur vita mais i ' Je n'en suis pas sûr. "
 
Voila j'espère que sa va nous éclaircir et Peut-être qu'il conduit à l'avenir à la possibilité de rétrograder le firmware du système à 4,55...

  • Retour en haut




1 utilisateur(s) li(sen)t ce sujet

0 invité(s) et 1 utilisateur(s) anonyme(s)