Modo de EmpleoAntes que nada, tendremos que descargar el propio NANDflasher de
aquí.
Una vez que lo tenemos junto con nuestro DLL que comentabamos anteriormente, copiamos ambos archivos (
nandflasher.exe y
FTD2XX.DLL) en la misma carpeta, por ejemplo en
C:/nandflasher/ y, bajo Win32, abrimos un diálogo de MS-DOS (Inicio-Ejecutar-cmd) y, según lo que queramos hacer, habremos de poner una u otra cosa:
Sobre las "Unidades"A la hora de usar este flasheador por línea de comando como veremos más adelante, tenemos que tener en cuenta que, en total, existen 3 tipos de unidades, dependiendo de nuestro sistema con el que trabajemos.
De esta manera, indistintamente para UP o Devolution (excepto en el primer caso), asociaremos unas letras específicas:
NAND de UP ->
uNAND de PSP ->
pArchivo de NAND ->
fUna vez especificada la unidad, será necesario especificar la ruta para el dump de la NAND (ya creada o por crear); siempre recordando que la NAND de tu PSP no se puede escribir en el UP, ya que aunque lo intente, el proceso final llevará a datos corruptos.
Uso generalDe forma general, el acceso por línea de comando para este programa será, una vez dentro de la carpeta,
nandflasher [-opciones] funcion parámetros
Opciones posibles:
-d => Habilita la escritura debug, mostrando en pantalla los mensajes y errores no criticos.
-n => Deshabilita la verificación de la escritura (por defecto es verifica) en caso de que lo prefirais para una mayor velocidad; e incluso en algunas instalaciones de UP no será del todo efectiva, y aún así es necesaria esta opción.
Funciones del NANDflasher.
CopyRaw[b]nandflasher cr[/b] origen destino <archivo>
Esta función nos permite copiar la NAND del origen que especifiquemos al destino en binario, de manera que si no tiene bloques dañados el origen, la copia será 1:1
Este método, si tiene bloques dañados, es posible que cause un brick, a no ser de que estos bloques dañados ya estuviesen antes del flasheo. De esta manera, es más aconsejable para simplemente dumpear la propia NAND.
Por ejemplo, si quisiéramos dumpear la NAND de la PSP,
nandflasher cr p f "nandimage.flash"
y si quisiéramos por otro lado copiar la NAND de la PSP a la NAND del UP,
nandflasher cr p u
aunque como hemos comentado anteriormente, esto puede no funcionar en todas las instalaciones, con posibilidad de datos corruptos.
CopyRawSkipEsta función es exactamente igual que la anterior, con la única diferencia de que se salta por defecto los bloques pertenecientes al idstorage en los procesos.
nandflasher [b]crs[/b] origen destino <archivo>
CopyLogicalEsta función nos permite la copia de las secciones lógicas de una o más unidades a la unidad de destino. Esta, es más segura que la raw anterior, ya que maneja los posibles bloques dañados en todas las secciones.
No disponible para UP, ya que borrado/escritura no están disponibles.
[b]nandflasher cl[/b] iplsource idstoragesource lflashsource destino
Donde:
iplsource => Unidad que contiene el IPL a copiar. Si es 0, no será tenido en cuenta.
idstoragesource => Igual que anteriormente, pero para el idstorage.
lflashsource => Igual que anteriormente, pero para el lflash
Por ejemplo, con:
nandflasher -n cl f p f u "nandimage.flash"
escribimos el IPL y el lflash de
nandimage.flash al UP, y el idstorage de la NAND de la PSP a la NAND del UP.
Gipl[b]nandflasher gipl[/b] unidad ipl.bin
Extrae el ipl de una unidad especificada y se pasa al archivo
ipl.binIncluso, podríamos extraer el IPL del
nandimage.flash que habíamos creado anteriormente;
nandflasher gipl f ipl.bin nandimage.flash
Sipl[b]nandflasher sipl[/b] unidad ipl.bin
Escribe los contenidos del archivo ipl determinado a la unidad que especifiquemos.
Gids[b]nandflasher gids[/b] unidad <directorio idstorage>
Esta función nos permite dumpear el idstorage de la unidad especificada a un directorio que nombremos (creado o no), y la estructura de este idstorage será basado en un
index.bin con el índice de las keys del idstorage y una serie de
keyXxXX.bin con las propias keys.
Por ejemplo,
nandflasher gids p mi_idstorage
Sids[b]nandflasher sids[/b] unidad <directorio idstorage>
Escribe los archivos binarios del idstorage del directorio que especifiquemos en la unidad determinada, con la mísma lógica esctructura que crea el gids.
Por ejemplo,
nandflasher sids u mi_idstorage
escribiéndolo en la NAND del UP.
Glfs[b]nandflasher glfs[/b] unidad imagenlflash
Dumpea la flash lógica que contiene las particiones de archivo de la unidad especificada a la imagen que determinemos.
Por ejemplo,
nandflasher glfs p flash.ima
Slfs[b]nandflasher slfs[/b] unidad imagenlflash
Escribe la flash lógica contenida en la imagen que determinemos a la unidad especificada.
Test[b]nandflasher t[/b] unidad
Testea la unidad especificada para bloques dañados. Este test consiste en que borrará la NAND, escribirá 0 y luego 1's para el testeo, y confirmará los bloques dañados.
Dado que borra la NAND, habrá de ser reprogramada más tarde; y aunque sea lenta y costosa, es muy aconsejable junto al dump de la NAND para poder saber cómo se encuentra nuestro dispositivo.
Estos tests no podrán ser usados para UP's, ya que el proceso de escritura/borrado no funciona.
TestSkip[b]nandflasher ts[/b] unidad
Esta función hace lo mismo que la anterior, pero saltándose el idstorage.
82[b]nandflasher 82[/b] unidad
Esta función simplemente parcheará una unidad TA-082 para que pueda usar un firmware que esté basado en el IPL de 1.xx