Den Kompressionsalgorithmus einer ZIP-Datei herausfinden

icedpingu

Cadet 4th Year
Registriert
Nov. 2007
Beiträge
98
Ich habe folgendes Problem:
Ich habe eine ZIP-Datei heruntergeladen, die ich entpacken kann, aber nicht wieder auf ihre ursprüngliche exakte Byte Anzahl zurück komprimieren kann.
Genauer erklärt:
Die ZIP-Datei ist 410 MB (430.870.528 Bytes) groß, wenn ich sie entpacke und die Dateien wieder in eine ZIP-Datei packe (ZIP, WinRAR, Kompressionsmethode: normal) ist diese z.B. 410 MB (430.903.296 Bytes) groß.
Wieso ich die exakte Größe brauche?
Nun die Datei benötige ich für einen Torrent, der sonst diese Datei nicht im Seed akzeptieren würde.
Ich konnte nur herausfinden, dass die ZIP-Datei auf einem UNIX-basierenden Betriebssytem gepackt worden ist:
A3BgK.png

Ich habe schon viele Methoden mit WinRAR, WinZip, 7zip und PKZip versucht, aber ich komme nicht auf das gleiche Ergebnis, vermutlich da ich es auf Windows versuche.
Das ist mein bestes Ergebnis, was ich mit WinRAR (Kompressionsmethode: Maximum) erzielen konnte:
8S03E.png

7zip bietet mir recht viele Kompressionsalgorithmen (deflate, bzip2, LZMA, PPMd) an, aber keine von denen kommt nur annährend an die Dateigröße von WinRAR an.
Meine Frage ist daher:
Gibt es eine Möglichkeit von einer ZIP-Datei den Kompressionsalgorithmus herauszufinden?
Kann man aus einer ZIP-Datei den Ursprung der Kompression auslesen oder ist das nicht möglich?
 
Hier kann man zumindest nachlesen um was es bei den einzelnen Kompressionsverfahren geht .

http://www.binaryessence.de/dct/de000040.htm

Ansonsten muss ja im Header der Zip datei hinterlegt sein um was für ein Kompressionsverfahren es sich Handelt .

http://www.binaryessence.de/dct/de000221.htm

Ansonsten die PKWARE Info´s

http://www.pkware.com/documents/casestudies/APPNOTE.TXT

Oder halt die Englische und auch ausführlichere Wiki

http://en.wikipedia.org/wiki/ZIP_(file_format)

Oder hier eine File Header auflistung .

http://www.garykessler.net/library/file_sigs.html

Obs hilft nunja viel zu lesen :-)
 
Zuletzt bearbeitet:
Ich darf mal grob behaupten, das in welcher Reihenfolge die Dateien verpackt werden, sich auf die Dateistruktur auswirkt. Und dazu kommen noch viele andere Gründe.

Glaub nicht das es geht.
 
Torrents nutzen Hashchecks um festzustellen ob die Datei, welche du seedest wirklich den Inhalt der Originaldatei hat. Und die Hashchecks orientieren sich NICHT NUR an der Größe der Datei sondern auch an deren Inhalt. Also keine Chance das Ziparchiv zu manipulieren und dann zu seeden ohne dass es die anderen Leecher merken. Jeder Torrentclient mit Hashkontrolle (auf der Seite der Leecher, welche von dir ziehen) wird das merken und dich entsprechend bannen.
 
@xxMuahdibxx: Danke! Ich weiß jetzt, dass die Datei mit DFLT-N (deflate, normal) komprimiert worden ist.

@Zhalom: Ich habe es mehrmals ausprobiert, es ist egal, in welcher Reihenfolge Dateien verpackt werden. Es werden immer die gleichen Dateien zur Kompression herangezogen (es sind exakt 15 Dateien von den 168 aus dem Archiv, die komprimiert werden)

@mvBarracuda: Das weiß ich und ich kann dich beruhigen, ich besitze die Originaldateien, nur wie gesagt nicht in diesem ZIP-Format, wie es der Tracker gerne hätte. Ich manipuliere keine Dateien, ich will den Seedern genau das geben, was sie haben wollen.
 
No way! ;)
Selbst wenn du wüsstest, dass du es mit WinRar auf Windows mit hoher Kompressionsstärke komprimieren musst, kannst du auf andere Ergebnisse kommen. Schon eine andere Version der Software kann andere Ergebnisse produzieren, weil man einen ganz minimalen Tweak am Algorithmus vorgenommen hat.
 
ice-breaker schrieb:
No way! ;)
Selbst wenn du wüsstest, dass du es mit WinRar auf Windows mit hoher Kompressionsstärke komprimieren musst, kannst du auf andere Ergebnisse kommen. Schon eine andere Version der Software kann andere Ergebnisse produzieren, weil man einen ganz minimalen Tweak am Algorithmus vorgenommen hat.

Stimmt, ich bin gerade dabei, alle auszuprobieren:

Originaldatei:
410 MB (430.870.528 Bytes)

  • WinRAR 4.2 - 410 MB (430.903.296 Bytes)
  • 7zip 9.2 - 411 MB (430.981.120 Bytes)
  • PowerArchiver 2011 - 411 MB (431.267.840 Bytes)
  • PKZip 14.00.0023 - 410 MB (430.727.168 Bytes)
  • WinZip 16.5 - 410 MB (430.874.624 Bytes)

Ich werde einige Versionen von Winzip/WinRAR probieren, aber wenn ich es nicht schaffe, ist es auch nicht so tragisch ^^
 
Wie gesagt: selbst wenn du es bytegenau auf die gleiche Größe bekommst: es wird einen Hashfehler geben wenn die Datei bei gleicher größe einen leicht anderen Inhalt hat. Dafür reichen z.B. schon einzelne Bytes im Header. Ich würde es an deiner Stelle einfach sein lassen; es ist vergebene Liebesmüh.
 
Jup, das Testen der Versionen auf Windows wird da sowieso dann zu keinem Erfolg führen, da im Header der Datei schon steht, dass es auf einem Linux-System komprimiert wurde.
 
Zurück
Oben