Tutoriel pour savoir comment contrôller un dump d'une NOR/NAND en héxadécimal. Moyens le plus sure de savoir si votre dump est valide.

Pré-requis:

  • Un dump fait avec un flashers.
  • Un éditeur héxadécimaile disponible ICI.
  • 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.

Vous connaissez sans-doute les différents outils qui sont mit à disposition pour contrôller des dumps (BwE Vallidator, FlowRebuilder, PS3 NON/NAND Statisitc etx..) mais le moyens le plus sure de contrôller son dump est de le faire sois-même. Il vous suffit pour ça d'avoir un éditeur héxadécimale (HxD Editor Neo etc..) et si le contrôlle est bien effectué, vous pouvez en être sure du résultat, évidemment une confirmation des différents logiciels n'est pas de trop, mais si vous constatez que votre dump est bon après l'avoir contrôllé avec un éditeur héxadécimale, vous êtes sur la bonne voie.

Mise en garde: Ce tutoriel va donc vous montrer pas à pas comment faire un contrôle de vos dumps avec un éditeur hexadécimal, même si c'est la façon la plus sure de s'assurer de la validité d'un dump, le risque 0 n'existe pas. Si un problème devait survenir sur votre PS3 à cause d'un dump corrompus, je ne pourrais pas être tenu comme responsable.

Comparaison des dumps

Il est fortement conseiller de faire plusieurs dumps de votre NOR/NAND, assurez-vous d'en faire au moins 3. Avant de commencer, nous allons les comparer et nous assurez qu'ils sont tous identiques. Dans un premier temps ouvrez simplement votre éditeur, cliquez sur "Fichier" puis "Ouvrir" et aller chercher vos dump.

Une fois que c'est vrais, vous devriez avoir la disposition comme ceci:

Maintenant vous allez cliquer sur "Analyse" qui se trouve en haut de la fenêtre, puis allez sur
"Comparaison de fichiers" et cliquez sur "Comparer".

Vous allez avoir une petite fenêtre qui va s'ouvrir, en gros c'est pour vous demander qu'est-ce que vous voulez comparer, normalement vous n'avez rien à changer. On peut donc voir sur l'image que je souhaite comparé mon dump "bkpps30.swap(1).bin" avec le dump "bkpps30.swap.bin"

Maintenant vous n'avez qu'à cliquer sur "Ok". Si vos dumps sont égaux, vous devriez avoir une fenêtre comme ceci:

Maintenant que vous êtes sures que vos dumps sont identiques, vous pouvez en garder que un sur votre éditeur héxadécimale, vous pouvez fermer les autres, nous allons désormais travailler sur un seul dump.

Statistique des dumps

Lorsqu'on parle de statistiques d'un dump, c'est de savoir combien il contient de "ff", de "00" et des autres caractères. Je vais déjà vous mettre les résultats que vous devriez avoir (en %):

NAND:

Valeure héxa Pourcentage
FF Entre 18,25% et 24,54%
00 Entre 1,43% et 2,68%
Autre Moins de 0,5%

NOR:

Valeure héxa Pourcentage
FF Entre 10,42% et 10,48%
00 Entre 18,38% et 29,01%
Autre Moins de 0,5%

Maintenant que vous avez les valeurs, vous allez pouvoir contrôlle votre dump, pour celà, cliquez à nouveau sur "Analyse" mais cette fois vous allez cliquer sur "Statistiques":

Maintenant si vous regardez bien, sur les côtés droite et gauche, nous avons des sortes de jauges en couleurs comme le montre le screenshot ci-dessous:

C'est en faite assez simple à comprendre, la jauge de gauche vous indique le pourcentage de 00 présent dans le dump, la jauge de droite indique le nombre de FF présents et la jauge qui fait tout le bas indique le reste. Pour avoir la valeur il suffit juste de pointer la souris sur la jauge et nous avons en bas la valeur:

On peut donc voir que j'ai 19,07% de 00, donc c'est déjà bon pour ça.

