XNand Healer GUI v0.6 by Tingedace


Revision History
----------------

0.6  - Now able to browse to and select any file for Image Analysis or Remapping
     - Option to Dump KV and config files either as part of the initial dump or afterwards
     - Add 2 second delay between reads
     - Fixed bug with file locations in the settings where it wouldn't work with a space in the path

0.51 - Supports Multiple Reads in one go
     - Escape to cancel analysis
     - Changed default read length option from 66 to 64

0.5  - Much improved user interface including progress bars during NAND analysis
     - Ability to cancel NAND analysis
     - One-click bad block remapping
     - Added dialog to let you choose how much of the NAND to dump just before reading
     - Fixed bug where big blocks with empty pages (filled with 0x00) could be reported as ECC errors

0.4  - Big Block analysis and fixing now supported
     - Now have the choice to fix NAND either from actual NAND or a virtual nand (image file)
     - Added "CB" readout and exploitable indicator
     - Added partial NAND analysis - can analyze images even if they don't start at block 0
     - Added Absolute and Relative addressing in the Hex Viewer (to accompany partial NAND analysis)

0.31 - Added support for detection of other 16MB NAND with flashconfig 0x00023010

0.3  - Added new capability to analyze and report the integrity of each NAND dump  it 
       reports bad blocks and ECC error blocks (BB NANDs not yet supported)
     - Added Fix NAND feature to automatically re-dump any offending blocks and patch 
       them into the original dump (BB NANDs not yet supported)
     - There is also the option to re-dump the bad blocks, although they shouldnt matter 
       (since theyve been remapped) you may occasionally need to re-dump the bad block just 
       to get an overall matching dump and increase confidence.
     - Added NAND Info tab, which displays any remapped blocks  and ECC error blocks and 
       some basic info about the file (BB NANDs not yet supported)
     - Added very basic Hex Viewer, more of a debug feature but allows you to view dump by 
       block/page.
 
0.2  - Some image updates and graphical enhancements (15-Mar-2010)

0.1  - Initial version.


Install/Requirements
--------------------
1. Simply copy XNandHealer.exe to a folder of choice
2. Requires .net Framework 3.5
3. Requires Nandpro by Tiros (tested with 2.0b, 2.0d and 2.0e)
4. Requires FindSecData 0.62 by boby2pc for UNcrippling


Initial setup
-------------

1. Run XNandHealer GUI.
2. Under Settings, point the app to the locations of Nandpro.exe and FindSecData.exe
3. On the Read Tab, Select the Working directory where your NAND images will go


Instructions to Uncripple
-------------------------

1. Select the desired interface (LPT or USB) and click Detect

2. Under the Read Tab: Choose an image destination slot and click Read NAND. You can use the
default filenames or rename them first. 
  2a. Observe integrity icon against dumped image.
    GREEN TICK = Good dump, no errors or remapped blocks
    EXCLAMATION = Good dump, but contains bad blocks. Only Fix if you're not getting exact matching dumps.
    RED CROSS = Contains ECC error blocks. Click "Fix Selected..." to re-dump the offending blocks
  2b. Select and fix image if there are any errors

3. Repeat for other slots and make sure images match (by observing built-in compare results)

4. Under Write Tab: Select a NAND image file and click FindSecData. A list of recommended 
patches will be displayed.

5. Select the first in the list and click Write NAND, and you're done!
In some cases you may need to keep going through the list of patches until it works.



Features:

 * The fastest most convenient and most reliable way to ensure correct image dumps
 * Able to detect and fix any errors in a NAND dump, making this an excellent aid to JTAG'ing
 * Automatically remap bad blocks - remap your freeBOOT / XBR images to match the original
 * Supports all NAND types, small block and big block
 * Tell at a glance if your console has an expolitable "CB"
 * Provides automated 5 step process to uncripple using the existing excellent
   tools: Nandpro and FindSecData
 * Recognises and supports uncrippling for all NAND types 16MB, 256MB, 512MB
 * Automatically shows if NANDs are identical at a glance as soon as they're dumped
 * Previews the exact write commands to be used before writing
   (Nothing is written back to the NAND without the user seeing the commands first)
 * Easily manage folders containing lots of NAND dumps if you're handling multiple 
   consoles


Notes/Issues:

 * Block numbers of Big Block NANDs are shown in blue to distinguish them from blocks numbers
   of small block NANDs. I did this because Nandpro always deals in small block sizes, even when
   reading and writing big block images. Therefore, if you plan to use Nandpro natively based on
   any block numbers read out from XNH, then make sure to multiply big block values (shown in blue) 
   by 8 before plugging them into Nandpro

 * I've noticed that sometimes Nandpro 2.0d and 2.0e will refuse to read a virtual nand file. I don't
   know why it reads some and not others but the only solution I've found that works is to use 2.0b
   

