[GUIDA] Root e Modding Smart Modem Sercomm VD625 AGSOT

  • 210 Risposte
  • 250525 Visite

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline larsen64it

  • VIP
  • *****
  • 2696
Re:[GUIDA] Root/sblocco Sercomm VD625 (AGSOT)
« Risposta #75 il: 16 Giugno 2019, 06:17 »
Agtot:
Codice: [Seleziona]
[   25.129000] chipId 0x631680D0
Cero visto che va in bootp sarebbe interessante caricarci qualcosa e vedere l'effetto che fa. Duplicando la nand dell'agtot ovviamente, per non rovinarla.
Questa volta non ho fatto battute.
« Ultima modifica: 16 Giugno 2019, 07:00 da larsen64it »

Offline LuKePicci

  • Global Moderator
  • VIP
  • *****
  • 2789
Re:[GUIDA] Root/sblocco Sercomm VD625 (AGSOT)
« Risposta #76 il: 16 Giugno 2019, 10:58 »
Scusate ma ieri ero troppo incasinato per rispondervi.

@salvobattiato
riguardo Frank (nand ahg2500 su agsot):
le luci a caso sono sicuramente dovute a gpio mappati diversamente, l'instabilità del firmware è dovuta sicuramente a qualcosa del genere, la vsr adb ha generalmente un bootloader diverso o semplicemente più vecchio di quelle sercomm (e che non viene aggiornato man mano insieme al firmware che è al 100% identico per tutti e tre i modelli di VSR; ma se sei arrivato a vedere l'ssid allora in sostanza funziona; la seriale è muta perchè effettivamente potrebbero aver usato una porta differente, ma io di bootlog VSR ne ho visti solo per le Sercomm, potrebbe anche darsi che nelle altre board sia disabilitata, ma è solo una ipotesi vagamente probabile.

riguardo Alien (nand agsot su ahg2500): come detto prima, le board sono diverse, e il bootloader di Vodafone è probabilmente più flessibile di quello sercomm per agsot, di sicuro il bootloader sercomm per shg2500 è diverso, ed è derivato (magari un semplice update) di quello che hai sulla ahg2500.

riguardo Cerbero (nand vant6 su agsot): il chip ID in quel caso credo si riferisca a quello salvato nella partizione eripv2 del technicolor, il problema è che di tutti i vant6 a cui ho messo mano il chip id è sempre diverso, quindi non capisco cosa sia esattamente; potrebbe riferirsi anche banalmente al chipid del SoC che ha indicato @larsen64it, magari quello dell'agsot è un 63268? Mi pare strano perchè le VSR che io sappia hanno un 63168.

Offline larsen64it

  • VIP
  • *****
  • 2696
Re:[GUIDA] Root/sblocco Sercomm VD625 (AGSOT)
« Risposta #77 il: 16 Giugno 2019, 11:10 »
Preso dalla pagina di openwrt

Codice: [Seleziona]
From Sercomm SHG2500

....
 NAND flash device: name , id 0xc2da block 128KB size 262144KB
External switch id = 53125
Chip ID: BCM63168D0, MIPS: 400MHz, DDR: 400MHz, Bus: 200MHz
Main Thread: TP0 Memory Test Passed
Total Memory: 134217728 bytes (128MB)
Boot Address: 0xb8000000
......
chipId 0x631680D0

Offline fabiobassa

  • Esperto
  • ****
  • 728
  • Sesso: Maschio
Re:[GUIDA] Root/sblocco Sercomm VD625 (AGSOT)
« Risposta #78 il: 16 Giugno 2019, 11:16 »
@salvobattiato
Stavolta la battuta la faccio io, visto che finora erano accozzaglie di pezzi diversi ,( alieni o frankensteiniani) un bel nome poteva essere CHIMERA , ma la scoperta è tua e le lo chiami come vuoi
 :D
Visto che va in bootp.. un bel firmware UNO ?
Giusto per....

Offline LuKePicci

  • Global Moderator
  • VIP
  • *****
  • 2789
Re:[GUIDA] Root/sblocco Sercomm VD625 (AGSOT)
« Risposta #79 il: 16 Giugno 2019, 11:54 »
Sono quasi certo ci sia già quel firmware, ma in ogni caso dubito seriamente che il problema si risolva caricando qualcosa in bootp, da provare comunque.

@larsen64it ecco appunto, mi sa che quel chipid allora è qualcos'altro. Quello nell'eripv2 non riesco proprio a capire cosa rappresenti, è totalmente diverso da un esemplare all'altro, di lunghezze in byte differenti, anche tra due vant6 entrambi molto recenti e facenti parte dello stesso lotto.

Non ce l'abbiamo un bootlog completo dell'agsot originale?
« Ultima modifica: 16 Giugno 2019, 12:00 da LuKePicci »

