Raw DEFLATE (.deflate)

IETF Τυπικό

Το DEFLATE είναι ο πιο διαδεικτικός αλγόριθμος συμπίεσης δεδομένων χωρίς απώλειες στην ιστορία της πληροφορικής, τροφοδοτώντας αρχεία ZIP, ροές GZIP, εικόνες PNG και συμπίεση ιστού HTTP για πάνω από τρεις δεκαετίες.

Μετατροπή GZIP σε DEFLATE

Δωρεάν μετατροπέας από GZIP σε DEFLATE εντός του προγράμματος περιήγησης. Μετατρέψτε αρχεία άμεσα στη συσκευή σας.

Επιθεώρηση & Μεταδεδομένα

Τα λειτουργικά συστήματα και τα εργαλεία ανάλυσης αρχείων αναγνωρίζουν τα αρχεία DEFLATE ελέγχοντας την αρχική δυαδική ακολουθία byte:

Επιλέξτε ή αποθέστε αρχεία εδώ

100% ιδιωτική μετατροπή εντός προγράμματος περιήγησης - τα αρχεία δεν φεύγουν ποτέ από τη συσκευή σας

ή επικόλληση Ctrl+V
Εγγύηση Απορρήτου Μηδενικής Μετάδοσης Δικτύου: 0 byte μεταφορτώθηκαν σε εξωτερικούς διακομιστές. Όλη η επεξεργασία πραγματοποιήθηκε τοπικά στο sandbox του προγράμματος περιήγησής σας.

Υπογραφή κεφαλίδας σε επίπεδο byte (Magic Bytes)

Τα λειτουργικά συστήματα και τα εργαλεία ανάλυσης αρχείων αναγνωρίζουν τα αρχεία DEFLATE ελέγχοντας την αρχική δυαδική ακολουθία byte:

ΔΕΚΑΕΞΑΔΙΚΗ ΥΠΟΓΡΑΦΗ (OFFSET 0):

78 9C / 78 01 / 78 DA

ΑΝΑΠΑΡΑΣΤΑΣΗ ASCII: xœ / x. / xÚ

Τυποποίηση: IETF RFC 1951 / RFC 1950 (zlib)

Τεχνικές Προδιαγραφές

Αρχιτεκτονική ΠεριέκτηRaw RFC 1951 bitstream or RFC 1950 zlib-wrapped stream with 2-byte header and Adler-32 checksum
ΣυμπίεσηLZ77 sliding dictionary (up to 32 KB window) combined with dynamic/static Huffman entropy coding
Endianness ByteLittle-Endian bit-packing order
Χρωματικοί ΧώροιN/A (Data Compression Stream)
Κανάλια & ΔομήRaw binary or text data stream
Μέγιστες ΔιαστάσειςUnbounded stream length
Διαφάνεια100% bit-exact lossless data reproduction
Streaming & Προοδευτική ΦόρτωσηBlock-based bitstream supports arbitrary continuous byte streaming

Τεχνικός Πίνακας Σύγκρισης: DEFLATE έναντι Ανταγωνιστών

Τεχνικό χαρακτηριστικόDEFLATE (Τρέχον)GZBROTLIZSTD
ΤυποποίησηIETF RFC 1951 (Raw) / RFC 1950 (zlib)IETF RFC 1952 (Gzip)IETF RFC 7932 (Brotli)IETF RFC 8878 (Zstandard)
Κυλιόμενο Παράθυρο32 Kilobytes μέγιστο32 Kilobytes μέγιστοΈως 16 MegabytesΈως 2 Gigabytes
Λειτουργία Αθροίσματος ΕλέγχουAdler-32 (στο περιτύλιγμα zlib)CRC-32 (στο περιτύλιγμα gzip)Κανένα ενσωματωμένο στη ροήxxHash64 (γρήγορο hash 64-bit)
Καθημερινή ΧρήσηΕικόνες PNG, ροές PDF, ZIPUnix .tar.gz, HTTP gzipΓραμματοσειρές ιστού (WOFF2), HTTP brΠυρήνας Linux, βάσεις δεδομένων, gaming

Συνηθισμένοι Τρόποι Διαφθοράς & Οδηγός Ανάκτησης Hex

Η αποσυμπίεση αποτυγχάνει με το μήνυμα 'Z_DATA_ERROR: incorrect data check'.

Βασική Αιτία: Ασυμφωνία στο άθροισμα ελέγχου Adler-32 4-byte στο τέλος της ροής που είναι τυλιγμένη σε zlib.

Ανάκτηση: Παρακάμψτε την επαλήθευση Adler-32 χρησιμοποιώντας ακατέργαστη αποσυμπίεση (raw inflate) ή επιδιορθώστε με το File2File Deflate Recovery.

Ανάλυση Ασφάλειας & Διανύσματα Επίθεσης Parser

