[Philips] 37PF9731

Ops... io mi sa ne ho caricati 2 o 3 volte alcuni... scusa, mi sa che dovrai cancellare un po' di righe mie (direi di cancellarle tutte e ripartire da zero, dimmi inoltre se non devo più metterci mano).
No, non ti preoccupare. Quando ricarichi i dati, la prima cosa che il programma fa è quello di cancellare i tuoi vecchi. anzi, scusa se non l'ho detto subito.

Per quello che riguarda la tupla 40-04 e i preferiti occorre fare altre prove. Non è un caso che è proprio uno dei canali sovrascritti.

Il campo hidden deve essere ancora compreso bene. E' un byte con 255 valori che quindi avrà almeno 255 significati. Un passo alla volta...

Per i preferiti, se ti va, puoi cancellare tutto (sul tuo tv), caricare un mux su cui non fa casino il tv, mettere un canale su ogni lista di preferiti e "vedere l'effetto che fa", come dice Jannacci. Un lavoro da certosino....
 
Eccomi.
Ho generato un po' di HsvAntennaDigSrvcTable&Soci con varie combinazioni di preferiti:
http://www.selidori.com/tech/philips9731/software/Backup_USB/2011.02.19.rar
Prima ho piallato il tv e sintonizzato un solo MUX (il RAI A ovvero le 3 rai, rainews e 3 radio).

Se ho ben capito non esiste nessun elenco delle 4 liste di preferiti possibili, ma è sempre l'elenco canali che ha un campo che assume vari valori a seconda di tutte le combinazioni (13) inclusione nelle liste preferiti (che se non sbaglio dovrebbero essere:
- nessuna lista
- lista 1
- lista 1+2
- lista 1+2+3
- lista 1+2+3+4
- lista 1+3
- lista 1+3+4
- lista 1+4
- lista 2+3+4
- lista 2+3
- lista 3
- lista 3+4
- lista 4
)

Comunque personalmente non me ne frega niente delle liste di preferiti, io le includo qua solo per non gettare il lavoro perso e per i posteri.
Non perderei assolutamente tempo in questa cosa, si può bene o male farlo agevolmente direttamente dal tv.
 
Grazie ancora per la disponibilità, ottimo lavoro Selidori. Sto (quando ho tempo) lavorando alla possibilità di addizionare le liste, il che implica la capacità di inserire un nuovo record. Questo permette di non evitare le sovrascritture. Per farlo sembra che occorra aggiornare un contatore, anche se mi pare troppo semplice. Ho qualche dubbio ancora sul campo "id".
Finito questo iniziamo le prime prove di scrittura dei risultati e vediamo come il tv digerisce dei dati "preformattati".
Dopo di ciò provvedo a permettere il cambio di ordinamento (mi pare una delle cose essenziali) e alla modifica del nome.
Una cosa alla volta....
 
Hai fatto tu di più in 5 giorni che noi su questo forum in 3-4 anni e 191 pagine in 2864 interventi!

Peccato gli altri siano spariti!
Ma son sicuro che prima o poi passeranno e si agganceranno ben volentieri alla discussione.

Grazie ancora!
 
Selidori, lo faccio anche per me!
Nella prossima settimana prevedo che sarò abbastanza impegnato sul lavoro: spero di riuscire a trovare il tempo di dedicarmi.
Comunque dai tuoi dati sembra che la colonna c5 non cambi, il che rimette in discussione tutto.
Ma, come dico io, non disperiamo e mettiamo un tassello alla volta: vedrai che il puzzle prenderà forma.
Ciao
 
Step 2: permette la modifica del numero canale e del nome.

Crea, a partire dai dati un file HsvAntennaDigSrvcTable.dat che, chiaramente senza l'estensione .dat, può essere utilizzato per ricaricare il tv. Quindi i passi sono: caricate tutti e due i file, modificate HsvAntennaDigSrvcTable (solo quello si può fare) e scaricate il nuovo HsvAntennaDigSrvcTable.

SIAMO CHIARI: NON L'HO ANCORA PROVATO SUL MIO TV E QUINDI NON MI ASSUMO NESSUNA RESPONSABILITÀ SU CIO' CHE PUO' SUCCEDERE SUI VOSTRI TV.

