Editing Validating flash dumps

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
<div style="float:right">[[File:Dumpchecker.png|200px|thumb|left|Dumpchecker]]</div>
[[Category:Hardware]][[Category:Software]]<div style="float:right">[[File:Dumpchecker.png|200px|thumb|left|Dumpchecker]]</div>


= Why so important? =
= Why so important? =
Whenever you want to mess with flash (NAND or NOR), you have to '''make sure you are getting 100% correct, valid, verified dumps.'''
Whenever you want to mess with flash (NAND or NOR), you have to '''make sure you are getting 100% correct, valid, verified dumps.'''


{{warning|content=If you do not validate your flash, and for some reason(s) the dump is invalid/bad, and you are rewriting to flash, you have <span style="color:red!important;">no way of restoring</span> the console hence making a perma-brick (unrecoverable brick).
{{warning|content=If you do not validate your flash, and for some reason(s) the dump is invalid/bad, and you are rewriting to flash, you have <span style="background-color:white; color:red;">no way of restoring</span> the console hence making a perma-brick (unrecoverable brick).
}}
}}
So what can we use to prevent that, and make sure our dumps are as proper as we can check?
So what can we use to prevent that, and make sure our dumps are as proper as we can check?
= Visual inspection =
<div style="float:right">[[File:HxD.png|thumb|left|HxD - hexeditor]]</div>
Open up the flashdump (make it unified first if it is still 2 seperate NAND dumps) with a hexeditor (e.g. [http://mh-nexus.de/en/hxd/ HxD])<br />and compare what you see with the [[Flash]] page.
== Statistical analysis ==
One neat option in HxD is the analysis option. Open dump file and select Statistics in the Analysis menu. Mouse over the blue graph bars of [[:File:HxD-Analysis-Statistics-mouseover-00.jpg|00]] and [[:File:HxD-Analysis-Statistics-mouseover-FF.jpg|FF]] <br />
{{Dumpstatistics}}
If you do not have HxD many other hex editors have a statistics option. If you want a standalone application that specifically informs you on the validity of the given statistical range (NOR only) use the [http://betterwayelectronics.com/files/BwE%20NOR%20Statistics%20v1.4.exe BwE NOR Statistics application].
== Bytereversed ==
  00 00 00 00 AC 0F FF E0 00 00 00 00 AD DE EF BE  (HEX)  and  saceru_eoldare  (Text)  RAW/PS3 readable - this is E3 default byteorder
  instead of
  00 00 00 00 0F AC E0 FF 00 00 00 00 DE AD BE EF  (HEX)  and  asecure_loader  (Text)  REV/Human readable - this is Progskeet default byteorder
You can use either the bytereverse option in the the flasher application and redump, or bytereverse the current dump with [[Validating_flash_dumps#Flowrebuilder|Flowrebuilder]] or [http://www.neillcorlett.com/cmdpack/ cmdline tools] (using record to swap: 2).
== Only zeroes ==
00 00 00 00 00 00 00 00 00 where data should've been
* Seems reading is a problem, mostly caused by bad wiring/clip seating -> check
== patterned non zeroes / patterned non ff's ==
  30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
  00 80 00 80 00 80 00 80 00 80 00 80 00 80 00 80  where zeroes should've been
  EF FF EF FF EF FF EF FF EF FF EF FF EF FF EF FF  where FF's should've been
* Seems reading is a problem, mostly caused by bad wiring/clip seating -> check
* Can also be caused by bad grounding, too low Vcc, interference or too long wires -> check
== patterned FF's ==
  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  repetive banding of FF's where data or zeroes should have been
* Seems reading is a problem, mostly caused by bad wiring/clip seating -> check
== malformed headers / filenames / regionnames ==
  IJI              instead of  IFI
  asecure_loaher                asecure_loader
  eIIH                          eEID
  cESH                          cISD
  cCSH                          cCSD
  trvg_prk0                    trvk_prg0
  trvg_prk1                    trvk_prg1
  trvg_pkk0                    trvk_pkg0
  trvg_pkk1                    trvk_pkg1
  cztrm                        cvtrm
  mitldr                        metldr
* Seems reading is a problem, mostly caused by bad wiring/clip seating -> check
== absent files / regions ==
  00FC0000  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ    missing bootldr in NOR
  00000000  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ    missing bootldr in NAND
* Seems reading is a problem, mostly caused by bad wiring/clip seating -> check
== malformed files / regions ==
  00FC0000  28 B4 4F D2 F9 3F BC 43 28 B4 4F D2 F9 3F BC 43  (´OÒù?¼C(´OÒù?¼C    corrupted bootldr in NOR (it should always start with 00 00 there)
* Seems reading is a problem, mostly caused by bad wiring/clip seating -> check
== Repetitions ==
take 16 bytes of an offset that should be unique, e.g. the 0x10 offset which normaly has the DEADBEEF magic header :
  NOR: 0x0000010 00 00 00 00 0F AC E0 FF 00 00 00 00 DE AD BE EF  //  NAND: 0x040010 00 00 00 00 0F AC E0 FF 00 00 00 00 DE AD BE EF
And find all instances in hexeditor <br />
When it says found in 0x10 and 0x10010 you substract them (0x10010 - 0x10 = 0x10000) <br />
So that means there is an error with setting 0x10000 (only one bit set!) low <br />
because the programmer applies 0x10010 but the actual data on the address lines (received by the nor flash) is 0x10 <br />
Other semistatics: http://pastebin.com/7QMpLSBw (not all unique, but can be used to check offsetting by bad addresslines)
=== Checking again with other unique 16 byte sequence ===
  617365637572655F6C6F616465720000 (asecure_loader in hex)
Same check, found at 0x420 and 0x10420 (0x10420-0x420 = 0x10000)
=== OK, you've found the pattern, now how do we deduct from that the faulty line? ===
address is 2 bytes. 0x10 in dump with hexeditor is in reality 0x8 on the address bus because we read 2 bytes at once <br />
so the address is no longer 0x10000 but 0x8000 <br />
0x8000 (hexadecimal = base 16) = 1000 0000 0000 0000 (binary = base 2) <br />
which means the 16th bit = 1, we start counting at A0, so the 16th is A15 <br />
conclusion : A15 is bad
<!--// Well here is a program that will verify the size of the dump, check the header 0xDEADBEEF and its repetation and shows you which address line is bad and it will also check if the console is downgradable or not by looking at the bootloader data. So with this tool you have all in one checker but even we will say you to verify the dump manually or using flowrebuilder also, Link to the program: http://www.sendspace.com/file/byubqj
This program will check for bad file size as well as if the magic header are repeated or not and also calculate the difference of repeated header and tell you which address line is bad. If the dump is good it will tell you weather the console is downgradable or not? //-->
==== Quick lookup table ====
{| class="wikitable"
|-
! repetition !! addressline 'stuck'
|-
| 0x2 || A0
|-
| 0x4 || A1
|-
| 0x8 || A2
|-
| 0x10 || A3
|-
| 0x20 || A4
|-
| 0x40 || A5
|-
| 0x80 || A6
|-
| 0x100 || A7
|-
| 0x200 || A8
|-
| 0x400 || A9
|-
| 0x800 || A10
|-
| 0x1000 || A11
|-
| 0x2000 || A12
|-
| 0x4000 || A13
|-
| 0x8000 || A14
|-
| 0x10000 || A15
|-
| 0x20000 || A16
|-
| 0x40000 || A17
|-
| 0x80000 || A18
|-
| 0x100000 || A19
|-
| 0x200000 || A20
|-
| 0x400000 || A21
|-
| 0x800000 || A22
|-
| 0x1000000 || A23
|-
| 0x2000000 || A24
|-
| 0x4000000 || A25
|-
| 0x8000000 || A26
|-
| 0x10000000 || A27
|-
| 0x20000000 || A28
|-
| 0x40000000 || A29
|-
| 0x80000000 || A30
|-
|}
== Check metldr+bootldr sizes ==
{{warning|content=If they are even missing or bad, its a sure road to permabrick
}}
Note: There is a program that will list some of the important information below and more - automatically! [http://www.betterwayelectronics.com/files/BwE_NOR_NAND_Dump_Info.rar BwE NOR/NAND Dump Info]
<br>
<br />
{{metbootldr}}


= Flowrebuilder =
= Flowrebuilder =
Line 178: Line 12:


== Links to versions ==
== Links to versions ==
http://www.psdevwiki.com/files/flash/Tools/Flowrebuilder/
http://www.ps3devwiki.com/files/flash/Tools/Flowrebuilder/


* [http://www.mediafire.com/download/5arighgxi8dt9zr/FlowRebuilder_5.0.rar FlowRebuilder v5.0.0.0] (windows compile) // [http://www.mediafire.com/download/n973ic4b53v35kq/FlowRebuilder_Sources.rar FlowRebuilder v5.0.0.0 sources]
  4.2.3.0 changelog
 
  -----------------
v5.0.0.0 changelog
------------------
I'm not offering to patch NAND dumps anymore that original FlowRebuilder couldn't handle.
So I've decided to release my modified version of FlowRebuilder that can handle any dump
(been too lazy to create a new tool that would do the exact same thing.. ).
There's not much to say, you just use it like the original one. It's been tested with 700+
dumps which the original version couldn't handle. So if you get an error while unscrambling,
you can be 100% certain that at least one of your two raw dumps is bad. On the other hand a
successful unscramble doesn't mean your dumps are valid. It's not a validator.
I've also added a block mapping editor that enables you to move blocks around on the raw
dumps. In 99.9% of cases you will not need this feature. It's only required if you for
example swap out the original nands and replace them with spare ones that have bad blocks
on them. Theoretically it might also happen that a valid block goes bad while writing back
your dumps to the original nands. But actually I've never heard of this happening to anyone.
 
  v4.2.3.0 changelog
  ------------------
  added support to manage NAND preloader dumps
  added support to manage NAND preloader dumps
  message user about the type of dump
  message user about the type of dump
Line 206: Line 21:
  auto-recognize if dump is normal or byte swapped and automanage them
  auto-recognize if dump is normal or byte swapped and automanage them


* [http://www.psdevwiki.com/files/flash/Tools/Flowrebuilder/FlowRebuilder%20v.4.2.3.0.exe FlowRebuilder v.4.2.3.0.exe (367 KB)] // [https://www.mirrorcreator.com/files/KW6KSPLE/FlowRebuilder_v.4.2.3.0.exe_links mirror] [https://mega.co.nz/#!2osW1KCD!qdVNcmiWN1-1vrI2m5KZIHijs2Raz-hCRl4MD87qSRI mirror] [https://mega.co.nz/#!yxFTgLhZ!Kv7NsUU-3sIQIOUBeqmud7MbZ7kCoXIybTIjwrRJw-4 mirror]
* [http://www.ps3devwiki.com/files/flash/Tools/Flowrebuilder/FlowRebuilder%20v.4.2.3.0.exe FlowRebuilder v.4.2.3.0.exe (367 KB)] // [http://www.mirrorcreator.com/files/1HWLWYIY/FlowRebuilder_v.4.2.3.0.exe_links mirror] [http://www.mirrorcreator.com/files/1NYWARZT/FlowRebuilder_v.4.2.3.0.exe_links mirror2]
* [http://www.psdevwiki.com/files/flash/Tools/Flowrebuilder/FlowRebuilder%20v.4.2.2.0.exe FlowRebuilder v.4.2.2.0.exe (389 KB)] // [https://www.mirrorcreator.com/files/19K82EY6/FlowRebuilder_v.4.2.2.0.exe_links mirror] [https://mega.co.nz/#!LtND3KZK!WnG3Cgv7YKDnt_2wvJoaGHG4M8FvGROqwPcxToAbwls mirror]
* [http://www.ps3devwiki.com/files/flash/Tools/Flowrebuilder/FlowRebuilder%20v.4.2.2.0.exe FlowRebuilder v.4.2.2.0.exe (389 KB)] // [http://www.mirrorcreator.com/files/7G5JLEK9/FlowRebuilder_v.4.2.2.0.exe_links mirror] [http://www.multiupload.nl/0ND4D0QW9Q mirror 2] [http://www.mirrorcreator.com/files/TJKTQQWB/FlowRebuilder_v.4.2.2.0.exe_links mirrors]
* [http://www.psdevwiki.com/files/flash/Tools/Flowrebuilder/FlowRebuilder%20v.4.2.1.2.exe FlowRebuilder v.4.2.1.2.exe (313.50 KB)] // [https://www.mirrorcreator.com/files/6KXKQFTD/FlowRebuilder_v.4.2.1.2.exe_links mirror] [https://mega.co.nz/#!3sVjAbKD!7g_AqD-UHQwbnsW6_-6ilWfNpZUo8H14s7ntuDKndSE mirror]
* [http://www.ps3devwiki.com/files/flash/Tools/Flowrebuilder/FlowRebuilder%20v.4.2.1.2.exe FlowRebuilder v.4.2.1.2.exe (313.50 KB)] // [http://www.mirrorcreator.com/files/08SGK09K/FlowRebuilder_v.4.2.1.2.exe_links mirror]
* [http://www.psdevwiki.com/files/flash/Tools/Flowrebuilder/FlowRebuilder%20v.4.2.1.1.exe FlowRebuilder v.4.2.1.1.exe (473.57 KB)] // [https://www.mirrorcreator.com/files/VQPOGWF3/FlowRebuilder_v.4.2.1.1.exe_links mirror] [https://mega.co.nz/#!CkV3iRKL!-HLkzqdmCnfFSy3o6AzdM8YJbfKKuoFSzRkR8nM-u94 mirror]
* [http://www.ps3devwiki.com/files/flash/Tools/Flowrebuilder/FlowRebuilder%20v.4.2.1.1.exe FlowRebuilder v.4.2.1.1.exe (473.57 KB)] // [http://www.mirrorcreator.com/files/GUUUKNWE/FlowRebuilder_v.4.2.1.1.exe_links mirror]
* [http://www.psdevwiki.com/files/flash/Tools/Flowrebuilder/FlowRebuilder%20v.4.2.0.1.exe FlowRebuilder v.4.2.0.1.exe (474.01 KB)] // [https://www.mirrorcreator.com/files/A8JQ3AEL/FlowRebuilder_v.4.2.0.1.exe_links mirror] [https://mega.co.nz/#!fx8FiAiK!WpVn5cNnW9d6lspu0d1j1ke8PUQaiTNe68xHd6tZJzw mirror]
* [http://www.ps3devwiki.com/files/flash/Tools/Flowrebuilder/FlowRebuilder%20v.4.2.0.1.exe FlowRebuilder v.4.2.0.1.exe (474.01 KB)] // [http://www.mirrorcreator.com/files/C4U1C3OO/FlowRebuilder_v.4.2.0.1.exe_links mirror]
* [http://www.psdevwiki.com/files/flash/Tools/Flowrebuilder/FlowRebuilder+v.4.1.3.2.exe FlowRebuilder v.4.1.3.2.exe (459.95 KB)] // [https://www.mirrorcreator.com/files/0YNUCKKW/FlowRebuilder_v.4.1.3.2.exe_links mirror] [https://mega.co.nz/#!P1lVSRYK!4usJC9eh1eyM5g2kkqfHSLuJ4weebixAFidtWgEZ2F8 mirror]
* [http://www.ps3devwiki.com/files/flash/Tools/Flowrebuilder/FlowRebuilder+v.4.1.3.2.exe FlowRebuilder v.4.1.3.2.exe (459.95 KB)] // [http://www.mirrorcreator.com/files/1UEPOIHX/FlowRebuilder_v.4.1.3.2.exe_links mirror]
* [http://www.psdevwiki.com/files/flash/Tools/Flowrebuilder/FlowRebuilder%20v.4.1.0.0.exe FlowRebuilder v.4.1.0.0.exe (454.85 KB)] // [https://www.mirrorcreator.com/files/YPZBUIPL/FlowRebuilder_v.4.1.0.0.exe_links mirror] [https://mega.co.nz/#!b40iUYRA!CObvcYPrdMjUoL-7X851EUrU8nrXaiXiD121GbIbc0g mirror] (don't use, for historic reasons listed)
* [http://www.ps3devwiki.com/files/flash/Tools/Flowrebuilder/FlowRebuilder%20v.4.1.0.0.exe FlowRebuilder v.4.1.0.0.exe (454.85 KB)] // [http://www.mirrorcreator.com/files/EC2ZFONW/FlowRebuilder_v.4.1.0.0.exe_links mirror] (don't use, for historic reasons listed)
* FlowRebuilder v.4.0.0.2.exe () [https://www.mirrorcreator.com/files/9ZL4C0RG/FlowRebuilder_v.4.0.0.2.exe_links mirror] [https://mega.co.nz/#!r08mGYrb!W1KONq7XfxIsVWmH2PeXH9yEvQzZlPD6ZPl9cJmIdPg mirror] (don't use, for historic reasons listed)


==Flowrebuilder options==
==Flowrebuilder options==
Line 233: Line 47:
<div style="float:right">[[File:Nand-extract-noerror.png|200px|thumb|left|Flowrebuilder extraction no error]]<br />[[File:Nand-extract-error2.png|200px|thumb|left|Flowrebuilder extraction error]]</div>
<div style="float:right">[[File:Nand-extract-noerror.png|200px|thumb|left|Flowrebuilder extraction no error]]<br />[[File:Nand-extract-error2.png|200px|thumb|left|Flowrebuilder extraction error]]</div>


<span style="color:red!important;">(make sure they are all there, flowrebuilder will not give warning when it fails!)</span>:
<span style="background-color:white; color:red;">(make sure they are all there, flowrebuilder will not give warning when it fails!)</span>:
* bootloader_0
* bootloader_0
* bootloader_1 (NAND only)
* bootloader_1 (NAND only)
Line 255: Line 69:
== From unified to seperate low/high NAND files ==
== From unified to seperate low/high NAND files ==
If for some reason you lose the original seperate low/high NAND files and only have the <abbr title="unscrambled then interleaved 2 NAND to unified dump">unified</abbr>, you need donor files to regenerate them.  
If for some reason you lose the original seperate low/high NAND files and only have the <abbr title="unscrambled then interleaved 2 NAND to unified dump">unified</abbr>, you need donor files to regenerate them.  
* [[Media:NAND0-1.rar|NAND0-1.rar]]
* [http://www.ps3devwiki.com/files/flash/dumps/NAND0-1.rar NAND0-1.rar] [http://www.mirrorcreator.com/files/LTVIJEAK/NAND0-1.rar_links mirror]
extract and in Flowrebuilder select the option "RE-SCRAMBLE a modified dump then de-interleave it into two new flashes"
extract and in Flowrebuilder select the option "RE-SCRAMBLE a modified dump then de-interleave it into two new flashes"
* Select the NAND backup "Flash 0" (TOP) file : here drop the 1bkp.bin
* Select the NAND backup "Flash 0" (TOP) file : here drop the 1bkp.bin
Line 275: Line 89:
=== How? ===
=== How? ===
1 - Place your .bin/s in the same folder as the validator.<br>
1 - Place your .bin/s in the same folder as the validator.<br>
2 - Run the validator '''(in Administrator mode if using Windows Vista or higher)''' and press Start.<br>
2 - Run the validator and press Start.<br>
3 - A console will appear asking you to select your dump (if you have more than one in the folder).<br>
3 - A console will appear asking you to select your dump (if you have more than one in the folder).<br>
4 - Make your selection and/or select if you want to patch it (either in its current byte orientation or the opposite).<br>
4 - Make your selection and/or select if you want to patch it (either in its current byte orientation or the opposite).<br>
Line 286: Line 100:
The program will then open a html output illustrating everything that has been validated. Scroll through or use the menu at the top and read each section.
The program will then open a html output illustrating everything that has been validated. Scroll through or use the menu at the top and read each section.


If a validation says 'warning' or 'danger' investigate it yourself manually using a hex editor, or contact somebody knowledgeable. Only corruption messages will show you the exact offset to look at, everything else won't so this is where you have to read/learn about it on the psdevwiki.  
If a validation says 'warning' or 'danger' investigate it yourself manually using a hex editor, or contact somebody knowledgeable. Only corruption messages will show you the exact offset to look at, everything else won't so this is where you have to read/learn about it on the ps3devwiki.  


Some validations will tell you that you need to patch it (e.g. TRVK_PRG0 / TRVK_PRG1 / TRVK_PKG0 / TRVK_PKG1 / ROS0 / ROS1 errors or warnings), if this is the case then do so (don't forget to rename the patched dump e.g. bkpps3.bin_patched to bkpps3.bin_patched.bin) and re-validate the '3.55 FSM' patched dump (you can move the original unpatched dump to make sure it is checking the patched one).
Some validations will tell you that you need to patch it (e.g. TRVK_PRG0 / TRVK_PRG1 / TRVK_PKG0 / TRVK_PKG1 / ROS0 / ROS1 errors or warnings), if this is the case then do so (don't forget to rename the patched dump e.g. bkpps3.bin_patched to bkpps3.bin_patched.bin) and re-validate the patched dump (you can move the original unpatched dump to make sure it is checking the patched one).


If your dump has any 'danger' messages in the per console sections (find them in the menu) then there is a good chance its completely ruined and unfixable. Also, if your dump has a large amount of 'danger' messages then there is a serious issue - bad wiring can be discovered if you have any repetition in the dump.
If your dump has any 'danger' messages in the per console sections (find them in the menu) then there is a good chance its completely ruined and unfixable. Also, if your dump has a large amount of 'danger' messages then there is a serious issue - bad wiring can be discovered if you have any repetition in the dump.
If a bkpps3_patched.bin output file is not produced, you need to run the program in Administrator Mode or turn off UAC.


=== Areas Of Validation ===
=== Areas Of Validation ===
# Statistics
* Statistics
# First Region Header
* First Region Header
# Flash Format
* Flash Format
# Flash Region
* Flash Region
# Asecure_Loader/Metldr
* Asecure_Loader/Metldr
# Asecure_Loader/Metldr Corrupt Sequences
* Asecure_Loader/Metldr Corrupt Sequences
# Asecure_Loader/Metldr Encrypted Statistics/Entropy
* Asecure_Loader/Metldr Encrypted Statistics/Entropy
# EID
* EID
# EID0
* EID0
# EID1
* EID1
# EID2
* EID2
# EID3
* EID3
# EID4
* EID4
# EID5
* EID5
# IDPS
* IDPS
# CISD
* CISD
# CISD0
* CISD0
# CISD1
* CISD1
# CISD2
* CISD2
# CCSD
* CCSD
# CCSD0
* CCSD0
# TRVK_PRG0
* TRVK_PRG0
# TRVK_PRG1
* TRVK_PRG1
# TRVK_PKG0
* TRVK_PKG0
# TRVK_PKG1
* TRVK_PKG1
# ROS0
* ROS0
# ROS1
* ROS1
# ROS0/1 AuthID's/MD5's
* ROS0/1 AuthID's/MD5's
# Revoke/CoreOS MD5's
* Revoke/CoreOS MD5's
# CVTRM/VTRM0
* CVTRM/VTRM0
# VTRM 1
* VTRM 1
# Second Region Header
* Second Region Header
# Second Region Block 0
* Second Region Block 0
# Second Region Block 1
* Second Region Block 1
# CELL_EXTNOR_AREA
* CELL_EXTNOR_AREA
# Lv0ldr/Bootldr
* Lv0ldr/Bootldr
# Lv0ldr/Bootldr Corrupt Sequences
* Lv0ldr/Bootldr Corrupt Sequences
# Lv0ldr/Bootldr Statistics/Entropy
* Lv0ldr/Bootldr Statistics/Entropy
# Minimum Version
* Minimum Version
# File Digest Keys
* File Digest Keys
# PerConsole Nonce
* PerConsole Nonce
# Corrupt Sequences
* Corrupt Sequences
# Repetition
* Repetition
# Authority ID
* Authentication IDs


=== Download ===
=== Download ===
BwE NOR Validator v1.31.rar
[http://betterwayelectronics.com/files/BwE_NOR_Validator.rar BwE NOR Validator v1.31]
https://mega.co.nz/#!9FV3TJib!FXqhSFu1jLJ6-nhb3qs3CQT5na9-h1CXPn8BpoW3y_o
 
Application MD5: 28F0CD55255FE60E3F6D8AF90698440C<br>


==== Changelog ====
==== Changelog ====
{{Anchored|Note}}: 1.31 does not recognise 4.45/4.46 and later, to
doublecheck ROS/RVK with [https://github.com/hjudges/NORway/raw/master/norpatch.exe norpatch] (recommended) or ignore ROS/RVK you can choose to prepatch it (second best option)
* 1.31 - 27/05/2013 : added eid4 + fixed bug in entropy (note: possibly final version, unless adding firmware revisions/new consoles)
* 1.31 - 27/05/2013 : added eid4 + fixed bug in entropy (note: possibly final version, unless adding firmware revisions/new consoles)
* 1.30 - 21/05/2013 : completely rewritten eid, cisd, ccsd + added more validations to it, upgraded other minor validations. all due to upcoming nand validator
* 1.30 - 21/05/2013 : completely rewritten eid, cisd, ccsd + added more validations to it, upgraded other minor validations. all due to upcoming nand validator
Line 381: Line 191:
There are almost infinite variations of each dump! Have fun and good luck! <br>
There are almost infinite variations of each dump! Have fun and good luck! <br>


If you do not validate your flash, and for some reason(s) the dump is invalid/bad, and you are rewriting to flash, you have <span style="color:red!important;">no way of restoring</span> the console hence making a perma-brick (unrecoverable brick).}}
If you do not validate your flash, and for some reason(s) the dump is invalid/bad, and you are rewriting to flash, you have <span style="background-color:white; color:red;">no way of restoring</span> the console hence making a perma-brick (unrecoverable brick).}}<br /><br /><br /><br /><br /><br />




Line 403: Line 213:
File:Screenshot.jpg
File:Screenshot.jpg
File:Sshot-147.jpg
File:Sshot-147.jpg
File:BwE NOR Dump Statistics example.jpg
File:BwE NOR Revokation CoreOS MD5 Checker.jpg
</gallery>
</gallery>


Line 429: Line 237:
The program will then open a html output illustrating everything that has been validated. Scroll through or use the menu at the top and read each section.
The program will then open a html output illustrating everything that has been validated. Scroll through or use the menu at the top and read each section.


If a validation says 'warning' or 'danger' investigate it yourself manually using a hex editor, or contact somebody knowledgeable. Only corruption messages will show you the exact offset to look at, everything else won't so this is where you have to read/learn about it on the psdevwiki.  
If a validation says 'warning' or 'danger' investigate it yourself manually using a hex editor, or contact somebody knowledgeable. Only corruption messages will show you the exact offset to look at, everything else won't so this is where you have to read/learn about it on the ps3devwiki.  


Some validations will tell you that you need to patch it (e.g. ROS0 / ROS1 errors or warnings), if this is the case then do so (don't forget to rename the patched dump) and re-validate the patched dump (you can move the original unpatched dump to make sure it is checking the patched one).
Some validations will tell you that you need to patch it (e.g. ROS0 / ROS1 errors or warnings), if this is the case then do so (don't forget to rename the patched dump) and re-validate the patched dump (you can move the original unpatched dump to make sure it is checking the patched one).
Line 436: Line 244:


=== Areas Of Validation ===
=== Areas Of Validation ===
# Lv0ldr/Bootldr
* Lv0ldr/Bootldr
# Lv0ldr/Bootldr Corrupt Sequences
* Lv0ldr/Bootldr Corrupt Sequences
# Lv0ldr/Bootldr Statistics/Entropy
* Lv0ldr/Bootldr Statistics/Entropy
# First Region Header
* First Region Header
# Flash Format
* Flash Format
# Flash Region
* Flash Region
# Asecure_Loader/Metldr
* Asecure_Loader/Metldr
# Asecure_Loader/Metldr Corrupt Sequences
* Asecure_Loader/Metldr Corrupt Sequences
# Asecure_Loader/Metldr Encrypted Statistics/Entropy
* Asecure_Loader/Metldr Encrypted Statistics/Entropy
# EID
* EID
# EID0
* EID0
# EID1
* EID1
# EID2
* EID2
# EID3
* EID3
# EID4
* EID4
# EID5
* EID5
# IDPS
* IDPS
# CISD
* CISD
# CISD0
* CISD0
# CISD1
* CISD1
# CISD2
* CISD2
# CCSD
* CCSD
# CCSD0
* CCSD0
# TRVK_PRG0
* TRVK_PRG0
# TRVK_PRG1
* TRVK_PRG1
# TRVK_PKG0
* TRVK_PKG0
# TRVK_PKG1
* TRVK_PKG1
# ROS0
* ROS0
# ROS1
* ROS1
# ROS0/1 AuthID's/MD5's
* ROS0/1 AuthID's/MD5's
# CoreOS MD5's
* CoreOS MD5's
# CVTRM/VTRM0
* CVTRM/VTRM0
# VTRM 1
* VTRM 1
# CELL_EXT_OS_AREA
* CELL_EXT_OS_AREA
# OtherOS
* OtherOS
# Lv0ldr/Bootldr
* Lv0ldr/Bootldr
# Lv0ldr/Bootldr Corrupt Sequences
* Lv0ldr/Bootldr Corrupt Sequences
# Lv0ldr/Bootldr Statistics/Entropy
* Lv0ldr/Bootldr Statistics/Entropy
# Minimum Version
* Minimum Version
# File Digest Keys
* File Digest Keys
# PerConsole Nonce
* PerConsole Nonce
# Corrupt Sequences
* Corrupt Sequences
# Repetition
* Repetition
# Authority IDs
* Authenticiation IDs


=== Download ===
=== Download ===
* [http://betterwayelectronics.com/files/BwE_NAND_Validator.rar BwE NAND Validator v1.02]  
[http://betterwayelectronics.com/files/BwE_NAND_Validator.rar BwE NAND Validator v1.02]  
* http://www.dashhacks.com/downloads/viewdownload/5-ps3-downloads/8928-bwe-nand-validator.html
* http://www.eurasia.nu/modules.php?name=Downloads&d_op=viewdownloaddetails&lid=10031&ttitle=BwE_NAND_Validator_v1.02
* http://www.gamergen.com/telecharger/bwe-nand-validator-1-02-bwe-verification-dump-nor-logiciel-windows-puce-hardware-materiel-84317


Application MD5: F874983FABA32EA520A4A06057A3691C<br>
Application MD5: F874983FABA32EA520A4A06057A3691C<br>
Line 499: Line 304:


=== Warning ===
=== Warning ===
{{warning|content=Using this program is [[NOT]] a 100% way of validating your dumps (because ''nothing'' is), but it is a good way of quickly seeing if it is worth checking further. This program will NOT check anything other than what is stated. ALWAYS CHECK MANUALLY!
{{warning|content=Using this program is [[NOT]] a 100% way of validating your dumps (because ''nothing'' is), but it is a good way of quickly seeing if it is worth checking further. This program will NOT work with NAND and will not check anything other than what is stated. ALWAYS CHECK MANUALLY!


Use at own risk! Valid dumps may be invalid - Invalid dumps may be valid. <br>
Use at own risk! Valid dumps may be invalid - Invalid dumps may be valid. <br>
There are almost infinite variations of each dump! Have fun and good luck! <br>
There are almost infinite variations of each dump! Have fun and good luck! <br>


If you do not validate your flash, and for some reason(s) the dump is invalid/bad, and you are rewriting to flash, you have <span style="color:red!important;">no way of restoring</span> the console hence making a perma-brick (unrecoverable brick).}}
If you do not validate your flash, and for some reason(s) the dump is invalid/bad, and you are rewriting to flash, you have <span style="background-color:white; color:red;">no way of restoring</span> the console hence making a perma-brick (unrecoverable brick).}}<br /><br /><br /><br /><br /><br />
 


=== Notes ===
=== Notes ===
Line 542: Line 348:
=== Notes/Warning ===
=== Notes/Warning ===
{{warning|content=Using this program is [[NOT]] a 100% way of validating your dumps (because ''nothing'' is), but it is a good way of quickly seeing if it is worth checking further. This program will NOT work with NAND and will not check anything other than what is stated. ALWAYS CHECK MANUALLY!<br /><br />
{{warning|content=Using this program is [[NOT]] a 100% way of validating your dumps (because ''nothing'' is), but it is a good way of quickly seeing if it is worth checking further. This program will NOT work with NAND and will not check anything other than what is stated. ALWAYS CHECK MANUALLY!<br /><br />
If you do not validate your flash, and for some reason(s) the dump is invalid/bad, and you are rewriting to flash, you have <span style="color:red!important;">no way of restoring</span> the console hence making a perma-brick (unrecoverable brick).
If you do not validate your flash, and for some reason(s) the dump is invalid/bad, and you are rewriting to flash, you have <span style="background-color:white; color:red;">no way of restoring</span> the console hence making a perma-brick (unrecoverable brick).
}}
}}


Line 554: Line 360:




= PS3 NOR/NAND Statistic =
= PS3 NOR/NAND Statistic (Beta) =


=== Features ===
=== Features ===
Line 573: Line 379:
ckp_management_ID values have to be equal as well as per_console_nonce. (should be stated in error.log if not)
ckp_management_ID values have to be equal as well as per_console_nonce. (should be stated in error.log if not)


There is one easy rule! If the error.log contains an entry, your dump is definitely broken!
There is one easy rule! If the error.log contains an entry, your dump is definetly broken!


Ros section is excluded from validation. Why? It´s easy to repair, the whole section gets patched anyway and it leads to the rule above.
Ros section is excluded from validation. Why? It´s easy to repair, the hole section gets patched anyway and it leads to the rule above.


For NAND all known sections gets checked. But a big part is not or only rarely documented. So the whole part after cvtrm, cell_ext_os_area, OtherOS and unreferenced area at the end won´t be checked. It´s very important that you have look at the statistics and the "corrupt block count" of flowrebuilder when interleaving.  
For NAND all known sections gets checked. But a big part is not or only rarely documented. So the hole part after cvtrm, cell_ext_os_area, OtherOS and unreferenced area at the end won´t be checked. It´s very important that you have look at the statistics and the "corrupt block count" of flowrebuilder when interleaving.  


It´s always recommended to check dumps manually with an hexeditor, and using other tools for validation, to be as safe as possible!
It´s always recommended to check dumps manually with an hexeditor, and using other tools for validation, to be as save as possible!
As long as it is not possible to decrypt the full dump, it`s impossible to validate it to 100%.
As long as it is not possible to decrypt the full dump, it`s impossible to validate it to 100%.


Line 587: Line 393:


=== Download ===
=== Download ===
* [https://content.wuala.com/contents/sinsizer/test/dumpstatistic.rar/?dl=1&key=lrmnHL2URm6D dumpstatistic.rar]
* http://rghost.net/45369360
* http://rghost.net/45369360
* http://temp-share.com/show/FHKdyGTU6
* http://temp-share.com/show/FHKdyGTU6


=== Notes/Warning ===
=== Notes/Warning ===
{{warning|content=Using this program is [[NOT]] a 100% way of validating your dumps (because ''nothing'' is), but it is a good way of quickly seeing if it is worth checking further. This program will not check anything other than what is stated. ALWAYS CHECK MANUALLY!<br><br /><br />
{{warning|content=Using this program is [[NOT]] a 100% way of validating your dumps (because ''nothing'' is), but it is a good way of quickly seeing if it is worth checking further. This program will not check anything other than what is stated. ALWAYS CHECK MANUALLY!<br><br /><br />
If you do not validate your flash, and for some reason(s) the dump is invalid/bad, and you are rewriting to flash, you have <span style="color:red!important;">no way of restoring</span> the console hence making a perma-brick (unrecoverable brick).
If you do not validate your flash, and for some reason(s) the dump is invalid/bad, and you are rewriting to flash, you have <span style="background-color:white; color:red;">no way of restoring</span> the console hence making a perma-brick (unrecoverable brick).
}}
}}


Line 599: Line 405:
<gallery>
<gallery>
File:PS3 NOR-NAND Statistic (Beta).jpg|PS3 NOR-NAND Statistic (Beta)
File:PS3 NOR-NAND Statistic (Beta).jpg|PS3 NOR-NAND Statistic (Beta)
</gallery>
= PS3 Dump Checker =
https://github.com/Swizzy/PS3DumpChecker
(included also in PS3 Flash Tool 4.65 update1)
=== Download ===
* https://github.com/Swizzy/PS3DumpChecker/blob/master/Latest%20Compiled%20Version/PS3DumpChecker.exe?raw=true
=== Notes/Warning ===
{{warning|content=Using this program is [[NOT]] a 100% way of validating your dumps (because ''nothing'' is), but it is a good way of quickly seeing if it is worth checking further. This program will not check anything other than what is stated. ALWAYS CHECK MANUALLY!<br><br /><br />
If you do not validate your flash, and for some reason(s) the dump is invalid/bad, and you are rewriting to flash, you have <span style="color:red!important;">no way of restoring</span> the console hence making a perma-brick (unrecoverable brick).
}}
=== Gallery ===
<gallery>
File:Ps3-flash-tool-465-unofficial.png|PS3 Dump Checker - ps3-flash-tool-465-unofficial
File:PS3 Dump Checker v1.0 (Build 416).png|PS3 Dump Checker v1.0 (Build 416)
</gallery>
</gallery>


Line 668: Line 455:
* the one making the validator (for not properly validating, warning users and telling ''what'' is wrong and/or ''how'' it could be solved);
* the one making the validator (for not properly validating, warning users and telling ''what'' is wrong and/or ''how'' it could be solved);
* the enduser for flying blind and getting lazy/dumb with it.
* the enduser for flying blind and getting lazy/dumb with it.
{{Hardware Flashers}}<noinclude>[[Category:Main]]</noinclude>
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)