Οι αναλύτες (parsers) DEFLATE πρέπει να επικυρώνουν αυστηρά τους κωδικούς δόμησης δέντρου Huffman για να αποτρέψουν εγγραφές δεικτών εκτός ορίων.

Γνωστά διανύσματα επίθεσης

  • Ελλιπείς ή υπερπλήρεις δυναμικοί πίνακες μήκους bit δέντρου Huffman που προκαλούν μη έγκυρες αναγνώσεις μνήμης.
  • Βόμβα αποσυμπίεσης (zip bomb) που επεκτείνει μικροσκοπικά ωφέλιμα φορτία σε εκατοντάδες gigabyte RAM.
  • Υπερανάγνωση buffer (buffer over-read) σε μη επικυρωμένους κωδικούς απόστασης κυλιόμενου παραθύρου.

Βέλτιστες αμυντικές πρακτικές:

Ιστορική Αναδρομή & Ορόσημα

1996Ο Peter Deutsch τυποποιεί το DEFLATE ως IETF RFC 1951 και το zlib ως RFC 1950.
1995Οι Jean-loup Gailly και Mark Adler κυκλοφορούν το zlib, την καθολική βιβλιοθήκη αναφοράς σε C για το DEFLATE.
1991Ο Phil Katz εφευρίσκει το DEFLATE για το PKZIP 2.0 προς αντικατάσταση των παλαιότερων αλγορίθμων Implode και Reduce.

Κύρια Πλεονεκτήματα

  • Το αδιαμφισβήτητο παγκόσμιο πρότυπο: υλοποιημένο σε υλικό (hardware), λειτουργικά συστήματα και κάθε περιβάλλον εκτέλεσης προγραμματισμού.
  • Σχεδιασμός χωρίς πατέντες και δικαιώματα χρήσης (royalty-free), εξασφαλίζοντας ανοιχτή πρόσβαση σε ολόκληρη τη βιομηχανία πληροφορικής.
  • Γρήγορη αποσυμπίεση με ελάχιστο αποτύπωμα μνήμης (απαιτεί μόνο 32 KB μνήμης κυλιόμενου παραθύρου).

Τεχνικοί Περιορισμοί & Μειονεκτήματα

  • Το κυλιόμενο παράθυρο (sliding window) περιορίζεται στα 32 KB, μειώνοντας την αποτελεσματικότητα συμπίεσης σε μεγάλα αρχεία με απομακρυσμένες επικαλύψεις.
  • Χαμηλότεροι λόγοι συμπίεσης σε σύγχρονα στοιχεία ιστού σε σύγκριση με νεότερους αλγορίθμους όπως το Brotli και το Zstandard.
  • Οι ακατέργαστες ροές DEFLATE στερούνται μεταδεδομένων αυτοπεριγραφής ή πλαισίου περιέκτη (container) χωρίς τα περιτυλίγματα zlib ή gzip.

Ενδιαφέροντα Τεχνικά Στοιχεία

  • Ο Phil Katz εφηύρε το DEFLATE αφού μηνύθηκε από την Unisys για τον κατοχυρωμένο με δίπλωμα ευρεσιτεχνίας αλγόριθμο LZW που χρησιμοποιούνταν στα πρώτα βοηθητικά προγράμματα PKARC.
  • Τα τυπικά byte κεφαλίδας zlib '78 9C' υποδεικνύουν προεπιλεγμένη συμπίεση, το '78 01' χαμηλή συμπίεση και το '78 DA' μέγιστη συμπίεση.
  • Κάθε εικόνα PNG στη Γη χρησιμοποιεί το DEFLATE για να συμπιέσει τα τμήματα pixel IDAT.

Συχνές Τεχνικές Ερωτήσεις

Ποια είναι η διαφορά μεταξύ DEFLATE, zlib και gzip;

Το DEFLATE είναι ο ακατέργαστος αλγόριθμος συμπίεσης (RFC 1951). Το Zlib τυλίγει το DEFLATE με κεφαλίδα 2 byte και άθροισμα ελέγχου Adler-32 (RFC 1950). Το Gzip τυλίγει το DEFLATE με μεταδεδομένα αρχείου και άθροισμα ελέγχου CRC-32 (RFC 1952).

Γιατί το PNG χρησιμοποιεί το DEFLATE;

Η μορφή PNG δημιουργήθηκε το 1995 για να αντικαταστήσει το GIF χωρίς τη χρήση κατοχυρωμένων με δίπλωμα ευρεσιτεχνίας αλγορίθμων LZW, επιλέγοντας το ανοιχτό, χωρίς δικαιώματα DEFLATE για συμπίεση.

Πώς μπορώ να αποσυμπιέσω ένα ακατέργαστο αρχείο .deflate;

Μπορείτε να αποσυμπιέσετε ακατέργαστες ροές byte DEFLATE ή zlib σε πρωτότυπα ασυμπίεστα αρχεία χρησιμοποιώντας το File2File.app απευθείας στο πρόγραμμα περιήγησής σας.