Durch das Ersetzen von Funktionsnamen durch nahezu zufällige Namen, das Ändern der Aufrufmuster für die Funktionen und das Vorkomprimieren der Datei ("Verkleinern") entfernen Sie effektiv alle sich wiederholenden Blöcke, die ein Komprimierungsalgorithmus sehen kann, und verwenden die Datei, um die Datei weiter zu komprimieren.
Ohne sich wiederholende Blöcke im Datenstrom gibt es nichts, was ein Kompressionsalgorithmus tun kann, um doppelte Blöcke zu entfernen. Der Grund dafür, dass die Dateigröße zunimmt, ist, dass die Kompressionsmethode ihre eigenen Overheads hat, die sie in eine Ausgabedatei schreibt. Der Kompressor verfügt über ein Wörterbuch mit "Phrasen", die innerhalb der Datei dupliziert werden. Die komprimierte Datei enthält im Wesentlichen eine Liste von Nachschlägen zu diesem Wörterbuch. Wenn jedoch keine Duplikate in der Datei vorhanden sind, werden das Wörterbuch zu einer Kopie der Originaldatei und der Nachschlage sind immer noch da, wobei jeder auf nur einen Eintrag im Wörterbuch zeigt.
Dies bedeutet, dass bei einer bereits komprimierten Datei die Ausgabedatei nicht kleiner als die Originaldatei sein kann. Am Ende speichern Sie immer die gesamte Datei zusammen mit einer Nachschlagetabelle, die dem Dekomprimierungsalgorithmus mitteilt, wie die Originaldatei wiederhergestellt werden soll.