Per essere chiari, sono abbastanza sicuro che il formato del file è corretto, ma....
 
Ultima modifica:
Accidenti, purtroppo non va. :cry:

Ho proceduto ad uppare nuovamente i due file richiesti e quindi a modificare la posizione del canale sull'1 in 2.
Ovvero avevo RaiUno e l'ho modificato nel campo ChannelNumber a 2.
Salvando questa riga automaticamente chi era il canale 2 è diventato 1.
Alla fine mi son trovato in questa situazione:
5921190020.png

Ho dunque scaricato il file e dei 3 nella cartella \REPAIR (che va fatta mano, lo scrivo per chi volesse provare) e sovrascritto quello di partenza che mi aveva generato il tv (ovvero HsvAntennaDigSrvcTable , rimuovendo l'estensione .DAT) e lasciando gli altri due intoccati.

Entrando nel menù SAM (062596i+) del tv ho scelto l'ultima voce UPLOAD FROM USB e quindi due OK per caricarci il nuovo elenco.
E' stata una grande emozione quando il tv mi ha restituito un DONE nell'operazione.
Però poi la tv aveva cancellato tutta la tabella dei canali e ne aveva inseriti 5 analogici (la mia zona è alldigital, quindi tutti e 5 di neve):
23022012878.jpg


Ho rifatto l'operazione cancellando anche quei 5 (ma non manualmente ma restorando una vecchia precedente sintonizzazione fatta apposta senza antenna) e ripetutto da zero (quindi ricaricando sul sito il file sorgente, rimodificandolo e rimetendono nella penna e quindi nel TV) l'operazione, ma il risultato è stato uguale.

NON DEMORDERE GIGAREX!

Ti faccio tutte le prove che vuoi!
Ci sono tutte le sere!
 

Allegati

  • 23022012878.jpg
    23022012878.jpg
    24.1 KB · Visualizzazioni: 4
Ultima modifica:
No, figurati, non demordo: sono coriaceo.

1) intanto abbiamo capito che il tv non si impalla, scrive fesserie, ma non si impalla. Fondamentale per continuare le prove.

2) ho ancora molte cartucce da sparare:

a) la prima è quella di riordinare la lista così come il tv ce la fornisce. C'è un campo (l'ho chiamato counter) che è un indice progressivo. Lo puoi vedere al link View RB digSrvc
Cominciamo con implementare quello. Magari puoi controllare come cambia a fronte di un riordino con una prova con il solito mux Rai.

b) posso usare le stesse chiavi [AnalogueUniqueId] che mi fornisce il tv. Attualmente le rigenero. Avrò forse qualche problema in futuro quando dovremo inserire nuovi record, vedremo....

Ma facciamo una cosa alla volta...

Grazie Selidori, come al solito.

Per chi vuole darci una mano: ci sono alcuni campi che sinceramente non ho capito come variano. Li ho chiamati: c2, u3 e c5 e li trovate sempre alla pagina View RB digSrvc. Se magari riuscite a capirci qualcosa...

Buonanotte

PS: Selidori, intanto ripensandoci, sì forse una tua prova mi serve: riprendi la configurazione REPAIR_01_solo_RAI_A del 2011.02.11, caricala sul tv, inverti rai2 con rai1, e riscarica. Dammi solo quest'ultima. Grazie e buonanotte davvero!
 
Ultima modifica:
Step 2: permette la modifica del numero canale e del nome.

Crea, a partire dai dati un file HsvAntennaDigSrvcTable.dat che, chiaramente senza l'estensione .dat, può essere utilizzato per ricaricare il tv.]

Ho provato anch'io:

ho fatto l'upload nel TV, ma mi trovo una lista incompleta: parte da 8 poi salta a 21 poi 27..solo nell'ultima parte la lista sembra completa.
C'è da dire che i canali presenti sono effettivamente nella posizione che avevo scelto io.
Ho provato a ricaricare il HsvAntennaDigSrvcTable modificato nel channel_editor di di gigirex e sembra tutto a posto..
Evidentemente c'è ancora qualcosa che non va nel formato, nel senso che per il channel_editor è tutto a postoi, ma quando lo carichi nel TV non ha tutti i canali.
In ogni caso non si è impallato il televisore:)
 