Offline salvobattiato

  • Membro Giovane
  • **
  • 54
Re:[GUIDA] Root/sblocco Sercomm VD625 (AGSOT)
« Risposta #80 il: 16 Giugno 2019, 12:57 »
Ragazzi, @LuKePicci @larsen64it ieri è stata una notte insonne provando coi dump delle nand delle varie board a estrarre questo maledetto chipid e a risolvere quei problemi per cui @fabiobassa si preoccupava, per esempio quelli del seriale e del mac. Per fortuna è tutto in chiaro nel codice del bootloader quindi facilmente modificabile e riflashabile. La cattiva notizia è che non so usare binwalk/ieri alle 2am era troppo uno sbatti mettere ubuntu per usarlo decentemente.
La cattiva notizia è che non c'è traccia della parola "chipId" in chiaro nei vari bin, ma devo fare una verifica.

Per chi avesse voglia di darmi una mano nella modifica di questo chipid, pur sapendo che questi file valgono meno che un soldo di cacio, vi metto il link dei miei full flash dump:
  • Uno è dell'agtot funzionante con uno su bank1, agtot106 su bank2.
  • Uno è della vsr adb
  • Uno è quello dell'agsot. Ho messo untested perché ho dumpato la nand senza riprovare a saldarla nella scheda madre agsot, quindi non sono certo al 100% che funzioni ancora, ma sembra ok da HxD
Codice: [Seleziona]
https://mega.nz/#F!KM5VUI6I!yZbMe-aTDYKJpNFbeYaQVQ
riguardo Cerbero (nand vant6 su agsot): il chip ID in quel caso credo si riferisca a quello salvato nella partizione eripv2 del technicolor, il problema è che di tutti i vant6 a cui ho messo mano il chip id è sempre diverso, quindi non capisco cosa sia esattamente; potrebbe riferirsi anche banalmente al chipid del SoC che ha indicato @larsen64it, magari quello dell'agsot è un 63268? Mi pare strano perchè le VSR che io sappia hanno un 63168.
Mi sembra molto strano considerando che sia bootloader sia firmware sono presi da agtot funzionante, quindi sostanzialmente questo fantomatico chipid deve essere una variabile presente nell'hardware e, a meno che non ci sia una cpukey similarmente a quella che c'era nelle CPU xbox360, (chi conosce la scena sa) escludo che sia qualcosa che cambi da modello a modello nel firmware.
Perché se l'agtot ha questa chipid "mela" nel bootloader e la stessa chipid "mela" nel firmware e finisce tutto lì allora dovrebbe partire. Il fatto è che l'agsot ha chipid "pera" e il bootloader lo sa. Quindi secondo me bisogna trovare questo chipid nell'hardware e cambiarlo solo nel bootloader.
Perché solo nel bootloader? Perché se fosse una cosa nel firmware allora quando flashamo un rbi di un'altra cosa questo chipid dovrebbe cambiare impedendo il boot e così non è. Il segreto risiede nel bootloader secondo me, ed è una cosa molto più ottimistica considerando che sul bootloader non possono esserci signature check.
La cosa strana però è che l'errore non lo da a monte il bootloader al principio dei tempi, ma lo da non appena tenta l'avvio su una bank, quindi l'ipotesi che questo problema nasca dopo la lettura di qualche valore sulla bank c'è ed è concreta. Aspetto vostro aiuto per capirci meglio comunque.

Sono quasi certo ci sia già quel firmware, ma in ogni caso dubito seriamente che il problema si risolva caricando qualcosa in bootp, da provare comunque.
Si c'era già preparato uno+agtot106 per provare entrambe le sonate e nessuna delle due partiva. Dubito fortemente che possa cambiare qualcosa perché l'rbi che ho sono tutti di agtot ovviamente.

Non ce l'abbiamo un bootlog completo dell'agsot originale?
Con somma sfortuna no, però per fortuna ho ancora vari agsot ancora vergini, quasi tutti 1.0.4. Ma non se ne trovano proprio in giro? Non si possono chiedere a qualcuno che sicuramente lo ha fatto?
« Ultima modifica: 16 Giugno 2019, 13:01 da salvobattiato »

Offline DS-1

  • Membro Anziano
  • ***
  • 297
Re:[GUIDA] Root/sblocco Sercomm VD625 (AGSOT)
« Risposta #81 il: 16 Giugno 2019, 13:21 »
Ragazzi, io ho un VD625 che non collego alla presa telefonica da almeno un anno, se non di più.

Se posso esservi d'aiuto per qualcosa, fatemi sapere.
« Ultima modifica: 16 Giugno 2019, 13:47 da MisterFTTH »

Offline fabiobassa

  • Esperto
  • ****
  • 728
  • Sesso: Maschio
