chinafonini.it
Il Sito Guida sui Cellulari Cinesi... e non solo
Dichiarazione di Declino di Responsabilità / Disclaimer
Il titolare di questo sito non effettua rivendita dei dispositivi menzionati e non è collegato con i rivenditori citati.

28 giugno 2010
Guida al "dump" dei nostri terminali Windows Mobile
di Carlo Varello (nickname "karl1" sul forum)
© 2010 www.chinafonini.it


Primo passo:
Scaricate un registry editor; io uso CeRegEditor che si installa sul PC o Notebook
e legge il registro del telefono tramite il collegamento USB (con active sync attivo).
Avrete bisogno anche di itsutilsbin-20070705 o versione superiore.


Unlock registry

Collegate il telefono al pc o al notebook e aspettate che risulti connesso con active sync.



Ora lanciate il programma CeRegEditor



Cliccate su connect e aspettate che il dispositivo venga riconosciuto





in alto cliccate su TOOL poi su UNLOCK REGISTRY



il programma vi chiederà se volete veramente farlo



Clicchiamo su "yes".

Sul telefono apparirà un messaggio in cui chiede conferma dell'operazione.



Diamo la conferma

Su CeRegEditor, apparirà questo popup.



Ora possiamo agire sul registro per sbloccare definitivamente il terminale.


Verificare se il nostro terminale è application locked.

Entrate in HKEY_LOCAL_MACHINE



Andate in:
Security>
Policies>
Policies



Controllate la stringa: 00001001



Se il value data è 1, il terminale è sbloccato, altrimenti mettetelo a 1 e salvate,
poi fate un soft reset è verificate che la modifica sia rimasta.

Ora il telefono è aperto alle modifiche e alla possibilità di effettuare un DUMP


DUMP

Create una directory Rom, e decomprimete all'interno itsutilsbin; create anche un collegamento con il "command prompt".
Lanciate il prompt di dos, verificate di essere nella stessa directory di pdocread.exe, quindi scrivete "pdocread -l" e date invio. Se tutto è andato bene dovreste vedere una schermata simile a questa:

C:\Rom\test_02>pdocread -l
247.38M (0xf760000) DSK3:
Nome della partizione di memoria contenente l'OS
| 1.25M (0x13f000) Part00
| 2.13M (0x220000) Part01
| 73.63M (0x49a0000) Part02
| 170.38M (0xaa60000) Part03
4.75M (0x4c0000) RSV1:
| 4.75M (0x4bf000) Part00
3.69G (0xec500000) DSK1:
| 3.69G (0xec100000) Part00
STRG handles:
handle#0 46f10ce6 3.69G (0xec100000)
handle#1 07a67242 4.75M (0x4bf000)
handle#2 67c3b7fa 170.38M (0xaa60000) Indirizzi handle e esadecimali delle partizioni dell'OS
handle#3 e7c9afa6 73.63M (0x49a0000)
handle#4 47c9af82 2.13M (0x220000)
handle#5 c7c9af3a 1.25M (0x13f000)
disk 46f10ce6
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 07a67242
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 67c3b7fa
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk e7c9afa6
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk 47c9af82
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
disk c7c9af3a
0 partitions, 0 binary partitions
customerid=00000000 uniqueid= 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


I dati che più ci interessano sono:
Part00 = BOOT
Part01 = XIP
Part02 = IMGFS (image della rom)
Part03 = memoria storage

Ora dobbiamo scaricare part00, part01 e part02; nessuno ci vieta di scaricare anche la Part03.
Questi sono i comandi: la parte in rosso è il nome della partizione che contiene l'os mentre la parte in blue è l'offset dei dati da scaricare e deve corrispondere a quelli della schermata in alto, altrimenti vi darà errore.
Modificate queste stringhe con i vostri valori, poi un bel copia e incolla (una alla volta!!) sul prompt di dos ancora aperto e invio. Le prime due si scaricheranno in pochi secondi mentre la Part2 e la 3 richiederanno invece un bel po di tempo.

pdocread -w -d DSK3 -b 0x800 -p Part00 0 0x13f000 Part00.raw
pdocread -w -d DSK3 -b 0x800 -p Part01 0 0x220000 Part01.raw
pdocread -w -d DSK3 -b 0x800 -p Part02 0 0x49a0000 Part02.raw
pdocread -w -d DSK3 -b 0x800 -p Part03 0 0xaa60000 Part03.raw

Una volta ottenute le tre parti .raw, copiatele per sicurezza in una cartella e conservatele!!!!

Nota:
Se non funziona vedrete questo messaggio

D:\its>pdocread -w -d DSK3 -b 0x800 -p Part00 0 0x13f000 Part00.raw
CopyTFFSToFile(0x0, 0x13f000, Part00.raw)
ERROR: ITReadDisk : read 00140178 bytes - The device is not ready for use.


Quasi tutti i nostri chinafonini, non permettono il dump con il sistema sopra descritto, per riuscire comunque nella nostra impresa, possiamo ovviare dando al posto del nome della partizione (MSFLASH) l'handle corrispondente.

Torniamo alla nostra schermata:

handle#2 67c3b7fa 170.38M (0xaa60000)
handle#3 e7c9afa6 73.63M (0x49a0000)
handle#4 47c9af82 2.13M (0x220000)
handle#5 c7c9af3a 1.25M (0x13f000)

Nota:
La parte, STRG handles è invertita rispetto alla parte iniziale, cioè le PART sono a partire dal basso verso l'alto.


Metodo, con handle:

pdocread.exe -w -h 0xc7c9af3a -b 0x800 0 0x13f000 Part00.raw
pdocread.exe -w -h 0x47c9af82 -b 0x800 0 0x220000 Part01.raw
pdocread.exe -w -h 0xe7c9afa6 -b 0x800 0 0x49a0000 Part02.raw
pdocread.exe -w -h 0x67c3b7fa -b 0x800 0 0xaa60000 Part03.raw

Se non funziona neanche così, provate a cancellare lo 0x800 dalle stringhe, e rilanciate il comando.

Nota, se il comando funziona vedrete questo messaggio
D:\its>pdocread.exe -w -h 0xc7c9af3a -b 0x800 0 0x13f000 Part00.raw
CopyTFFSToFile(0x0, 0x13f000, Part00.raw)

D:\its>


Al termine di queste operazioni, nella cartella, insieme ai programmi usati, troviamo i file "part00.raw" "part01.raw" "part02.raw" ed eventualmente il "part03.raw". L'insieme di questi file altro non è che il dump completo della rom del nostro telefono.

Ora, abbiamo i partxx.raw, che ci facciamo??

Per prima cosa ci servono gli "imgfstool", "xipport" e due dei tre part.raw, in particolare 01 e 02.
Decomprimiamo gli "imgfstool" in una cartella e copiamoci dentro part01.raw e part02.raw. Creiamo un collegamento al command prompt nella cartella.
Allora, ricordiamo che il part01.raw contiene lo XIP.BIN e il part02.raw contiene il sistema operativo vero e proprio.
Per ottenere lo xip.bin in chiaro ci sono due sistemi, che a volte funzionano a volte no. Dipende da come è stata realizzata la rom, molti cooker "chiudono" la rom per non permetterne la modifica.

Apriamo il prompt di dos, e digitiamo i seguenti comandi:

mkdir xip

dando l'invio creeremo una cartella xip

poi digitiamo:

dumprom.exe Part01.raw -5 -d XIP

nota: esaminiamo il comando appena dato;
dumprom.exe: è uno dei programmi contenuti negli imgfstool
part01.raw: è la parte scaricata dal nostro telefono e contenente lo xip.bin
-5: indica il tipo di compressione usata, cioè "use wince4.x decompress, and e32rom for wm2005"
-d: gli diciamo di utilizzare la cartella che indichiamo con l'ultimo comando della riga
Xip: la cartella dove copiare i file decompressi


se il comando va a buon fine, nella cartella xip troveremo il contenuto dello xip.bin decompresso.


Secondo metodo: rinominare semplicemente part01.raw in xip.bin, lanciare xipport e cliccare su dump xip.bin.
Al termine troverete una cartella "OUT" contenente lo xip.bin decompresso e diviso in file e moduli, che potremo utilizzare con qualsiasi kitchen.

Se il file, come purtroppo capita spesso, non viene decompresso ne con il primo metodo ne con il secondo, non ho soluzioni da darvi; se trovo qualcosa aggiornerò la guida.

Ora cerchiamo di ottenere il dump dal part02.raw.

Prompt di dos aperto, digitiamo:

imgfstodump part02.raw dump

vedrete la finestra scorrere rapidamente righe su righe: tranquilli, lasciatelo fare!!

Al termine avrete una cartella "dump" e aprendola vedrete la struttura del sistema operativo, senza le classiche cartelle "windows" o "programmi" o "documenti". Tutte queste informazioni, dove vanno i programmi o dove vanno le immagini etc. etc. le trovate in un file che si chiama "initflashfile.dat": se vi interessa lo potete aprire con notepad o notepad2.
Al suo interno, le righe dicono al sistema operativo dove mettere tutte queste cose ed è il file che andrà modificato qual'ora vogliate aggiungere un programma, un gioco o, come abbiamo visto nel tutorial di "cucina", cambiare lingua al nostro terminale.

Che uso posso farne? E' possibile utilizzare questi files per ricaricare la rom sul telefono in caso di problemi??

No, non bastano questi files per ricreare una rom bootable, da ricaricare sul telefono, serve necessariamente anche una rom originale.
Avere un dump completo, diventa utile, se non indispensabile, quando abbiamo un chinafonino, per alcuni motivi:
1) I venditori, non sono propensi a fornire le rom in italiano
2) Le rom che si riescono a trovare su internet sono in cinese e rarissimamente in inglese. Anche se alcuni venditori, vedi "solonomi.com", hanno messo sul loro sito a disposizione dei clienti le rom per i modelli da loro venduti in diverse lingue.
3) Vogliamo cimentarci a "cucinare" una rom personalizzata per il nostro telefono, abbiamo quindi bisogno di mantenere, nella kitchen che utilizzeremo, alcuni file che possiamo ottenere solo dal nostro dump.



Carlo Varello ("karl1")
© 2010 www.chinafonini.it




Cookie policy