Pagina 1 di 1

tipo di compressione usata!

Inviato: mer 10 mar 2010, 16:27
da teox99
ciao ragazzi,
mi ritrovo nella condizione di dover spere quale tipo di compressione viene usata da un file con estensione "non convenzionale".
ho provato ad aprire il file con i classici decompressori, ma senza successo...
sapete se c'è un utility che può almeno darmi un po' più di informazioni al riguardo?

Re: tipo di compressione usata!

Inviato: mer 10 mar 2010, 16:39
da targzeta

Codice: Seleziona tutto

file(1)
Emanuele

Re: tipo di compressione usata!

Inviato: mer 10 mar 2010, 16:50
da teox99
si mi restituisce (data).
nel file ci sono dei dati in formato binario e sò per certo che è stata usata una compressione, proprietaria o non, è quello che vorrei scoprire

Re: tipo di compressione usata!

Inviato: mer 10 mar 2010, 17:12
da targzeta
Hai provato a fare un head del file

Codice: Seleziona tutto

head -c 8
oppure posta l'output di

Codice: Seleziona tutto

hexdump -n 8 nomefile
Emanuele

Re: tipo di compressione usata!

Inviato: mer 10 mar 2010, 17:13
da 414N
Hai provato Dragon Upacker?
Temo però che non ci sia modo di farlo andare con wine, da quanto risulta dalla sua pagina sull'appdb.

Re: tipo di compressione usata!

Inviato: gio 11 mar 2010, 10:05
da teox99
hexdump -n 8 nomefile

Codice: Seleziona tutto

0000000 2020 2020 2020 4944
0000008
quindi ?

Re: tipo di compressione usata!

Inviato: gio 11 mar 2010, 10:18
da targzeta
Quindi niente :). Il comando file identifica il tipo di file dai primi byte che generalmente costituiscono l'header nel caso di un software di compressione. Magari cercando su internet il codice dei primo byte potevamo scovare il tipo di compressione, però i primi 6 byte sono solo degli spazi e non ho trovato niente :(.
Sembra strano che un tool di compressione abbia questo header.

Emanuele

Re: tipo di compressione usata!

Inviato: gio 11 mar 2010, 10:48
da teox99
aprendo il file con un hexeditor si possono notare che le prime linee binarie hanno un corrispettivo ascii in chiaro, dopo alcune linee ed alcuni spazi, comincia il contenuto dati vero e proprio che reputo compresso.
La mia tesi è che i dati siano stati compressi ed in seguito è stata inserita una prima parte in chiaro per renderlo non identificabile.
diciamo che potrei separare la parte in chiaro da quella compressa,
puoi dirmi dove trovo una lista per identificare quale header appartiene ad un tool di compressione?
thx

Re: tipo di compressione usata!

Inviato: gio 11 mar 2010, 11:47
da targzeta
Beh, nella directory /etc/file/magic/ ci sono i file che usa il comando 'file' per identificare i file (scusa il gioco di parole:)) tra questi c'è il file compress usato per identificare i software di compressione. Comunque non è proprio il massimo della leggibilità. Altrimenti metti i byte su internet e vedi se riesci a scoprire qualcosa...non è semplice, lo so.

Emanuele

Re: tipo di compressione usata!

Inviato: gio 11 mar 2010, 14:46
da targzeta
Se quello che pensi tu è corretto possiamo ancora usare file per capire il tipo di compressione, guarda questo piccolo scriptino per la bash (lo puoi eseguire tutto su una sola riga):

Codice: Seleziona tutto

file=casa.rar;
tot_byte=$(wc -c $file | cut -d' ' -f1);
i=1;
while tail -c $(( ${tot_byte}-${i} )) $file > casa; [[ $(file casa) == "casa: data" ]];
  do 
    let i++;
  done;
file casa
In pratica ogni volta elimina un byte iniziale dal file in esame (casa.rar) salvandolo in un file temporaneo (casa), quindi richiama il comando 'file' per vedere se il suo output è diverso da "casa: data" che è quello che da se il file non viene riconosciuto. Ho fatto una prova creando appunto l'archivio casa.rar e poi editandolo mettendoci davanti altra roba, sembra aver funzionato, alla fine il file temporaneo "casa" contiene l'archivio rar.

Ovviamente se il file è molto grande ti consiglio montare una partizione in memoria ed eseguire tutto in memoria, oppure puoi prendere solo i primi tot byte del file ad esempio con:

Codice: Seleziona tutto

head -c 200 file_originale > file_temp
e poi eseguire lo script passandogli "file_temp" da analizzare invece di "file_originale", però in questo modo stai attento perchè il comando file potrebbe anche riconoscere un file dai suoi ultimi byte e non sono da quelli iniziali, forse sarebbe meglio fare un:

Codice: Seleziona tutto

 head -c 200 file_originale > file_temp; tail -c 200 file_originale >> file_temp
in questo modo preservi anche gli ultimi byte.

Anche se la vedo dura, puoi sempre provare così :),
Emanuele

Re: tipo di compressione usata!

Inviato: gio 11 mar 2010, 16:15
da teox99
ho provato lo script, e l'ho modificato nel modo da poter continuare a controllare il file anche se il risultato di file è diverso da data,
così facendo ogni pezzo del file originale mi viene riconosciuto secondo varie tipologie:

IFF data
ACB archive data
PCX ver. 2.5 image data
TTComp archive data
Applesoft BASIC program data
386 pure executable not stripped

il concetto non è proprio sbagliato, ma non credo che i risultati siano attendibili!
boh...