Vi aggiorno:
ho scoperto che la chiave primaria del record è un header che contiene un checksum, il crc32 (o almeno così pare perchè sono 4 bytes).
Ho provato a cambiare uno solo bit del record (per esempio modificando il nome di un 1 in 0) e mi cambia ben 5 bytes: uno perché appunto è la modifica effettuata e poi l'header di 4. Ora faccio qualche prova e vi aggiorno. Quindi, non vi conviene usare il programma per il momento, perchè non aggiorna l'header.

Intanto, datevi da fare con il significato degli altri byte ( c2, u3 e c5).

Ciao a tutti
 
Ultima modifica:
PS: Selidori, intanto ripensandoci, sì forse una tua prova mi serve: riprendi la configurazione REPAIR_01_solo_RAI_A del 2011.02.11, caricala sul tv, inverti rai2 con rai1, e riscarica. Dammi solo quest'ultima.
Ecco tutto quanto:
http://www.selidori.com/tech/philips9731/software/Backup_USB/2012.02.24.rar
(in verità c'e' anceh l'originale, sempre la tripletta)

Ho provato anch'io
Se non la consideri una vuolazione della privacy, mi fornisci la tua REPAIR completa dei 3 file?
Voglio innanzitutto vedere se la tua configurazione va sul mio (non vorrei ci fossero versioni diverse...) e come si comporta il tv a salvare un mux/canali dove in verità non c'e' nulla (infatti mi pare non sia possibile salvare un mux se non c'e' niente, ma forse così lo si frega e magari riusciamo a salvare i mux che non si salvano con qualche magheggio....).

Intanto, datevi da fare con il significato degli altri byte ( c2, u3 e c5).
Sai quanto mi piacerebbe?
Ma proprio non riesco a cavarci niente.
Ma tu che approccio usi?
Li guardi cercando qualche logica?
Fai delle conversioni ed applichi algoritmi standard alla ricerca di una logica?
Hai qualche software che tenta di capirci qualcosa da stringhe intuibili?
 
Allora, credo che siamo arrivati "alla frutta". Il file dei canali ha un magic number di 8 bytes che non cambiano e poi n record di 76 bytes, uno per ogni canale. I primi 4 sono il crc32 degli altri (tutti? bella domanda). Il generatore di crc32 prende come "seme" altri 4 bytes. Quindi, al variare del seme, avremo 2^32 possibili codici crc per lo stesso record. Uno solo (la chiave) è quella giusta. Magari proverò (non questo fine settimana e mi sa che neppure la prossima settimana, perchè mi hanno incastrato sul lavoro su un progetto urgente) a fare un loop sul mio pc e scoprire la chiave giusta. Si chiama decrypting. L'appello che faccio a tutti è il seguente: se avete un amico o un conoscente che "ci capisce" di crc32, b'è mettetelo in contatto con me. Chiaramente non pago.
Quindi, Selidori, lasciamo in pace i bytes, per il momento. Se riusciamo a sbloccare il crc ti dico (e vi dico) che il programma è praticamente già fatto. L'idea è addirittura di mettere a fattor comune i bouquet nazionali e poi di aggregarli a piacimento. Quelli locali si possono scaricare da soli ed integrare in un secondo momento. Vi piace l'idea? Cercatemi un hacker.
Statemi benissimo
Luigi
 
Se non la consideri una violazione della privacy, mi fornisci la tua REPAIR completa dei 3 file?
Voglio innanzitutto vedere se la tua configurazione va sul mio (non vorrei ci fossero..........[CUT]

te ne fornisco due:
la prima relativa alla mia configurazione abituale

https://rapidshare.com/files/2074103074/Repair_20129223.zip

la seconda relativa alla configurazione dopo una scansione ex-novo effettuata ieri

https://rapidshare.com/files/3893517321/Repair_20120224__nuova_scansione_.zip
 
I primi 4 sono il crc32 degli altri (tutti? bella domanda). Il generatore di crc32 prende come "seme" altri 4 bytes. Quindi, al variare del seme, avremo 2^32 possibili..........[CUT]
Ehm...
In pratica cos'è che dovremmo capire?
Immagino un valore che viene generato ad una certa circostanza.
Ad esempio come da ONID si ottiene U3.
Corretto?
Ma allora, per farla breve, cosa dobbiamo prendere come input e cosa come output per calcolarci l'algoritmo centrale?
E dove lo prendiamo?
Da HsvAntennaDigPtcTable ?
Da HsvAntennaDigSrvcTable ?
o dal tuo editor canali?

te ne fornisco due:
Grazie, ho fatto le prove del caso.
Il tv ha digerito perfettamente le tue liste ed ha salvato anche i canali che non prende.
Non solo, ha salvato con i nomi dei canali quelli delle tue liste ed anche vedendo il canale, una volta che è salvato con un determinato nome, non lo cambia anche se riceve un altro canale.
 
ma siete un mito! uno si assenta un attimo (in preda allo sconforto...e abbandonata ogni speranza!) e guarda cosa mi combinate...
ora...partendo dal presupposto che su qeste cose sono una pippa nera....ditemi qualunque cosa possa fare per darvi una mano e arrivare alla soluzione....
un saluto a tutti...e....se si arriva a capo di questa cosa parte una lettera di "bestemmie" alla philips che se la ricordano a vita!
 
Aggiornamento...

B'è, cominciate a scriverla quella lettera. Non voglio però illudere nessuno:abbiamo un problema veramente "cazzuto" sul crc del record.

Pensate che il crc ha 2^32 bit (4294967296 combinazioni o polinomi) può essere dritto o invertito (e sembra appunto così, dato che di solito il crc è alla fine del record, mentre noi l'abbiamo all'inizio), e fino ad ora ho scoperto ben 9 tipologie standard , supponendo che l'algoritmo scelto dai tecnici Philips sia standard. Se invece se lo sono inventati di sana pianta (io per esempio avrei fatto così...), b'è, non basterà un "Blue Gene" per risolvere il problema.

Per fortuna ho trovato un forum olandese e un santo inglese che ha preso la cosa in considerazione e una possibile soluzione neozelandese.

Certo è che se scopro la soluzione quella lettera la scrivo anch'io, ma direttamente sul forum della Philips, pubblicando direttamente le chiavi di decodifica. Scommetto con chiunque che tempo 5 minuti la cancelleranno.

Per chi "si vuole divertire": il signor Greg (il santo inglese) mi ha chiesto di creare dei record ad hoc:

"Can I trouble you to send me one of the records you sent earlier, with a series of changed bits:(a) Six records with a different bit in one byte flipped. E.g. if the name can be changed, and the original station name begins "Rai", then the names of the copies would start "Rah", "Rak", "Ram", "Raa", "Ray" and "RaI". This will give us the polynomial without a long search (unless we're unlucky) and the 'distance' from that byte to the CRC.

(b) Some records with the same bit in different bytes flipped, spanning 5 bytes. E.g. "rai" and "RAi" ("RaI" completes the set.) This will show us the direction and byte order of the CRC."

Spero di trovare il tempo per fare tutte le prove e costruire i record richiesti. Come tool per creare i record, ho trovato mooolto utile Hxd.

Buona vita a tutti.


 
Ultima modifica:
Mi sento tanto inutile e stupido. :(
Non ci capisco niente, ma vorrei tanto potervi aiutare!

Se mi spiegate cosa devo fare, lo faccio.
Inoltre, se mi date degli eseguibili che fanno tutto loro, metto sotto torchio qualche computer per fare un po' di force-brute, ma ho bisogno di programmi one-click che lanci l'eseguibile magari nel log scrive che fa e cosa trova.
Non male poi magari avere una serie di eseguibili da lanciare in sequenza ogniuno con un set di suoi dati da lavoare, in modo da lanciarne diversi su macchine diverse e moltiplicare il tempo di elaborazione rispetto al tempo reale.
 
Top