J'ai aussi 0,28% d'autres caractères (passez votre souris sur tout le long de la jauge et assurez-vous qu'à aucun moment vous ne dépassez les 0,5%):

Et pour finir, que j'ai 10,46% de de FF:

Voilà, maintenant vous êtes sur que vos différents dumps sont identiques, et que le dumps que vous avez choisis est correct au niveau de son contenu, maintenant vous allez voir un peu plus en détails le contenu de celui-ci.

Vous pouvez déjà commencer par fermer la fenêtre des statistiques pour se retrouver sur le dump avec les valeurs héxadécimales. Maintenant nous allons contrôller différentes valeurs des différents offsets. Pour trouver plus rapidement un offset, faites la combinaison "Ctrl + G" et mettez l'offset que j'aurais indiqué de mettre, comme ceci:

00000010

Comme sur le screenshot, vous allez commencer par vous rendre à l'offset 00000010. Vous devriez avoir comme valeur héxadécimale:
0F AC EO FF et DE AD BE EF.

Si vous avez les valeurs AC OF FF EO et AD DE EF BE, vous devez faire un byte reverse de votre dump. Tutoriel disponible ICI

00000200

Prochaine ligne à contrôller, rendez-vous à l'offset 00000200 toujours avec la même combinaison Ctrl + G comme la dernière fois, et vous devriez avoir la valeur IFI.

Si vous avez FI.I au lieux de la valeure normale IFI, c'est que votre dump n'a pas été byte reverse, vous devez alors en faire un. Tutoriel disponible ICI

Le Target ID/METLDR/BOOTLDR

Nous arrivons maintenant à une partie un peu plus complèxe, mais pas de panique, vous vous en sortirez. Pour ces 3 parties, il n'y a pas de valeures fixe, ça dépend du modèle de votre PS3. Pour ça regardez à l'arrière de votre console, vous avez une étiquette:

Le modèle de la PS3 sur la photo est donc CECHP04. Maintenant que vous savez comment connaitre le modèle de votre console, vous pouvez regarder la liste ci-dessous pour connaître la valeur que vous devriez avoir.

L'offset pour le Target ID est: 0002F077, et voici les valeurs suivant les modèles:

Modèles Valeur
CECH-20xx (carte-mère DYN-001) 09
CECH-21xx (carte-mère SUR-001) 0A
CECH-25xx (carte-mère JTP-001) 0B
CECH-25xx (carte-mère JSD-001) 0B
CECHHxx (carte-mère DIA-001) 05 OU 06 OU 07
CECHKxx (carte-mère DIA-002) 07
CECHLxx (carte-mère VER-001) 07 OU 08 OU 09
CECHMxx (carte-mère DIA-001) 03 OU 06
CECHPxx (carte-mère VER-001) 07 OU 08

Pour vous montrer, voici un screen de mon dump pour être sur que vous ayiez bien compris. Mon dump proviens d'une PS3 CECHL04 et donc devrait avoir comme valeur 07, 08 ou 09.

Effectivement on peut voir que j'ai une valeur de 08, donc c'est bon pour le Target ID. Au tour du METLDR maintenant.

Le METLDR est un peu plus complèxe à contrôller, il faut aller chercher 2 valeurs différentes à 2 offsets différents. Mais ne vous en faites pas, je vais tout vous expliquer et vous montrer pour que ce soit le plus claire possible pour vous.
Comme pour le Target ID, les offsets ne changent pas mais les valeurs peuvent varier. Je vais déjà vous donner les offsets, et ensuite un tableau avec les différentes valeurs que vous devriez avoir selon votre modèle de console.

Offstet METLDR: 0000081E et 00000842

Maintenant, voici les valeurs que vous devriez avoir selon votre modèle de console:

Modèles Offset Valeur
CECH-20xx (carte-mère DYN-001) 0000081E
00000842
E9 20 OU E8 90
0E 8E OU 0E 85
CECH-21xx (carte-mère SUR-001) 0000081E
00000842
E9 20 OU E9 60
0E 8E OU 0E 92
CECH-25xx (carte-mère JTP-001)
0000081E
00000842
E9 20 OU E9 60
0E 8E OU 0E 92
CECH-25xx (carte-mère JSD-001) 0000081E
00000842
E9 20 OU E9 60
0E 8E OU 0E 92

NOTE: Si vous avez les valeurs F9 20 à l'offset 0000081E
et les valeurs 0F 8E à l'offset 00000842, pour les Slim 25xx
normalement votre console ne supportera pas la version
3.55 mais supporte la 3.56, donc méthode de jailbreak no-FSM
obligatoire.

CECHHxx (carte-mère DIA-001) 0000081E
00000842
E7 B0 OU E8 C0 OU E8 E0 OU EA 60
0E 77 OU 0E 88 OU 0E 8A OU 0E A2
CECHJxx (carte-mère DIA-002) 0000081E
00000842
E8 E0 OU EA 60
0E 8A OU 0E A2
CECHKxx (carte-mère DIA-002) 0000081E
00000842
EA 60
0E A2
CECHLxx (carte-mère VER-001) 0000081E
00000842
E8 D0 OU E8 90
0E 89 OU 0E 85
CECHMxx (carte-mère DIA-001) 0000081E
00000842
EA 60
0E A2
CECHPxx (carte-mère VER-001) 0000081E
00000842
E8 D0
0E 89

Voilà, maintenant que vous avez les valeurs, vous pouvez aller regarder avec votre éditeur héxadécimale ce que vous avez. Voilà les screenshots de mon dump pour que vous puissiez voir en image.

Et:

Mon dump est toujours le même (PS3 CECHL04). Vous pouvez voir que j'ai les valeurs E8 D0 à l'offset 0000081E et les valeurs 0E 89 à l'offset 00000842.

Et pour finir cette série, il y a encore le BOOTLDR à contrôler. Le contrôle s'effectue de la même façon que le METLDR, c'est-à-dire que vous avez aussi deux valeurs à contrôler sur deux offsets différents. Nous avons des chances d'avoir difféntes valeurs sur les offsets suivant le modèle de votre console.

Offsets BOOTLDR: 00FC0002 et 00FC0012

Modèles Offset Valeur
CECH-20xx (carte-mère DYN-001) 00FC0002
00FC0012
2F 3B OU 2F 13
2F 3B OU 2F 13
CECH-21xx (carte-mère SUR-001) 00FC0002
00FC0012
2F 4B OU 2F 53
2F 4B OU 2F 53
CECH-25xx (carte-mère JTP-001)
00FC0002
00FC0012
2F 4B OU 2F 53
2F 4B OU 2F 53
CECH-25xx (carte-mère JSD-001) 00FC0002
00FC0012
2F 4B OU 2F 53
2F 4B OU 2F 53

Note: Si vous avez les valeurs 2F 5B à l'offset 00FC0002
et 2F 5B à l'offset 00FC0012 OU 2F FB à l'offset 00FC0002
et 2F FB à l'offset 00FC0012, pour les Slims 25xx normalement
votre console ne supportera pas la version 3.55 mais supporte
la 3.56, donc méthode de jailbreak no-FSM obligatoire.

CECHHxx (carte-mère DIA-001) 00FC0002
00FC0012
2F 1C OU 2E F4 OU 2E E3
2F 1C OU 2E F4 OU 2E E3
CECHJxx (carte-mère DIA-002) 00FC0002
00FC0012
2E F4 OU 2E E3
2E F4 OU 2E E3
CECHKxx (carte-mère DIA-002) 00FC0002
00FC0012
2E E3
2E E3
CECHLxx (carte-mère VER-001) 00FC0002
00FC0012
2E AB OU 2E B3 OU 2F 13
2E AB OU 2E B3 OU 2F 13
CECHMxx (carte-mère DIA-001) 00FC0002
00FC0012
2E E3
2E E3
CECHPxx (carte-mère VER-001) 00FC0002
00FC0012
2E AB
2E AB

Maintenant que vous avez les valeurs correspondantes à votre dump, je vais vous montrer en image les valeurs que j'ai sur mon dump (CECHL04)

Et:

Si en contrôllant votre dump vous avez une valeur qui ne correspond pas, n'allez pas plus loin. Recontrôller vos soudure/fixation du clip de votre flasher puis refaites des dumps.

Tête/nom des parties

Maintenant, nous allons passer au contrôler des parties principales qui constituent un dump d'une NOR/NAND.

Comme pour les contrôles précédents, voici un petit tableau avec tous les détails dont vous avez besoin, cette fois si le modèle de votre console n'a pas d'importance, le résultat est le même pour toutes les consoles.

Offset Nom
00000200 IFI
00000420 asecure_loader
00000450 eEID
00000480 cISD
000004B0 cCSD
000004E0 trvk_prg0
00000510 trvk_prg1
00000540 trvk_pkg0
00000570 trvk_pkg1
00000600 cvtrm
00000820 metldr

Je vais maintenant vous montrer quelques screenshots, je ne vais pas tout vous mettre, se serait un peu inutile et une perte de temps. Mais voici comment ça ce présente:
Le METLDR:

L'asecure_loader:(notez que nous pouvons voir les autres parties du dump)

L'IFI (déjà contrôlé précédemment)

  • Note: Voilà en image ci-dessous les noms des en-tête incorrect que vous risquez d'avoir si le dump a été fait avec un E3-Flasher:

Sur ces screenshots vous pouvez voir que le nom est correct mais inversé, c'est simplement que le dump n'a pas été byte reverse.

Encore une fois, je vous redirige vers mon tutoriel pour le faire: Faire un byte reverse

Contenu

Maintenant que vous avez vérifiés que les parties principale que contient un dump sont présentes et aux bons offsets, il faut maintenant contrôler le contenu de ces parties. Rassurez-vous, c'est la dernière étape et c'est assez vite contrôlé. Là encore, les valeurs ne changent pas suivant le modèle que vous avez, c'est pour toutes les mêmes.

Vous allez commencer par contrôller les contenu de l'asecure_loader.

Offset: 00000800.
Valeur: 00 00 00 01 00 00 00 01 00 00 00 00 00 02 E8 00

eEID

Ensuite, l'eEID.

Offset de l'eEID: 0002f000.
Valeure: 00 00 00 06 00 00 1D D0 00 00 00 00 00 00 00 00

cISD

Maintenant le cISD

Offset: 0003f000
Valeure: 00 00 00 03 00 00 02 70 00 00 00 00 00 00 00 00.

cCSD

Continuez ensuite avec le cCSD.

Offset: 0003F800
Valeurs: 00 00 00 01 00 00 08 00 00 00 00 00 00 00 00 00.

trvk_prg0

Ensuite trvk_prg0

Offset: 00040000
Valeure: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 E0.

trvk_prg1

Le suivant, le trvk_prg1.

Offset: 00060000
Valeure: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 E0

trvk_pkg0

Ensuite le trvk_pkg0

Offset: 00080000
Valeure: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 60

trvk_pkg1

Le trvk_pkg1

Offset: 000A0000
Valeure: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 60.

ros0

Au suivant, le ros0

Offset: 000C0000
Valeure: 00 00 00 00 00 00 00 00 00 00 00 00 00 6F FF E0

ros1

La suite du ros0 donc le ros1

Offset: 007C0000
Valeure: 00 00 00 00 00 00 00 00 00 00 00 00 00 6F FF E0.

cvtrm

Ensuite le cvtrm, cette partie est un peu particulière, elle n'a pas de valeur spécifique, il ce peut donc que vous en ayez une différente.

Offset: 00EC0000
Valeure de base: 00 00 00 00 FF FD FF FF FF FF FF FF FF FF FF FF OU 53 43 45 49 FF FD FF FF FF FF FF FF FF FF FF FF ou encore 53 43 45 49 FF FF FF FF FF FF FF FF FF FF FF FF.

Ensuite

Offset: 00F00010
Valeure: 00 00 00 00 0F AC E0 FF 00 00 00 00 DE AD FA CE

Et pour finir le cvtrm

Offset: 00F20000
Valeure: 43 45 4C 4C 5F 45 58 54 4E 4F 52 5F 41 52 45 41

BOOTLDR

Ensuite le BOOTLDR, lui aussi est très particulier car il peut-être composé de différentes valeures suivant votre dump.

Offset: 00FC0000
Valeure de base: 00 00 2E AB B1 94 34 A3 3C F1 C8 66 DF 42 0E 50 OU 00 00 2F 13 41 F7 93 C7 09 41 8F 93 89 44 BA 7A.

  • Note: D'après ma propre expérience, voici une liste des valeures que vous risquez d'avoir suivant votre carte-mère, je précise que si vous avez ces valeurs et que toutes les autres parties du dump sont corrects, votre dump est bon.

Carte-mère JTP-001 ou JSD-001:        00 00 2F 4B 53 92 1C E7 F7 33 41 76 9B 7A 1E D6
OU                                                              00 00 2F 53 53 E6 A0 BB B0 AF A2 00 67 D0 B3 9A
Ou encore:                                                00 00 2F 4B CB 9E 15 24 28 B4 4F D2 F9 3F BC 43

Carte-mère VER-001:                            00 00 2E AB 83 EF B9 76 C4 DE D1 35 32 7C D3 77
OU                                                              00 00 2E AB B1 94 34 A3 3C F1 C8 66 DF 42 0E 50

Carte-mère DIA-001:                             00 00 2E F4 6E ED 04 A0 4E 41 53 2A C1 23 C7 18

Carte-mère DIA-002:                             00 00 2E E3 7B 09 CB EE 00 2F AF 51 59 F8 D5 A8

Carte-mère DYN-001:                            00 00 2F 3B 77 80 B1 34 B6 DF 25 8A 1A BB AB 4D
OU                                                              00 00 2F 13 FA 46 EC 86 57 0F CA AA 06 4E 8A 86

Voilà pour ce qui est des différentes valeures que j'ai put relevé sur différents dump, je le précise encore une fois, si vous avez une valeure qui n'est pas présente ici mais que tout le reste de votre dump est en ordre, vous pouvez continuer.

Vous êtes maintenant arrivé à la fin du tutoriel, vous avez donc terminé pour de ce qui est du contrôle de votre dump. Certe cela prend du temps mais ça reste le moyens le plus fiable de contrôller un dump, si vous avez eu les valeurs qui sont présentes dans ce tutoriel, votre dump est bon et prêt à l'utilisation au besoin.

.

Petit +, si vous ouvrez votre dump et que vous avez ça:

Dès les premiers offset, vous pouvez directement arrêter et refaire un dump, nous pouvons déjà voir qu'il y'a trop de "FF", le dump est corrompu.

Je remercie baileyscream de PS3Hax.net pour son tutoriel en anglais qui m'a aidé. Merci aussi au site PS3DevWiki.com pour les valeurs.

J'espère que ce tutoriel vous aura aidé et assuré de la validité de vos dumps.