[MTK657x] Ecco come ricavare lo scatter.txt dal cell ...

Modifiche a hardware, software e accessori dei chinafonini

[MTK657x] Ecco come ricavare lo scatter.txt dal cell ...

Messaggiodi AlexIT il 23/10/2012, 13:51

Ieri sera ho cercato un modo per ricavare facilmente lo SCATTER.TXT direttamente dal cell, vi racconto cosa ho scoperto?

Nel cell c'è una partizione chiamata PMT che contiene un (diciamo) file da 4Kb, che è in pratica la versione binaria dello scatter.txt ... in duplice copia!

Dal cell possiamo estrarre il PMT tramite shell in questo modo

dd if=/dev/pmt of=/sdcard/PMT bs=512 count=8

... adesso nella sdcard avremo un bel file PMT da 4Kb ...

Guardiamolo con un editor esadecimale

{L_CODE}: {L_SELECT_ALL_CODE}
00000000  31 76 54 50 50 52 45 4c  4f 41 44 45 52 00 00 00  |1vTPPRELOADER...|
00000010  c8 0c 00 00 09 00 00 00  0f 00 00 00 94 b0 66 00  |..............f.|
00000020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000030  eb a2 01 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000040  00 00 00 00 00 00 04 00  00 00 00 00 00 00 00 00  |................|
00000050  44 53 50 5f 42 4c 00 00  05 00 00 00 c8 0c 00 00  |DSP_BL..........|
00000060  06 00 00 00 0f 00 00 00  94 b0 66 00 00 00 04 00  |..........f.....|
00000070  00 00 00 00 00 00 04 00  00 00 00 00 23 60 04 00  |............#`..|
00000080  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000090  00 00 5c 00 00 00 04 00  00 00 00 00 4d 42 52 00  |..\.........MBR.|
etc.etc.
000007f0  00 00 00 00 00 00 00 00  01 03 01 01 31 76 54 50  |............1vTP|
00000800  31 54 50 4d 50 52 45 4c  4f 41 44 45 52 00 00 00  |1TPMPRELOADER...|
00000810  c8 0c 00 00 09 00 00 00  0f 00 00 00 94 b0 66 00  |..............f.|
00000820  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000830  eb a2 01 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000840  00 00 00 00 00 00 04 00  00 00 00 00 00 00 00 00  |................|
00000850  44 53 50 5f 42 4c 00 00  05 00 00 00 c8 0c 00 00  |DSP_BL..........|
00000860  06 00 00 00 0f 00 00 00  94 b0 66 00 00 00 04 00  |..........f.....|
00000870  00 00 00 00 00 00 04 00  00 00 00 00 23 60 04 00  |............#`..|
00000880  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000890  00 00 5c 00 00 00 04 00  00 00 00 00 4d 42 52 00  |..\.........MBR.|
etc.etc.
00000ff0  00 00 00 00 00 00 00 00  01 03 00 01 31 54 50 4d  |............1TPM|


In pratica è ripetuto due volte il medesimo blocco, a parte i marker iniziali
e finali (nella prima copia leggiamo 1VTP e nella seconda 1TPM).
Il blocco è costituito da record di 76byte (12 CHAR + 16 INT, e ricordiamoci che
siamo sempre in notazione little-endian), quindi al massimo nella PMT possono
essere definite 26 partizioni.

Prendiamo il record riguardante il recovery:

{L_CODE}: {L_SELECT_ALL_CODE}
000002b0  52 45 43 4f 56 45 52 59  00 00 00 00 c8 0c 00 00  |RECOVERY........|
000002c0  08 00 00 00 0f 00 00 00  94 b0 66 00 00 80 58 01  |..........f...X.|
000002d0  00 00 00 00 00 80 58 01  00 00 00 00 68 ad b2 01  |......X.....h...|
000002e0  00 00 00 00 00 00 00 00  00 00 00 00 68 ad b2 01  |............h...|
000002f0  00 00 60 00 00 80 58 01  00 00 00 00 53 45 43 5f  |..`...X.....SEC_|


che nello scatter è scritto in questo modo:

{L_CODE}: {L_SELECT_ALL_CODE}
RECOVERY 0x1588000 { }


la struttura del record come ho già anticipato è questa

{L_CODE}: {L_SELECT_ALL_CODE}
  char nome[12]
  int  field[16]


quindi ricaviamo

{L_CODE}: {L_SELECT_ALL_CODE}
name=[b]RECOVERY[/b]
field[]=0xcc8, 0x8, 0xf, 0x66b094, 0x1588000, 0x0, 0x1588000, 0x0, 0x1b2ad68, 0x0, 0x0, 0x0, 0x1b2ad68, 0x600000, [b]0x1588000[/b], 0x0


Ci sono molti valori ripetuti, ma non mi vorrei soffermare sul significato dei singoli campi, guardate invece il penultimo valore ...
Quindi se per ogni record mettiamo insieme la stringa iniziale (di 12 byte) e il penultimo valore (preso come intero 32bit) otteniamo esattamente lo scatter.txt!

Per es. dal mio PMT esce fuori questo

{L_CODE}: {L_SELECT_ALL_CODE}
PRELOADER 00000000 {
}
DSP_BL 00040000 {
}
MBR 00600000 {
}
EBR1 00604000 {
}
__NODL_PMT 00608000 {
}
__NODL_NVRAM 00a08000 {
}
__NODL_SECCFG 00f08000 {
}
UBOOT 00f28000 {
}
BOOTIMG 00f88000 {
}
RECOVERY 01588000 {
}
SEC_RO 01b88000 {
}
__NODL_MISC 02188000 {
}
LOGO 021e8000 {
}
__NODL_EXPDB 024e8000 {
}
ANDROID 026e8000 {
}
CACHE 1b6e8000 {
}
USRDATA 346e8000 {
}
FAT e09e8000 {
}


Quindi ... adesso non voglio più leggere "mi manca lo scatter.txt" ... :asd: :rotfl: :evvai:

ps:

Gli altri valori interi corrispondono ad inizio/fine/max di ogni partizione, quindi sarebbe possibile scrivere un piccolo tool da eseguire nel cell che esca fuori l'intera struttura per il reflash, ovvero lo scatter.txt e tutti i files img/bin ... compreso quelli __NODL_???? (tipo NVRAM) ;D ... appena ho 2min ... :fischio:
___
AlexIT @ Star V1277 MTK6577 3G+GSM HDMI 4.3" qHD ICS4.0 GPS WIFI
! IO ODIO I P.M. ! CHI INSISTE FINISCE IN IGNORE-LIST !
SE AVETE BISOGNO DI AIUTO PER PROBLEMI O MODDING
E AVVISATEMI TRAMITE UN P.M. DI INVITO, MASSIMO UNA RIGA
Avatar utente
AlexIT
chinafanatico
 
Messaggi: 667
Iscritto il: 12/09/2012, 20:08
Chinafonini posseduti: Star V1277 MTK6577 3G+GSM HDMI 4.3" qHD ICS GPS WIFI

Re: [MTK657x] Ecco come ricavare lo scatter.txt dal cell ...

Messaggiodi tappillo il 23/10/2012, 14:18

Sei una miniera senza fondo Alex :applausi:
tappillo
Bannato
 
Messaggi: 605
Iscritto il: 23/03/2012, 0:42
Località: Bassano del Grappa
Chinafonini posseduti: Star V 12 Mt6575

Re: [MTK657x] Ecco come ricavare lo scatter.txt dal cell ...

Messaggiodi gpas78 il 23/10/2012, 18:39

senza parole :applausi: :applausi: :applausi:
gpas78
chinacurioso
 
Messaggi: 22
Iscritto il: 19/10/2012, 19:00
Chinafonini posseduti: star n9000 i9220 pad

Re: [MTK657x] Ecco come ricavare lo scatter.txt dal cell ...

Messaggiodi gerko il 23/10/2012, 19:18

:prostro:
Avatar utente
gerko
chinasupremo
 
Messaggi: 3979
Iscritto il: 13/09/2011, 18:33
Chinafonini posseduti: JIAYU G2+ White, Cubot H1 Gold.

Re: [MTK657x] Ecco come ricavare lo scatter.txt dal cell ...

Messaggiodi AlexIT il 23/10/2012, 20:07

Beh ... quando le info sono lì, basta leggerle :D :D ... qualcuno ha il tempo di scrivere (in c) un microtool da integrare nelle recovery per fare il DUMP completo del telefono nel formato che piace a SPFlashTool ?
___
AlexIT @ Star V1277 MTK6577 3G+GSM HDMI 4.3" qHD ICS4.0 GPS WIFI
! IO ODIO I P.M. ! CHI INSISTE FINISCE IN IGNORE-LIST !
SE AVETE BISOGNO DI AIUTO PER PROBLEMI O MODDING
E AVVISATEMI TRAMITE UN P.M. DI INVITO, MASSIMO UNA RIGA
Avatar utente
AlexIT
chinafanatico
 
Messaggi: 667
Iscritto il: 12/09/2012, 20:08
Chinafonini posseduti: Star V1277 MTK6577 3G+GSM HDMI 4.3" qHD ICS GPS WIFI

Re: [MTK657x] Ecco come ricavare lo scatter.txt dal cell ...

Messaggiodi AlexIT il 27/10/2012, 23:23

Ho scritto un piccolissimo tool (a riga di comando) per generare direttamente dal cell o da un dump/readback, i files da utilizzare con SPFlashTool ... credo sia un modo molto valido per fare un backup completo del telefono.

Esempio di utilizzo direttamente dal CELL
Innanzitutto mando l'eseguibile al cell e diamogli i permessi di esecuzione

{L_CODE}: {L_SELECT_ALL_CODE}
adb push deflasher_tool /data/local
adb shell su -c chmod 755 /data/local/deflasher_tool


Adesso posso entrare in shell e scomporre la EMMC nei singoli files

{L_CODE}: {L_SELECT_ALL_CODE}
adb shell
# su
# cd /data/local
# ./deflasher_tool /dev/block/mmcblk0 /sdcard/FLASH
# exit
adb pull /sdcard/FLASH FLASH


Così mi ritrovo un cartella FLASH con tutte le componenti della mia
EMMC ... tranne DSP_BL e PRELOADER che si trovano da un'altra parte!

Nella versione per PC (win o linux) è possibile dare come input un READBACK
completo effettuato da SPFlashTool ... in questo verranno generati anche i
files DSP_BL e PRELOADER ...

I file sono scaricabili qui

Ovviamente è una prima versione non priva di difetti!
Quindi attendo feedback ! :D
___
AlexIT @ Star V1277 MTK6577 3G+GSM HDMI 4.3" qHD ICS4.0 GPS WIFI
! IO ODIO I P.M. ! CHI INSISTE FINISCE IN IGNORE-LIST !
SE AVETE BISOGNO DI AIUTO PER PROBLEMI O MODDING
E AVVISATEMI TRAMITE UN P.M. DI INVITO, MASSIMO UNA RIGA
Avatar utente
AlexIT
chinafanatico
 
Messaggi: 667
Iscritto il: 12/09/2012, 20:08
Chinafonini posseduti: Star V1277 MTK6577 3G+GSM HDMI 4.3" qHD ICS GPS WIFI

Re: [MTK657x] Ecco come ricavare lo scatter.txt dal cell ...

Messaggiodi gerko il 27/10/2012, 23:46

Quindi in questo modo si fa un salvataggio completo dello stato del telefono...paraculo in caso di errori..Buono!
Avatar utente
gerko
chinasupremo
 
Messaggi: 3979
Iscritto il: 13/09/2011, 18:33
Chinafonini posseduti: JIAYU G2+ White, Cubot H1 Gold.

Re: [MTK657x] Ecco come ricavare lo scatter.txt dal cell ...

Messaggiodi AlexIT il 27/10/2012, 23:55

Esattamente ...
direi che è la prima cosa che bisognerebbe fare con un telefono prima di ca**eggiarci sopra con delle ROM custom o delle recovery! :D
___
AlexIT @ Star V1277 MTK6577 3G+GSM HDMI 4.3" qHD ICS4.0 GPS WIFI
! IO ODIO I P.M. ! CHI INSISTE FINISCE IN IGNORE-LIST !
SE AVETE BISOGNO DI AIUTO PER PROBLEMI O MODDING
E AVVISATEMI TRAMITE UN P.M. DI INVITO, MASSIMO UNA RIGA
Avatar utente
AlexIT
chinafanatico
 
Messaggi: 667
Iscritto il: 12/09/2012, 20:08
Chinafonini posseduti: Star V1277 MTK6577 3G+GSM HDMI 4.3" qHD ICS GPS WIFI

Re: [MTK657x] Ecco come ricavare lo scatter.txt dal cell ...

Messaggiodi gerko il 04/11/2012, 20:23

Emmm, quale dei tanti devo scaricare?
Avatar utente
gerko
chinasupremo
 
Messaggi: 3979
Iscritto il: 13/09/2011, 18:33
Chinafonini posseduti: JIAYU G2+ White, Cubot H1 Gold.

Re: [MTK657x] Ecco come ricavare lo scatter.txt dal cell ...

Messaggiodi gerko il 04/11/2012, 20:51

Ho visto poi che avete parlato di questo sistema in un'altro topic. Era meglio farlo qua.
Comunque credo di aver capito.
Avatar utente
gerko
chinasupremo
 
Messaggi: 3979
Iscritto il: 13/09/2011, 18:33
Chinafonini posseduti: JIAYU G2+ White, Cubot H1 Gold.

Prossimo

Torna a Laboratorio Modding

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron