PDA

View Full Version : [HEX] Qualcuno mi dà una mano?


x_Master_x
26-02-2011, 11:36
Cari amici programmatori :D
Se il mondo fosse nelle vostre mani le cose andrebbero meglio :)

Veniamo al punto.
Il mio caro Tv non permette di cancellare-ordinare-spostare i Canali
E questo è male :(

Però permette di spostare su una usb la lista canali, poterla quindi modificare e rimetterla sulla memoria della tv
E questo è bene :)

Il problema è che il file è esadecimale e io capisco poco di programmazione.
Sono riuscito a sposare manualmente le stringhe e cancellare i canali, ma tutto MANUALMENTE...

Vorrei quindi che qualcuni dia un'occhiata al file e che mi crei uno script, una macro o qualsiasi cosa che mi permetta:

1) Di ordinare i canali in un ordine AZ

2) Di cancellare i doppioni e di tenere solo i valori univoci.

Ho allegato quindi:

Un file con la lista completa dei canali ( 350 dtv , 20 radio, no TV )
Un file con la sola lista delle radio per poterci lavorare meglio.
Un file con la lista delle radio come dovrebbe essere ( senza doppioni in ordine AZ ) che ho creato io manualmente spostando/cancellando le stringhe.

Però un conto farlo con 20 radio, un altro con 350 canali :)

Grazie, aspetto risposte.

P.S. Attenzione a rispettare la struttura del file, oppure il televisone non accetterà il file modificato.

cdere
26-02-2011, 13:14
ok ho dato un occhio ai file in hex.
C'è un delimitatore tra una stringa (suppongo una stringa sia formata da frequenza-nome_emittente no?) e l'altra? (tra un'emittente e l'altra)

edit:
dovrebbe essere 'ff' vero?

x_Master_x
26-02-2011, 14:08
ok ho dato un occhio ai file in hex.
C'è un delimitatore tra una stringa (suppongo una stringa sia formata da frequenza-nome_emittente no?) e l'altra? (tra un'emittente e l'altra)

edit:
dovrebbe essere 'ff' vero?

Si, vicino al nome c`é la frequenza. E credo anche un delimitatore.

Non sono un esperto ma grazie per l`aiuto.

Ho fatto varie prove e ho comparato i file tra di loro. Questi vengono accettati dal Tv.

cdere
26-02-2011, 14:10
fammi capire.
Tu quando dici che hai ordinato manualmente quelle emittenti, come hai fatto a sapere dove tagliare la stringa x per spostarla a posto di y?

x_Master_x
26-02-2011, 14:23
fammi capire.
Tu quando dici che hai ordinato manualmente quelle emittenti, come hai fatto a sapere dove tagliare la stringa x per spostarla a posto di y?

Tentativi su tentativi :)
Non ho usato nessun metodo ma ho provato più volte a tagliare incollare le stringhe finché il tv non ha accettato il file.

Quando ho capito che sarei diventato pazzo a provare in maniera random ho chiesto aiuto al forum.

Mi dispiace non essere di maggiore aiuto.

*andre*
26-02-2011, 14:29
la butto li eh, ma visto che fa salvare la lista su usb.... non è che da qualche parte c'è un programmino per modificarla? Hai controllato sul sito del produttore?

x_Master_x
26-02-2011, 14:31
la butto li eh, ma visto che fa salvare la lista su usb.... non è che da qualche parte c'è un programmino per modificarla? Hai controllato sul sito del produttore?

Niente. Sul sito ufficiale non c'e nulla.

x_Master_x
26-02-2011, 15:35
edit:
dovrebbe essere 'ff' vero?

