Newsgroup: it.comp.lang.c
Titolo: Formato degli archivi RAR

Ciao a tutti
Mi sono cacciata in un grosso pasticcio ed ho deciso
di chiedere aiuto in questo gruppo perche' ho pensato
che i programmatori in C sono, sicuramente, quelli
piu' abituati a guardare dettagliatamente la struttura
intima dei file.
Avevo un archivio RAR splittato in decine di file del tipo
xxxxxxxxxxxxxxxxxxxxxxxxxx.part01.rar
xxxxxxxxxxxxxxxxxxxxxxxxxx.part02.rar
xxxxxxxxxxxxxxxxxxxxxxxxxx.part03.rar
...
l'ho salvato su un dvd e solo dopo aver eliminato l'originale
sull' hard disk mi sono accorta che sul supporto i nomi sono
stati brutalmente troncati in cose del tipo
yyyyyyyyyyyy_1.rar
yyyyyyyyyyyy_10.rar
yyyyyyyyyyyy_01.rar
...
Esiste all'interno dei vari pezzi un byte, o una locazione,
dopo io possa andare a leggere (con un editor esadecimale)
la posizione che il segmento occupava all'interno dell' archivio 
(.part01, .part02, ...) ed il nome completo dell'archivio
stesso (che, immagino, sia indispensabile per poter effettuare la 
decompressione)?
Vi ringrazio molto per l'attenzione e per le eventuali risposte.
Buon lavoro!
Barbara


Siccome nessuno ti ha risposto ancora, vedro' di darti qualche dritta.
Premetto che non conosco il formato RAR.
A quanto pare e' un formato commerciale per cui sara' difficile
trovarne la documentazione gratuitamente.
Ci sono pero' applicativi open source per Linux per esempio, che sanno
estrarre archivi RAR. Dovresti guardare il sorgente e capire se
nell'header di ogni parte del RAR viene messo il numero d'ordine del
segmento.
Se cosi' fosse, penso che non sarebbe difficile per un estrattore di
RAR prendere in input tutti i file (anche in ordine sparso e con nomi
strani) e automaticamente capire quale sia l'ordine per ricostruire
l'archivio originale.
Se cosi' non fosse, direi che il formato RAR sarebbe proprio un
formato scarso considerando che rinomine di file succedono anche ai
piu' esperti.

 
Ciao,
credo che ci sia un modo pi� semplice per 
risolvere il problema che non frugare 
nell'intimit� dei dati dei tuoi file rar. 
Probabilmente questa strada l'hai gi� tentata ma 
provo a suggerirtela ugualmente.
Per ricostruire l'ordine credo sia sufficiente 
riordinarli cronologicamente secondo la data di 
creazione. In effetti non sembra fattibile con una 
risoluzione di ora e minuti ma tieni presente che 
controllando le propriet� dei file la risoluzione 
diventa al secondo (ogni 2 secondi per 
l'esattezza). Scoperto l'ordine non ti resta che 
il lavoro certosino di rinominare le estensioni 
(.rar.partXX) mentre il nome non credo sia 
importante; � sufficiente che sia lo stesso per 
tutti i file del gruppo. Spero che questo 
messaggio ti possa esser utile.
Un saluto.

 decompressione)?
Non ne sono sicuro ma ho il forte sospetto che i file in cui viene 
sezionato il file rar vadano semplicemente concatenati l'uno con l'altro 
e che l'informazione sull'ordine dei files sia solamente data dal nome.
Questo vorrebbe dire che il tuo problema non ha una soluzione banale. Se 
hai n files, puoi sempre provare le n! permutazioni... ;-)
E.

Grazie mille per le risposte. Ho provato la strada
dell'ordinamento cronologico dei file ma mi sembra
che tra le proprieta' del file venga riportata l'ora
in cui e' terminato il suo download, non quella
della sua creazione sulla macchina da cui proviene.
E, ovviamente, non e' detta che gli ordini siano
rigorosamente uguali. Comunque, sto provando.
Vi faro' sapere come e' finita.
Buon lavoro!
Barbara

 e che l'informazione sull'ordine dei files sia solamente data dal nome.
Credo anche io che sia cos�. Ho analizzato un po' il formato 3.x di RAR (�
reperibile in giro). Lo split di un archivio in diversi spezzoni (volumi)
� ottenibile solo dalla versione 3 in poi. Da quel che posso vedere,
nell'header di ciascun volume � riportato solo un flag che indica se il
volume in questione � il primo della catena o meno. Per ogni file
contenuto nel volume si riporta se continua dal volume precedente e/o
procede in quello seguente. A livello di singolo volume, per�, non c'�
traccia di un "volume index" o qualcosa del genere per ricostruirne
l'ordine. E' per questo che la sequenza � probabilmente costruita a
partire dal nome dei singoli volumi.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it