tipo di compressione usata!

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
teox99
Linux 3.x
Linux 3.x
Messaggi: 738
Iscritto il: ven 25 lug 2008, 14:54
Slackware: 13.37
Desktop: KDE - Xfce
Località: Roma[Eur]
Contatta:

tipo di compressione usata!

Messaggio 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?

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6629
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: tipo di compressione usata!

Messaggio da targzeta »

Codice: Seleziona tutto

file(1)
Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
teox99
Linux 3.x
Linux 3.x
Messaggi: 738
Iscritto il: ven 25 lug 2008, 14:54
Slackware: 13.37
Desktop: KDE - Xfce
Località: Roma[Eur]
Contatta:

Re: tipo di compressione usata!

Messaggio 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

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6629
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: tipo di compressione usata!

Messaggio 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
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: tipo di compressione usata!

Messaggio 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.

Avatar utente
teox99
Linux 3.x
Linux 3.x
Messaggi: 738
Iscritto il: ven 25 lug 2008, 14:54
Slackware: 13.37
Desktop: KDE - Xfce
Località: Roma[Eur]
Contatta:

Re: tipo di compressione usata!

Messaggio da teox99 »

hexdump -n 8 nomefile

Codice: Seleziona tutto

0000000 2020 2020 2020 4944
0000008
quindi ?

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6629
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: tipo di compressione usata!

Messaggio 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
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
teox99
Linux 3.x
Linux 3.x
Messaggi: 738
Iscritto il: ven 25 lug 2008, 14:54
Slackware: 13.37
Desktop: KDE - Xfce
Località: Roma[Eur]
Contatta:

Re: tipo di compressione usata!

Messaggio 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

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6629
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: tipo di compressione usata!

Messaggio 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
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6629
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: tipo di compressione usata!

Messaggio 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
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
teox99
Linux 3.x
Linux 3.x
Messaggi: 738
Iscritto il: ven 25 lug 2008, 14:54
Slackware: 13.37
Desktop: KDE - Xfce
Località: Roma[Eur]
Contatta:

Re: tipo di compressione usata!

Messaggio 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...

Rispondi