Re:[GUIDA] Root/sblocco Sercomm VD625 (AGSOT)
« Risposta #82 il: 16 Giugno 2019, 13:26 »
A lume di naso @salvobattiato le uniche cose che potrebbero avere un chip id sono la flash o la RAM ovvero il jedec , nonché la CPU ovvero una sorta di maskrom.
Il resto ( drivers) dovrebbero essere nello user space
La CPU è proprio uguale ? Tutte le lettere e numeri ?

Offline salvobattiato

  • Membro Giovane
  • **
  • 54
Re:[GUIDA] Root/sblocco Sercomm VD625 (AGSOT)
« Risposta #83 il: 16 Giugno 2019, 14:01 »
A lume di naso @salvobattiato le uniche cose che potrebbero avere un chip id sono la flash o la RAM ovvero il jedec , nonché la CPU ovvero una sorta di maskrom.
Il resto ( drivers) dovrebbero essere nello user space
Questa è una cosa a cui si può facilmente rispondere swappando la nand di due agtot. Se l'agtot con la nand impiantata da un altro agtot parte allora significa che il chipid è al 100% nell'hardware dell'agsot e sicuramente non è univoco.
Ma attendo qualche prova meno invasiva prima di procedere così

La CPU è proprio uguale ? Tutte le lettere e numeri ?
Fino a bcm63168V si, uguali. Di tutte le altre lettere dopo non ne ho idea e valuto l'idea di smontare il dissipatore dal processore solo in extremis.

Offline larsen64it

  • VIP
  • *****
  • 2696
Re:[GUIDA] Root/sblocco Sercomm VD625 (AGSOT)
« Risposta #84 il: 16 Giugno 2019, 14:21 »
Quello che non so cosa genera il caricamento del firmware e cosa va a modificare su altri partizioni tipo eripv2.
Daccordo il ChipID is invalid (quale?)
Ma questo
Codice: [Seleziona]
Magic packet        : : no valid OS found!
Per questo dicevo di provare a caricare qualche cosa, perché se non carica tutto è legato al ChipID. Se putacaso carica... probabile che ci attendano altre sorprese.

Offline salvobattiato

  • Membro Giovane
  • **
  • 54
Re:[GUIDA] Root/sblocco Sercomm VD625 (AGSOT)
« Risposta #85 il: 16 Giugno 2019, 14:57 »
No aspetta, magic packet è sempre null, sarà stato un errore di formattazione del testo. Anche se guardi un bootlog completo di agtot si vede. Dai un'occhiata qui
Codice: [Seleziona]
https://www.hwupgrade.it/forum/showpost.php?p=44013064&postcount=69

Offline LuKePicci

  • Global Moderator
  • VIP
  • *****
  • 2789
Re:[GUIDA] Root/sblocco Sercomm VD625 (AGSOT)
« Risposta #86 il: 16 Giugno 2019, 23:54 »
@fabiobassa quando aggiorni il firmware di un qualsiasi technicolor dall'rbi vai a cambiare solo il contenuto della bank (la prima) ma la partizione eripv2 con i dati unici della board resta lì invariata. Se il bootloader fa riferimento al campo "Chip ID" salvato al suo interno (perchè un campo con quel nome c'è, e a qualcosa dovrà pur servire…) potrebbe ad esempio comparare l'id letto dall'hardware con quello salvato nella partizione per prevenire un boot di quella nand da un device diverso da quello sul quale è stata inizializzata. Per capirci qualcosa sono d'accordo che bisognerebbe swappare due nand tra due vant6. I vari elementi della partizione eripv2 sono a volte firmati altre criptati altre ancora entrambi, con chiavi diverse a seconda dell'elemento, ma il Chip ID non è nessuna delle due. Quindi se si scopre che effettivamente c'è un check di comparazione tra hardware e valore salvato nella flash, si può fare in modo che il bootloader stampi l'id dell'agsot, modificarlo sul dump della flash, e riprovare a caricarlo. Oppure anche solo fargli saltare il check. Se invece swappando due nand vant6 entrambi i device continuano a funzionare, allora vuol dire che questo id è tutto nell'hardware e penso che cambiarlo sulla board agsot sia probabilmente impossibile.

Offline salvobattiato

  • Membro Giovane
  • **
  • 54
Re:[GUIDA] Root/sblocco Sercomm VD625 (AGSOT)
« Risposta #87 il: 17 Giugno 2019, 11:18 »
@LuKePicci intanto si può fare qualcosa con binwalk? Come funziona il discorso della firma e del controllo integrity check, nel senso cosa posso modificare e cosa no?

Offline fabiobassa

  • Esperto
  • ****
  • 728
  • Sesso: Maschio
