Vous avez dumpé la mémoire flash (NOR) de votre console et celui-ci est partiellement corrompu? Ce tutoriel est fait pour vous, il va vous montrer comment tenter la reconstruction de votre dump pour autant que celui-ci aie les données vitales intactes.

Pré-requis:

  • Un dump fait avec un flashers.
  • Le logiciel PS3 NOR Statistic, disponible ICI.
  • Le logiciel PS3 Dump Checker, disponible ICI.
  • Un éditeur héxadécimal tel que HxD, disponible ICI.
  • Un dump valide d'une même carte-mère que la votre.
  • Très important, un minimum de savoir-faire et connaître les base de l'hexadécimal.
  • Avoir fait un byte reverse de votre dump si celui-ci a été fait par un E3-Flasher, tutoriel disponible ICI si ça n'a pas déjà été fait.

Mise en garde: Ce tutoriel va donc vous indiquer comment tenter de reconstruire un dump corrompus que vous auriez fait avec votre flasher. Il est donc primordial de suivre à la lettre se tutoriel, je n'offre malheureusement pas de garantie sur cette méthode et ne pourrait pas être tenu comme responsable si cette tentative échoue. Il est aussi très important de bien comprendre ce tutoriel, relisez-le plusieur fois si besoin.

Organisation

Pour ce genre de "travail", il est important d'être bien organisé pour s'y retrouver. Commencez donc par créer un répertoire nommé "Dump clean", un autre "Dump corrompu" puis un dernier "Dump corrompu d'origine". Dans le répertoire "Dump clean", mettez le dump correct que vous avez prit quelque part, puis dans les répertoires "Dump corrompu" puis "Dump corrompu d'origine" mettez-y votre dump à vous qui lui est corrompu.

Rapide contrôle du dump valide

Avant toute chose, une petite vérification des dumps simpose avec PS3 NOR Statistic (cet outil suffira pour ce que l'on a besoin). Commencez donc par glisser le dump valide sur le logiciel, on peut donc voir que celui-ci à première vue ne comporte aucun défaut.

Ensuite dans les détails du dump, observez les valeurs des ROS1 et 0, ici ils sont en 460.000, ce qui veut dire que le dump a été fait en 4.60.

Ensuite faites pareil avec votre dump corrompus. Dans mon cas, on peut voir que celui-ci possède quelques défaut.

  • Note: Je tiens à préciser toute de même que les erreurs sorties par le logiciel ne sont pas grave en soit, si vous avez un dump avec ces erreurs, ce n'est pas pour autant que votre dump est corrompus, c'est simplement que je n'avais pas d'autre dump corrompu sous la main.

Ensuite regardez les détails sur la fenêtre du logiciel, là encore il y a deux chose à faire attention, comme le dump précédent, regardez les valeurs des ROS0 et 1, le plus élevé étant en 466.000, on peut donc déduire que le dump a été réalisé en 4.66.

Autre chose à retenir, les données "per_console_nonce" en bas à droite de la fenêtre, celles-ci doivent ABSOLUMENT être intactes, si ce n'est pas le cas vous pouvez arrêter là. Si vous n'avez rien dans ces champs ou que des "FF" ou encore que des "00", ces zones sont donc corrompues et irrécupérables dans l'état actuel.

Copie des 4 zones vitales

Avant de continuer, petite explication:

Le principe de la reconstruction d'un dump est assez simple, nous allons "simplement" copier les données "per console" de votre dump corrompu pour les mettres dans le dump valide.
Qu'est-ce que les données "per console"? Très simple, se sont les données que contient la NOR de votre PS3 et qui sont propres à VOTRE PS3, donc aucune autre console dans le monde n'aura les même données "per console" que la votre, c'est pourquoi nous ne pouvons mettre un dump quelconque dans une PS3. Ces données sont vitales pour la PS3, c'est pourquoi il est très important qu'elles ne soient pas corrompues dans votre dump, il y en a 4 en tout. Il faudra donc copier ces 4 zones, le reste du dump n'est soit pas vitale pour la console, soit identique, mais il est quand-même important d'avoir un dump d'une PS3 du même modèle (exemple FAT CECHL04, Slim CECH2104A etc..) si vous avez donc une Slim 2004A, ne prenez pas un dump clean d'une CECHL04 mais d'une autre Slim 2004A.

Voici un tableau regroupant les 4 zones vitales de la mémoire flash:

Nom Premier offset Taille
METLDR 800 E960
BOOTLOADER_0 FC0000 40000
EID 2F000 10000
CISD 3F000 800

Maintenant que vous avez compris le principe (j'espère), vous pouvez ouvrir les deux dumps dans un éditeur hexadécimal (voilà pourquoi je vous ai conseillé en début de tutoriel de bien organiser le nom de vos répertoires et dumps, histoire de ne pas vous y perdre et de confondre les deux dumps).

Maintenant, comme je l'ai expliqué ci-dessus, il va falloir copier les 4 zones vitales de VOTRE dump dans le dump clean que vous avez trouvé. Pour le faire, le logiciel HxD nous offres la possibilité de le faire assez rapidement. Commencez par aller sur votre dump corrompu.

Une fois que vous y êtes, cliquez sur "Edition" puis sur "Sélectionner un bloc..."

Ensuite il va falloir mettre les valeurs indiquée précédemment dans mon tableau, nous allons donc commencer par le METLDR. Dans le champ "Début", mettez donc la valeur de la deuxième colonne de mon tableau (nommée "Premier offset"), à savoir l'offset 00000800 (vous n'êtes pas obligé de mettre les 5 zéro, ils ne seront de toute façon pas tenu en compte si ils sont au début). Ensuite cochez la case "Longueur" puis mettez cette fois-ci la valeur de la 3ème colonne de mon tableau (appelée "Taille"). Une fois que ces deux champs sont remplis, vous pouvez cliquer sur OK.

A ce moment-là, le logiciel va sélectionner tous les offsets et toutes les valeurs par rapport aux informations que vous avez donné précédemment, dans le cas du METLDR, nous pouvons voir aux premiers offsets de la sélection un "metldr".

Maintenant que le tout le METLDR est sélectionné, cliquez à nouveau sur "Edition" puis cette fois-ci cliquez sur "Copier".

Ensuite, allez sur le dump clean en cliquant sur l'onglet juste à côté.

Comme précédemment, cliquez sur "Edition" puis sur "Sélectionner un bloc...".

Et à nouveau, mettez les mêmes valeurs que précédemment pour le METLDR.

Une fois que le bloc est sélectionné, cliquez sur "Edition" puis cette fois-ci sur "Coller en écrasant". Pour que vous puissiez comprendre, vous venez de faire un bête "copier" du METLDR de votre dump corrompu, et un simple "coller" sur le dump clean, ce qui a pour effet évidemment de remplacer le METLDR de base du dump clean par le votre (de votre dump corrompu).

Maintenant que c'est terminé pour le METLDR, vous pouvez passez au BOOTLOADER_0. Commencez par revenir sur votre dump corrompus avec votre éditeur.

Ensuite faites de nouveau "Edition" puis "Sélectionner un bloc...".

Cette fois-ci il va donc falloir mettre les valeurs pour le BOOTLOADER, à savoir l'offset "FC0000" dans le champ "Début", puis la valeur "40000" dans le champs "Longueur".

Une fois que le bloc est sélectionné, cliquez à nouveau sur "Edition" puis sur "Copier".

Ensuite comme précédemment, retournez sur le dump clean que vous avez.

Cliquez à nouveau sur "Edition" puis sur "Sélectionner un bloc...".

Mettez encore une fois les valeurs pour le BOOTLOADER, à savoir l'offset "FC0000" dans le champs "Début", puis la valeur "40000" dans le champs "Longueur".

Une fois que le bloc complet est sélectionné, cliquez à nouveau sur "Edition" puis sur "Coller en écrasant", ce qui aura de nouveau pour effet de mettre le BOOTLOADER de votre dump sur le dump clean que vous avez.

Maintenant que c'est terminé pour le BOOTLOADER, au suivant, à savoir l'EID. Certe ce tutoriel est un peu répétitif pour cette partie, mais je préfère vous guider de A à Z pour être sure que vous fassiez juste. Alors comme précédemment, retournez sur votre dump corrompus.

Ensuite faites de nouveau "Edition" puis "Sélectionner un bloc...".

Maintenant mettez les valeurs pour l'EID, à savoir l'offset "2F000" dans le champs "Début" puis la valeur "10000" dans le champs "Longueur".

Une fois que le bloc est sélectionné, cliquez à nouveau sur "Edition" puis sur "Copier".

Retournez ensuite sur le dump clean.

Une fois que vous y êtes, faites à nouveau "Edition" puis "Sélectionner un bloc...".

Mettez à nouveau les valeurs pour l'EID, à savoir l'offset "2F000" dans le champs "Début" puis la valeur "10000" dans le champs "Longueur".

Et une fois que le bloc est sélectionné, cliquez encore une fois sur "Edition" puis sur "Coller en écrasant".

Et maintenant, la dernière zone vitale à copier, le CISD. Retournez donc sur votre dump corrompu.

Faites encore une fois "Edition" puis "Sélectionner un bloc...".

Puis mettez les valeurs correspondantes pour le CISD, à savoir l'offset "3F000" dans le champs "Début" puis la valeur "800" dans le champs "Longueur".

Ensuite une fois que le bloc est sélectionné, faites à nouveau "Edition" puis "Copier".

Retournez ensuite sur le dump clean.

Puis faites une dernière fois "Edition" puis "Sélectionner un bloc...".

Remettez les valeurs pour le CISD, à savoir l'offset "3F000" dans le champs "Début" puis la valeur "800" dans le champs "Longueur".

Puis pour terminer, faites encore une fois "Edition" et "Coller en écrasant".

Une fois que c'est fait, vous avez finis de copier les 4 zones vitales de votre dump corrompu sur le dump clean, vous pouvez alors cliquer sur "Fichier" puis "Enregistrer sous..."

Je vous conseil de le nommé "dump_corrupted_rebuild" puis de le mettre dans le répertoire "Dump corrompus".

Une fois que le dump est enreigstré, glissez-le sur le logiciel PS3 NOR Statistic. Déjà le logiciel ne ressort plus les deux erreurs du début avec le dump corrompus de base.

Ensuite vous pourrez constater que les ROS sont en 460.000 (donc ceux du dump clean) puis que les valeurs dans la partie "per_console_nonce" sont celles de votre dump à vous qui est corrompu. En faisant cette observation on peut constater que les parties vitales semblent bien avoir été copiées sur le dumps clean.

Mise à jour des ROS sur le nouveau dump

Maintenant que les 4 zones vitales sont copiées, il va encore falloir faire une dernière chose (hé oui, ce n'est pas terminé..). Si vous vous en rappelez, les ROS du dump clean sont en 4.60, alors que le ROS le plus élevé du dump corrompus est en 4.66. Si vous prenez le nouveau dump actuel avec les ROS en 4.60 et l'écrivez sur la NOR de votre PS3, celle-ci risque de ne pas trop apprécié, il faut alors patcher les ROS du nouveau dump en 4.66 comme le dump corrompus.

Pour le faire, il va falloir utiliser le logiciel PS3 Dump Checker que vous avez normalement téléchargé précédemment, vous pouvez alors le lancer.

Une fois que le logiciel est ouvert, il va falloir lui préciser en quelle version vous souhaitez patcher le dump. Commencez alors par cliquer sur la petite clé à molette en haut à gauche de la fenêtre.

Ensuite sur la petite fenêtre qui c'est ouverte, cochez la case "Use Custom ROS Patch" et ensuite sur le petit bouton avec les "...".

Allez ensuite dans le répertoire "Patch collection" qui se trouve au même endroit que le logiciel, dans se répertoire-là, vous avez plusieurs patchs qui vous permettent donc de patcher votre dump dans la version que vous souhaitez. Dans mon cas le dump corrompus de base a été fait en 4.66, il est alors normal que je choisisse le patch 4.66.

Une fois que vous avez sélectionné le patch correspondant à la version de base de votre dump corrompus, vous pouvez cliquer sur le bouton "Save".

Ensuite une fois à nouveau sur le logiciel, cliquez sur le bouton "Check Image".

Allez ensuite chercher le nouveau dump clean que vous avez sauvegardé avec les 4 zones vitale de votre dump de base. Le logiciel va alors contrôlé le dump, celui-ci sera normalement bon et automatiquement le logiciel va vous proposer de le patcher, répondez "Oui".

Un nouveau dump est alors créé au même endroit d'ou se trouve celui qui a été patché, dans mon cas il se nomme "dump_corrupted_rebuild_patched" (oui ça commence à faire long pour un dump..).

Prenez donc ce dump puis glissez-le encore une fois sur le logiciel PS3 NOR Statistic. Vous pourrez constater que les ROS sont maintenant en 4.66, comme le dump de base corromups. Ce sera donc ce dump qu'il faudra prendre pour le ré-écrire sur votre PS3.

Et voilà, vous avez maintenant un dump clean en ordre. Celui-ci a donc:

  • Les 4 zones vitales (appelées "per console") de votre PS3 à vous.
  • Les ROS patchés en version identique à votre dump corrompus.

Ce tutoriel est donc terminé, vous avez maintenant un dump clean pour votre console, alors que celui de base était partiellement corrompu, vous pouvez alors prendre le nouveau dump pour l'écrire sur la NOR de votre PS3.

  • Note: Si vous utilisez l'E3-Flasher, n'oubliez SURTOUT PAS de faire un byte-reverse du nouveau dump créé.
  • Remerciements: Je tiens à remercier Red-J de logic-sunrise.com pour son idée ainsi que son tutoriel original sur lequel je me suis basé.