Adesso che guardo bene c`é una costante tra i canali.
All'interno, oltre al nome, dovrebbe esserci frequenza,modulazione e symbol rate ( lo vedo dalla schermata lista del tv )

cdere
26-02-2011, 15:39
io ho visto che tra i canali radio il separatore è quasi sicuramente (dico quasi perchè la certezza l'avresti provando) è ff, ma con i canali dtv la cosa cambia.
Senza sapere dove termina la stringa della singola emittente/separatore non si può fare, dovresti essere tu che hai il tv a fare qualche prova spostando le stringhe cercando di trovare una regola o una costante tale da poter dividere la sequenza di byte che è attualmente il file tll in "canali".

Se riesci posso farti io un parser+purgedup+sorter per i tuoi canali

x_Master_x
26-02-2011, 16:14
io ho visto che tra i canali radio il separatore è quasi sicuramente (dico quasi perchè la certezza l'avresti provando) è ff, ma con i canali dtv la cosa cambia.
Senza sapere dove termina la stringa della singola emittente/separatore non si può fare, dovresti essere tu che hai il tv a fare qualche prova spostando le stringhe cercando di trovare una regola o una costante tale da poter dividere la sequenza di byte che è attualmente il file tll in "canali".

Se riesci posso farti io un parser+purgedup+sorter per i tuoi canali

Cerco di fare la stessa cosa che ho fatto con le radio. Carico una lista di 10 canali e a caso :) cancello e sposto stringhe. Mi ci vorranno un paio di ore e spero che ne valga la pena

x_Master_x
26-02-2011, 17:40
Che fatica :eek:
Allora, i tre file in allegato sono strutturati n questo modo:

001 File originale ( no radio - no tv - 20ina dtv )
002 File modificato ( tolti solo doppioni )
003 File ordinato in AZ senza doppioni

Grazie

cdere
26-02-2011, 19:22
eh ma così non serve a niente mi serve una regola, qualcosa per lavorarci su.
In 2 ore sei riuscito a capire le varie emittenti da cosa sono separate? Se la risposta a tale domanda è no allora non è possibile fare alcunchè.

x_Master_x
26-02-2011, 20:33
eh ma così non serve a niente mi serve una regola, qualcosa per lavorarci su.
In 2 ore sei riuscito a capire le varie emittenti da cosa sono separate? Se la risposta a tale domanda è no allora non è possibile fare alcunchè.

La risposta é...no :cry:

Non si possono comparare i file hex per vedere cosa cambia? Deve esserci una regola che li delimita, domani ricontrollerò

cdere
26-02-2011, 22:21
Ci sto lavorando, ti darò news (spero buone)

x_Master_x
27-02-2011, 08:02
Ci sto lavorando, ti darò news (spero buone)


:sperem:

Continuo a guardare il file ma sembrano sempre geroglifici egizi :wtf:

x_Master_x
27-02-2011, 18:32
Continuo a guardare il file ma sembrano sempre geroglifici egizi :wtf:


CANALI RADIO e DTV - PROCEDURA COMPLETA

Ho risolto i geroglifici egizi :ciapet:

La prima stringa utile è: ( rimane sempre costante )
00 00 00 00 FF 00 00 00 00 00 00 00 01 00 00 00

Dopo la stringa FF iniziano i canali
Abbiamo:
?? 02 00 00 XX ( le due xx stanno per il numero canali complessivo nell'elenco )
( i primi numeri credo che cambino in base al canale, non lo so )

I canali radio e/o dtv iniziano per:
?? ?? 36 01 ( i punti interrogativi stanno per la frequenza, forse, quindi servono e bisogna copiarli e/o cancellarli )

E finiscono per ( Dopo la ripetizione del nome - il nome si ripete sempre due volte )
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ( possono anche non essere tutti 0 )
?? ?? ?? ?? ?? ?? ?? ?? ( cambiano sempre ma sono 8 per tutte e devono essere copiate/cancellate )

Inoltre c'è una variabile che cambia spostando la posizione ( facendo a caso non me ne ero nemmeno accorto )

Il primo canale radio è 01 40
Il secondo canale radio è 02 40
il terzo canale radio è 03 40
e così via.

La stringa si trova facilmente con una ricerca hex ( adesso non la ricordo :) )
Quando arriva 00 09 iniziano lettere e numeri ( qualcuno poi me lo spiega )

Le DTV invece sono cosi:
Il primo canale DTV è 00 01
Il secondo canale radio è 00 02
il terzo canale radio è 00 03
e così via.

Quando arriva 00 09 iniziano lettere e numeri ( tipo 00 0A o qualcosa del genere :) )

Si trovano su una stringa fatta così:
01 71 15 00 XX ( xx sta per numero canale )

Basta fare una ricerca HEX

Il file finisce con una stringa che varia.
?? ?? ?? ?? ?? ?? ?? ?? 01 00 00 00 00 ( i ?? sono i dati variabili di ogni canale )

Con questo metodo sono riuscito a duplicare/cancellare i canali radio/dtv a mio piacimento! :D

Adesso che vedo le immagini a codice HEX è meglio fare una pausa :coffee:

P.S. Ho usato 010 Editor 30 Trial e mi sono trovato benissimo :)
P.S.S Qualcuno mi deve fare programmatore ad honorem :O

cdere
27-02-2011, 21:02
Uhm, ti sei scervellato proprio :D
No comunque l'esadecimale credo di averlo gia risolto io ieri (con il fantastico aiuto della mia ragazza :D), sto parlando del fine file e della stringa di separazione fra i canali, mi resta da ultimare l'algoritmo ma sto terribilmente sotto esame quindi lo faccio nei ritagli di tempo.

Puoi dirmi secondo i tuoi calcoli in Completo.tll quanti canali ci sono (parlo di radio dtv tutto)?

x_Master_x
28-02-2011, 08:36
Uhm, ti sei scervellato proprio :D
No comunque l'esadecimale credo di averlo gia risolto io ieri (con il fantastico aiuto della mia ragazza :D), sto parlando del fine file e della stringa di separazione fra i canali, mi resta da ultimare l'algoritmo ma sto terribilmente sotto esame quindi lo faccio nei ritagli di tempo.

Puoi dirmi secondo i tuoi calcoli in Completo.tll quanti canali ci sono (parlo di radio dtv tutto)?

Che vuoi farci, mi piacciono le sfide :D

Nel file completo.tll sono presenti:
21 radio
349 dtv

cdere
02-03-2011, 01:14
Ok,
è stata un'impresa titanica, un qualcosa d'incredibile ma ormai ero in ballo e quindi.. cmq alla fine ce l'ho fatta (e oggi ho anche passato l'esame :D) !!!

Non so se funzioni, non ne ho idea e fammi sapere, ma che funzioni o meno, mi sei debitore a vita :O :Prrr: :Prrr: :D

gugoXX
02-03-2011, 08:46
Cari amici programmatori :D
Se il mondo fosse nelle vostre mani le cose andrebbero meglio :)


Immagino che per far ripartire un'automobile ingolfata sarebbe necessario "Uscire e Rientrare"

x_Master_x
02-03-2011, 10:33
Ok,
è stata un'impresa titanica, un qualcosa d'incredibile ma ormai ero in ballo e quindi.. cmq alla fine ce l'ho fatta (e oggi ho anche passato l'esame :D) !!!

Non so se funzioni, non ne ho idea e fammi sapere, ma che funzioni o meno, mi sei debitore a vita :O :Prrr: :Prrr: :D

Un Bravo per l'esame...:D
Ma il file non funziona :( :cry:
”formato file inatteso”
Gli darò una occhiata e ti farò sapere.

Una cosa però. Alla fine dovrestri creare uno script che io possa utilizzare. O vuoi che ogni volta che sintonizzo i canali ti mando un pm? :D

Edit: Dove eravamo rimasti? Ore ed ore più tardi...

Allora, ho analizzato il file e ho riscontrato questi errori:

1) I canali dtv e radio sono mischiati, mentre nel file originale seguono questo schema:

A DTV
B DTV
C DTV
D DTV
1 Radio ( ho messo gli asterischi nel file txt per le radio )
2 Radio
3 Radio

Credo sia questo il problema principale, forse per questo il tv non accetta il file?

2) L'eliminazione dei canali duplicati ha funzionato al 99 %, poichè non hai considerato che i canali con maiuscole/minuscole sono in realta lo stesso canale
Es. CANALE 5 e Canale 5 sono lo stesso canale ma si trova due volte :)
P.S Nel file txt ho messo i ---- per i canali che si duplicano

3) L'ordine AZ ha alcuni errori ma non so spiegarmi perchè...ma non dovrebbe influire sul fatto che il tv non accetta il filoe ( sono sicuro che si possa correggere )

T
U
V
Z
C ?
D ?
F ?
P ?

Quindi visto che ti sto creando tutto questo disturbo ho deciso di RIORDINARE a mano tutti i canali seguendo il tuo schema ( a parte il punto 1 ) con gli stessi "errori" di ordine e duplicati in modo che tu possa confontare i due file hex per vedere cosa modificare.

Non so se ci sono altri errori di compilazione, sta di fatto che nel file fatto a mano ( mi fanno male le dita :D ) non di da nessun errore nel porting sul Tv