2009-04-27 19 views
6

Sono con un gruppo di modder che tenta di decodificare e mod un lettore Blu-Ray. Siamo bloccati perché il codice del firmware sembra essere compresso e il codice di decompressione non si trova da nessuna parte. Presumibilmente, la decompressione è gestita dall'hardware.Reverse engineering: come identifico un metodo di compressione sconosciuto?

La mia domanda è, con solo l'output compresso, come determinare il tipo di algoritmo di compressione utilizzato? Siamo riusciti a trovare una stringa ripetitiva, che presumibilmente codifica i dati ripetuti.

I byte 0x00 compressi iniziano con 0x00 0x15 e quindi la sequenza ripetuta (F8 06 FC 03 7E 01 BF 00 DF 80 6F C0 37 E0 1B F0 0D) e varia alla fine.

http://hej456.com/forum/viewtopic.php?t=832

La nostra documentazione e gli sforzi sono nel thread di cui sopra. I file binari del firmware si trovano nella discussione sopra.

+0

ho il sospetto che fornire una valida risposta a questa domanda potrebbe violare il DMCA o qualche altro tale legge di protezione dalla copia. Basta dire :) –

+1

Su quale processore viene eseguito il firmware? – newgre

risposta

1

Suggerirei di guardare l'hardware e vedere se questo supporta qualsiasi schema di compressione o crittografia nativa. Prendo nota della crittografia perché anche una tale stringa è possibile; per esempio il Nintendo DS utilizza la crittografia RSA che presumo venga gestita ad un livello hardware in una certa misura, anche se non mi cito su questo.

In breve, esaminare i datasheet hardware (se disponibili) sarebbe la soluzione migliore. Suppongo che se riesci a ottenere una sospensione del firmware, sei anche in grado di visualizzare l'hardware stesso.

1

non ho molta esperienza con esso, ma si potrebbe fare un canale laterale cercando di analizzare il consumo di energia. Un mio buon amico ha fatto questo per poter decifrare qualche crittografia AES. Forse questo ti porterà alla soluzione:

http://en.wikipedia.org/wiki/Power_analysis

Problemi correlati