Re:[GUIDA] Root/sblocco Sercomm VD625 (AGSOT)
« Risposta #88 il: 17 Giugno 2019, 11:43 »
@salvobattiato

Salvo il tuo impegno è ammirevole.
Non voglio demoralizzarti ma in questo forum credo piu di qualcuno si sia "speso" nella ricerca di un escamotage e , un po' per questioni legali, un po forse per problemi oggettivi una vera disclosure non c'è stata.
Ricordo che dietro openrg ci sta Jungo.. e vatti a vedere chi sono !!!  ;)
Pero' mai dire mai tante scoperte sono state fatte grazie alla caparbietà di qualcuno


Offline LuKePicci

  • Global Moderator
  • VIP
  • *****
  • 2789
Re:[GUIDA] Root/sblocco Sercomm VD625 (AGSOT)
« Risposta #89 il: 17 Giugno 2019, 12:40 »
Binwalk funziona normalmente in WSL, è inutile che installi un momento una vera Ubuntu.

Riguardo la firma, c'è sicuramente una chain di chiavi, il tale che ha creato questa repo  tempo fa se la era studiata tutta per bene, scaricati quegli strumenti e giocaci un momento per capire meglio quello che sto per dirti.
Sintetizzando quello che credo di sapere con discreta certezza, il payload dei firmware RBI, una volta estratto e decrittato, consiste in una tripletta [kernel, squashfs, firma(kernel+squashfs)] che viene presa e copiata pari pari in una delle due partizioni bank_1/2, che quindi non puoi toccare, ma non dovrebbe essere un problema fintanto che vogliamo far avviare quel firmware così com'è. (NB: anche l'RBI in toto è firmato, ma questa è un altra storia, non confondere le due cose, quest'ultima è irrilevante per quello che stai cercando di fare ora)

il bootloader è fatto in due parti stage1 e 2. Il primo sostanzialmente ha come payload il secondo, lo spacchetta (sempre visto compresso in LZMA su qualsiasi modello) lo decritta (visto criptato solo su vant-f, dimmi tu se ti risulta una cosa del genere anche sul vant6, i vecchi modelli non ce l'hanno criptato, i nuovi nemmeno, solo qualcuno nel mezzo), forse lo controlla e poi lo avvia. A te lo stage-2 sta palesemente funzionando. Quindi l'unpacking e l'eventuale decrypt e controllo è andato a buon fine. Ripassando lo stage1 con binwalk, nel caso in cui sia criptato binwalk rileva solo degli IV per AES (ma a questo punto grazie alle tue prove sappiamo per certo che dentro ci sono anche le chiavi), nel caso in cui invece non lo sia binwalk rileva il payload LZMA, e lo spacchetta correttamente.

Le chiavi che il dispositivo usa per i vari controlli che fa sono sparpagliate secondo ragionevoli logiche: alcune sono nella partizione eripv2 (ECK, EIK, OSCK, OSIK - le prime criptano e firmano le seconde), le altre che mancano all'appello, BEK (cripta ECK) ed MCV (firma EIK)  sono chissà dove da qualche parte tra il bootloader e l'hardware (in quest'ultima eventualità sarebbe quella manciata di byte dell'OTP del SoC). Per ricavare le altre infatti di solito ci andiamo a prendere ECK già decriptata direttamente dalla ram.

Pragmaticamente, se come ipotizzo quel "chip id" è fuso nell'OTP del SoC, leggendo quello del Sercomm, e mettendolo nell'eripv2 al posto di quello del tuo vant6 (si da il caso che quel tag non sia né firmato né criptato, ma magari esiste un check sulla eripv2 intera di cui non sono a conoscenza) dovresti ottenere qualcosa di buono. Per verificare o confutare queste mie ipotesi puoi:
-  andare a cambiare di poco il valore del campo FACTORY_RELEASE_DATE (è il primo che ho visto per il quale una volta modificato non vedo palesi incoerenze con gli altri campi) nell'eripv2 del vant6 e rimettere al suo posto la nand. se carica correttamente e legge correttamente il nuovo valore di quel campo allora l'intera eripv2 non viene passata sotto verifica integrità
- rifai la stessa cosa ma stavolta cambia il valore di Chip ID, se ottieni sul vant6 lo stesso errore che hai sul sercomm abbiamo capito tutto, se invece continua a funzionare, allora non ho capito niente

Se hai intenzione di portare avanti il progetto Cerbero, secondo me ti conviene prima tentare ed eventualmente risolvere lo swap tra due vant6, chiamalo come preferisci. Ad ogni modo per entrambi ti conviene creare un thread separato. Provvederò a spostare da qui questi ultimi miei messaggi se riporti una sintesi di quanto detto riguardo cerbero nel nuovo thread.
« Ultima modifica: 17 Giugno 2019, 12:56 da LuKePicci »