TUTO PS3 : Dump et Flash NAND avec Teensy

Download Report

Transcript TUTO PS3 : Dump et Flash NAND avec Teensy

TUTO PS3 : Dump et Flash NAND avec Teensy
V1.1
Avant-propos et mises en garde :
Ce tutorial a pour vocation d’expliquer ma méthode pour dumper et flasher les PS3 dotées de mémoires
flash de type NAND. Je n’ai aucunement la prétention de dire que cette méthode est la meilleur, c’est pour
l’essentiel un recueil de diverses informations recueillis de ci de là sur les divers forums composant la scène
PS3 (je n’ai rien inventé, loin s’en faut).
Je n’aborderais pas dans ces lignes le démontage/remontage de la console, la vérification des dumps, le
patchage des dumps ou encore l’installation de custom firmware ou homebrews.
Je ne suis en aucun cas responsable des dommages que pourrait subir
votre console, vous, vos enfants, votre chien ou votre chat.
Page 1
TUTO PS3 : Dump et Flash NAND avec Teensy
V1.1
Table des matières
I.
Consoles concernées................................................................................................................................................. 3
II.
Matériel nécessaire ................................................................................................................................................... 3
III.
Préparation du Teensy++ 2.0 ................................................................................................................................ 4
1.
Programmation du Teensy .................................................................................................................................... 4
2.
Modification du Teensy ........................................................................................................................................ 6
2.1
Sans régulateur de tension ........................................................................................................................... 6
2.2
Avec régulateur de tension ........................................................................................................................... 7
IV.
Utilisation de l’alimentation ATX .......................................................................................................................... 8
V.
Câblage ...................................................................................................................................................................... 9
1.
Schéma de câblage pour Teensy sans régulateur de tension ............................................................................... 9
2.
Schéma de câblage pour Teensy avec régulateur de tension............................................................................... 9
3.
Branchement sur carte mère COK-002 (CECHC) ................................................................................................. 10
4.
Branchement sur carte mère SEM-001 (CECHG) ................................................................................................ 10
VI.
Clip NAND ............................................................................................................................................................ 11
1.
Sens d’installation du clip sur une NAND ............................................................................................................ 11
2.
Localisation des NANDs et modification du Clip pour carte mère COK-002 (CECHC)......................................... 11
3.
Localisation des NANDs et modification du Clip pour carte mère SEM-001 (CECHG) ........................................ 12
4.
Pose du clip sur une NAND ................................................................................................................................. 12
VII.
Installation de Python et pyserial ....................................................................................................................... 13
VIII.
Dump des NANDs ................................................................................................................................................ 15
1.
Dump de la NAND 0 (TOP) .................................................................................................................................. 15
1.
Dump de la NAND 1 (BOTTOM) .......................................................................................................................... 19
IX.
Traitement des dumps avec Flow Rebuilder....................................................................................................... 20
1.
Entrelacement des dumps NAND ....................................................................................................................... 20
2.
Désentrelacement du dump entrelacé patché ................................................................................................... 22
X.
Flash différentiel des NANDs .................................................................................................................................. 24
1.
Flash différentiel de la NAND 0 (TOP) ................................................................................................................. 25
2.
Flash différentiel de la NAND 1 (BOTTOM) ......................................................................................................... 27
Page 2
TUTO PS3 : Dump et Flash NAND avec Teensy
I.
V1.1
Consoles concernées
Sont concernées par ces lignes toutes les PS3 équipées de mémoires flash de type NAND, à savoir les modèles FAT
de première génération:
CECHAxx équipé d’une carte mère COK-001
CECHBxx équipé d’une carte mère COK-001
CECHCxx équipé d’une carte mère COK-002
CECHExx équipé d’une carte mère COK-002
CECHGxx équipé d’une carte mère SEM-001
Dans les pages suivantes je m’attarderais exclusivement sur les CECHC et CECHG étant les modèles les plus
largement diffusés en France.
II.
Matériel nécessaire
-
Un Teensy++ 2.0 : http://www.pjrc.com/store/teensypp.html
-
(optionnel) Un régulateur de tension type MCP1825S-3302E/DB
-
Un câble mini-USB (celui de votre Dualshock3 fera l’affaire)
-
Une alimentation PC de type ATX
-
Un clip NAND : http://store.logic-sunrise.com
-
Un PC (Windows 7)
-
Du fil, de l’étain, du flux, un bon fer à souder, un paquet de clopes et un jerrican de café bien corsé.
Page 3
TUTO PS3 : Dump et Flash NAND avec Teensy
III.
V1.1
Préparation du Teensy++ 2.0
1. Programmation du Teensy
A la base le Teensy est un circuit imprimé de développement (dev board) pouvant servir à une multitude
d’applications. On en a détourné l’usage pour le hack de nos petites consoles. Par conséquent le fabriquant (PJRC) la
livre vierge de tous programmes et il est donc nécessaire de la programmer pour l’usage que l’on veut en faire.
C’est très simple. Voici la marche à suivre :
-
Téléchargez :
Teensy Loader : http://www.pjrc.com/teensy/teensy.exe
Programmes NORway: https://github.com/hjudges/NORway/archive/master.zip
-
Extraire le dossier ‘’NORway’’ de l’archive master.zip à la racine du disque C:\
-
Branchez votre Teensy au PC à l’aide du câble Mini USB.
-
Lancez le programme Teensy.exe. La fenêtre suivante s’ouvre :
-
Comme indiqué, appuyez sur le bouton du Teensy. Vous devriez obtenir ceci :
Page 4
TUTO PS3 : Dump et Flash NAND avec Teensy
-
Sélectionnez ‘’Open HEX File’’ :
-
Allez chercher le fichier :
‘’C:\NORway\NANDway\Signal Booster Edition\NANDway_SignalBoosterEdition.hex’’
-
Sélectionnez ‘’Program’’ :
-
Sélectionnez ‘’Reboot’’ :
-
Fermez le programme.
V1.1
Note : Il sera bien évidemment toujours possible de reprogrammer le Teensy après sa modification (cf chapitre
suivant). Cependant, dans le cas d’une modification sans régulateur, il est nécessaire que le teensy soit alimenté par
une source extérieure de courant (3.3v ou 5v).
Page 5
TUTO PS3 : Dump et Flash NAND avec Teensy
V1.1
2. Modification du Teensy
Sans entrer dans les détails, il faut savoir que le Teensy peut fonctionner en 5v ou en 3.3v. Quand vous le recevez il
est configuré pour un fonctionnement en 5v. Hors les NANDS PS3 fonctionnent en 3.3v. Il est donc nécessaire d’y
apporter quelques petites modifications.
Il y a deux types de modification pour un fonctionnement en 3.3v: avec ou sans régulateur de tension. On peut
utiliser l’une ou l’autre de ces méthodes.
2.1 Sans régulateur de tension
Avec cette modification le Teeensy ne sera plus alimenté par le port USB. Il devra être alimenté par une source
extérieur de courant 3.3v aux bornes ‘’+5v’’ et ‘’GND’’ pour fonctionner. Dans notre cas on utilisera une alimentation
ATX pour à la fois alimenter le Teensy et la carte mère de la console.
Au dos du Teensy, coupez la piste entre la pastille 5v et 3v puis pontez avec de l’étain les deux pastilles 3v :
COUPER
RELIER
Page 6
TUTO PS3 : Dump et Flash NAND avec Teensy
V1.1
2.2 Avec régulateur de tension
Avec cette modification le Teensy sera toujours alimenté via le port USB mais le courant 5v sera transformé en 3.3v
par un régulateur de tension. Il n’est pas nécessaire d’avoir une source extérieure de courant pour le faire
fonctionner. Néanmoins, dans notre cas, on utilisera quand même une alimentation ATX pour alimenter la carte
mère de la console.
Au dos du Teensy, coupez la piste entre la pastille 5v et 3v puis pontez avec de l’étain les deux pastilles 3v :
COUPER
RELIER
Installez et soudez un régulateur de type MCP1825S-3302E/DB :
Voici ce que vous devriez obtenir :
Page 7
TUTO PS3 : Dump et Flash NAND avec Teensy
IV.
V1.1
Utilisation de l’alimentation ATX
Une alimentation ATX est à la base destinée à alimenter un PC de bureau. Nous allons la détourner pour alimenter la
carte mère et donc les NANDs de notre PS3.
-
Détail d’une prise ATX :
Pour notre application on utilisera une borne +3.3v (fils orange) et
une borne GND (fils noir).
-
Comment démarrer une alimentation ATX :
Reliez le fil vert PS_ON à un fil GND et l’alimentation devrait démarrer.
Si ce n’est pas le cas c’est que votre alimentation à une sécurité. Dans ce cas il faut brancher un appareil
sur le +5v. Vous pouvez par exemple brancher un vieux disque dur sur une des prises molex de l’alim.
Page 8
TUTO PS3 : Dump et Flash NAND avec Teensy
V.
V1.1
Câblage
Câblez le Teensy avec le Clip NAND, l’alimentation ATX et la carte mère de la console suivant les schémas suivants et
en fonction de votre configuration.
Prévoyez une section de fils plus importante pour le 3.3v et le GND.
1. Schéma de câblage pour Teensy sans régulateur de tension
2. Schéma de câblage pour Teensy avec régulateur de tension
Page 9
TUTO PS3 : Dump et Flash NAND avec Teensy
3. Branchement sur carte mère COK-002 (CECHC)
4. Branchement sur carte mère SEM-001 (CECHG)
Page 10
V1.1
TUTO PS3 : Dump et Flash NAND avec Teensy
VI.
V1.1
Clip NAND
Pour nos PS3 il est nécessaire de modifier légèrement le clip (en grattant avec une lame de cutter ou ciseau de
modélisme) car il y a des composants autour des NANDs qui empêchent sa bonne mise en place.
Modifiez le clip suivant les schémas suivants.
1. Sens d’installation du clip sur une NAND
Placer le clip sur la NAND de manière à ce que les repères
correspondent.
2. Localisation des NANDs et modification du Clip pour carte mère COK-002 (CECHC)
Page 11
TUTO PS3 : Dump et Flash NAND avec Teensy
V1.1
3. Localisation des NANDs et modification du Clip pour carte mère SEM-001
(CECHG)
4. Pose du clip sur une NAND
Une fois le clip modifié, positionner le clip sur la NAND et appuyez jusqu’à ce qu’il soit bien en appui sur la CM. Lors
des opérations de dump/flash il est conseillé de sécuriser le clip à l’aide d’un petit sert-joint en plastique ou
équivalent (ne pas trop serrer quand même et protéger la CM).
Clip en appuis complet
tout autour de la NAND
Page 12
TUTO PS3 : Dump et Flash NAND avec Teensy
VII. Installation de Python et pyserial
-
Téléchargez :
Python 2.7.2: http://www.python.org/ftp/python/2.7.2/python-2.7.2.msi
pyserial 2.5: http://pypi.python.org/packages/any/p/pyserial/pyserial-2.5.win32.exe
-
Installez python-2.7.2.msi sur votre PC avec les options par défaut
-
Installez pyserial-2.5.win32.exe sur votre PC avec les options par défaut
Page 13
V1.1
TUTO PS3 : Dump et Flash NAND avec Teensy
-
Installez serial_install.exe, disponible
dans l’archive NORway.
-
Branchez votre Teensy au PC à l’aide du câble Mini USB. Dans le cas où vous avez un Teensy sans
régulateur, allumez l’alimentation ATX afin qu’il soit alimenté.
-
Votre PC doit alors reconnaitre un nouveau périphérique et installer les drivers.
-
Dans le gestionnaire de périphériques, vérifiez que le Teensy est reconnu en tant que « USB Serial
(Communication Class, Abstract Control Model) » :
-
Notez le numéro de port COM du
Teensy (utile pour plus tard).
V1.1
Note : Si vous ne trouvez pas ça dans le gestionnaire de périphériques, c'est soit que le teensy est mal programmé,
soit que pyserial ou les drivers sont mal installés, soit que le câble USB est défectueux ou soit que le teensy est mal
alimenté. Vérifiez.
Page 14
TUTO PS3 : Dump et Flash NAND avec Teensy
VIII. Dump des NANDs
1. Dump de la NAND 0 (TOP)
Une fois que tout est branché, clip bien en place sur la NAND 0 (voir schémas §VI) et teensy branché au pc:
- démarrez l'alimentation ATX
- si vous ne l’avez pas noté, ouvrez le gestionnaire de périphériques et notez le port COM du teensy.
- ouvrez l'invite de commande Windows et entrez la commande "cd C:\NORway".
Page 15
V1.1
TUTO PS3 : Dump et Flash NAND avec Teensy
- Afin de vérifier la communication entre le teensy et la NAND, entrez la commande "nandway.py COM* 0 info"
(* : utilisez votre n° de port COM)
Le programme liste les caractéristiques de la NAND. Si vous n'avez pas ça, inutile d'aller plus loin. Vérifiez votre
installation.
- Si tout est OK, vous pouvez lancer le dump de la NAND en entrant la commande
"nandway.py COM* 0 dump NAND0_dump1.bin" (* : utilisez votre n° de port COM)
Le programme liste une nouvelle fois les caractéristiques de la NAND et lance le dump dont on peut suivre la
progression au bas.
Page 16
V1.1
TUTO PS3 : Dump et Flash NAND avec Teensy
V1.1
- Le dump terminé, le programme affiche "Done" avec le temps qu'a pris le dump (compter entre 15 et 20 minutes)
- Répétez l'opération deux ou trois fois minimum avec les commandes
"nandway.py COM* 0 dump NAND0_dump2.bin",
"nandway.py COM* 0 dump NAND0_dump3.bin", etc...
(* : utilisez votre n° de port COM)
Ceci afin d’avoir plusieurs dumps de la NAND. On les comparera afin de s'assurer que tout s'est bien passé.
- Une fois les dumps faits vous pouvez éteindre l'alimentation ATX.
- Vous devriez donc avoir ceci dans le dossier C:\Norway:
Page 17
TUTO PS3 : Dump et Flash NAND avec Teensy
Comparez les Dumps de la NAND 0 (TOP) :
- Téléchargez et installez HxD : http://mh-nexus.de/en/programs.php
- Lancez HxD, sélectionner "Analysis / File-Compare / Compare"
- Sélectionnez les deux premiers dumps et exécutez:
- Si tout se passe bien vous devriez obtenir ceci:
Si ce n'est pas le cas, au moins un des dumps est corrompu. Inutile d'aller plus loin. Vérifiez votre installation et
recommencez.
- Répétez l'opération pour tous les dumps. Si tous les dumps sont identiques, on peut continuer.
Page 18
V1.1
TUTO PS3 : Dump et Flash NAND avec Teensy
V1.1
1. Dump de la NAND 1 (BOTTOM)
Assurez-vous que l’alimentation ATX est éteinte et déplacez le clip sur la NAND 1 (voir schémas §VI).
Démarrez l’alimentation et procédez exactement de la même manière que pour la NAND 0 mais en nommant les
dumps NAND1_dump1.bin, NAND1_dump2.bin, NAND1_dump3.bin…
Au final vous devriez maintenant avoir ceci dans le dossier C:\Norway:
Archivez tous vos dump dans un dossier sécurisé. Ce sera votre seul salut en cas de brick de votre console.
Page 19
TUTO PS3 : Dump et Flash NAND avec Teensy
IX.
V1.1
Traitement des dumps avec Flow Rebuilder
Maintenant que nous avons les dumps de nos deux NANDs, il faut les fusionner afin de créer un seul dump entrelacé
(interleaved) qui sera exploitable pour vérification et patch.
Une fois patché, le dump entrelacé patché devra à son tour être dissocié en deux dumps que nous pourrons écrire
dans les NANDs.
Téléchargez :
FlowRebuilder: http://www.mediafire.com/?0yhboy6knvepg2o
1. Entrelacement des dumps NAND
-
Lancer Flow Rebuilder puis :
1 : Sélectionnez l'opération "UNSCRAMBLE"
2 : sélectionnez le dump de la NAND0
3 : sélectionnez le dump de la NAND1
4 : entrez le chemin de destination et le nom du dump entrelacé à créer
5 : exécutez.
1
2
3
4
5
Page 20
TUTO PS3 : Dump et Flash NAND avec Teensy
V1.1
Une fois l’opération terminée Flow Rebuilder affiche ceci :
1
2
3
1 : Fichier du dump entrelacé créé
2 : Détail du nombre de ‘’bad block’’ trouvés pour chaque NAND. Il peut y en avoir quelques un, c’est
tout à fait normal.
3 : Par défaut Flow Rebuilder fait une extraction du dump dans ce dossier. Cela peut être intéressant
pour les initiés mais ce n’est pas indispensable.
Maintenant que vous avez votre dump entrelacé, vous pouvez le vérifier et le patcher comme bon vous semble. De
nombreux outils et tutos sont présents sur la toile à ce sujet.
Page 21
TUTO PS3 : Dump et Flash NAND avec Teensy
2. Désentrelacement du dump entrelacé patché
-
Lancer Flow Rebuilder puis :
1 : Sélectionnez l'opération "RE-SCRAMBLE"
2 : sélectionnez le dump de la NAND0 (qui sert de modèle pour créer le nouveau dump)
3 : sélectionnez le dump de la NAND1 (qui sert de modèle pour créer le nouveau dump)
4 : sélectionnez le dump entrelacé patché
5 : exécutez.
1
2
3
4
5
Page 22
V1.1
TUTO PS3 : Dump et Flash NAND avec Teensy
Une fois l’opération terminée Flow Rebuilder affiche ceci :
1
2
3
1 : Fichiers des nouveaux dumps créés pour chaque NAND
2 : Détail du nombre de blocks différents par rapport aux dumps originaux (correspondant aux
modifications liées au patch, le nombre peut varier).
3 : Flow Rebuilder créé deux fichiers .txt qui nous permettront de faire une réécriture (flash)
différentielle des NANDs (on réécrira alors que les blocks modifiés).
Page 23
V1.1
TUTO PS3 : Dump et Flash NAND avec Teensy
X.
V1.1
Flash différentiel des NANDs
Le flash différentiel des NANDs consiste à réécrire seulement les blocks différents par rapport aux dumps d’origine.
Cette méthode est beaucoup plus rapide et sûr qu’une réécriture complète des NANDs. Pour ça nous utiliserons les
deux fichiers .txt créés par Flow Rebuilder dans le dossier ‘’Differential Flashing’’.
Tout d’abord, copiez et collez les nouveaux dumps ‘’NAND0_dump1.bin.new.bin’’ et
‘’NAND1_dump1.bin.new.bin’’ ainsi que les fichiers ‘’DifferenceFileFlash0.txt’’ et
‘’DifferenceFileFlash1.txt’’ dans le dossier C:\Norway:
Page 24
TUTO PS3 : Dump et Flash NAND avec Teensy
1. Flash différentiel de la NAND 0 (TOP)
Rebranchez tout votre attirail, et mettez le clip en place sur la NAND 0 (voir schémas §VI):
- démarrez l'alimentation ATX
- ouvrez l'invite de commande Windows et entrez la commande "cd C:\NORway".
- Afin de vérifier la communication entre le teensy et la NAND, entrez la commande "nandway.py COM* 0 info"
(* : utilisez votre n° de port COM)
Le programme liste les caractéristiques de la NAND. Si vous n'avez pas ça, inutile d'aller plus loin. Vérifiez votre
installation.
Page 25
V1.1
TUTO PS3 : Dump et Flash NAND avec Teensy
V1.1
- Si tout est OK, vous pouvez lancer le flash de la NAND en entrant la commande
"nandway.py COM* 0 vdiffwrite NAND0_dump1.new.bin DifferenceFileFlash0.txt "
(* : utilisez votre n° de port COM)
Le programme liste une nouvelle fois les caractéristiques de la NAND et lance le flash différentiel, block après block,
dont on peut suivre la progression.
- Le flash terminé, le programme affiche "Done" avec le temps que ça a pris.
- Une fois le flash terminé, pour être certain que tout c’est bien passé, vous pouvez redumper la NAND et en faire
une comparaison avec le fichier NAND0_dump1.new.bin à l’aide de HxD (voir §VIII).
- Une fois terminé vous pouvez éteindre l'alimentation ATX.
Page 26
TUTO PS3 : Dump et Flash NAND avec Teensy
V1.1
2. Flash différentiel de la NAND 1 (BOTTOM)
Assurez-vous que l’alimentation ATX est éteinte et déplacez le clip sur la NAND 1 (voir schémas §VI).
Démarrez l’alimentation et flashez exactement de la même manière que pour la NAND 0 mais cette fois avec la
commande "nandway.py COM* 0 vdiffwrite NAND1_dump1.new.bin DifferenceFileFlash1.txt "
Votre console est désormais ‘’Flashée’’, vous pouvez tout débrancher et remonter la bête.
Bonne chance pour la suite.
FIN
Page 27