Packer

Kat-CeDe versucht, alle bekannten Packer zu unterstützen. Die umfangreiche Packerunterstützung spiegelt sich in einem eigenen Optionsdialog wider.

Im folgenden Kapitel möchte ich auf die Packer einzeln und im allgemeinen eingehen. Kat-CeDe erkennt die Packer automatisch, sobald sie im Suchpfad von Windows liegen. Ist ein Packer vorhanden, so ist die dazugehörende Checkbox beim ersten Start aktiviert und kann von Hand deaktiviert werden. Wird ein Entpacker nicht gefunden, so ist die Checkbox deaktiviert und kann auch nicht von Hand aktiviert werden, solange das entsprechende Programm nicht bekannt ist.

Folgende Packer bzw. gepackte Formate werden zum jetzigen Zeitpunkt unterstützt:

1.      Selbstentpacker (.EXE)
Trifft Kat-CeDe auf eine ausführbare Datei, so versucht es zu analysieren, ob es sich eventuell um eine gepackte Datei handelt. Wird ein Packformat erkannt, so wird die Datei auf Wunsch entpackt. Die gebräuchlichsten Selbstentpacker werden richtig erkannt. Sollen selbstentpackende Archive von Microsoft bearbeitet werden, benötigt man neben dem Packer EXTRACT oder EXTRAC32 (sind praktisch bei Win9x immer dabei) auch ein freies Werkzeug namens EXE2CAB. Dieses Werkzeug extrahiert CAB-Dateien aus den Programmen. Version 3.2 dieses Werkzeugs muß benutzt werden, da Kat-CeDe einen Parameter übergibt, den nur Version 3.2 kennt. Version 3.2 von Exe2Cab hat allerdings auch einen Nachteil. Es blendet während seiner Arbeit eine Dialogbox ein. Dieses kleine Ärgernis kann man beheben, wenn man in der Lage ist, einen sogenannten Resourcen-Editor zu bedienen. In einen Resourcen-Editor EXE2CAB.EXE laden und dem Dialog einfach eine andere Nummer geben. Wenn die Operation erfolgreich war, arbeitet EXE2CAB weiterhin wie gewünscht, nur wird keine störende Dialogbox mehr eingeblendet. Mit dem gleichen Trick kann man auch EXTRAC32.EXE abgewöhnen, immer diese nervende Dialogbox zu öffnen.

2.      ZIP (.ZIP)
Selbstverständlich wird auch das am weitesten verbreitete Format unterstützt und zwar gleich in zwei Arten. Die bevorzugte Art der Unterstützung basiert auf freien Programmen der Info-Zip-Gruppe (WWW), weil die Unterstützung langer Dateinamen in diesem Programm länger implementiert ist als in anderen Packern für dieses Format. Sollte das Info-Zip-Programm nicht gefunden werden, schaltet Kat-CeDe automatisch auf PKUNZIP (WWW) um. Bei PKUNZIP sollte man unbedingt eine aktuelle Version benutzen, damit eine Unterstützung langer Dateinamen vorhanden ist. Ein weiterer Vorteil von UNZIP ist, daß man auch den Quelltext bekommt und somit ist der Fortbestand dieses Packers fast garantiert. Sind sowohl PKUNZIP als auch UNZIP vorhanden, wird UNZIP benutzt. Von PKUNZIP sollte man eine Version >=2.5 nehmen, da erst hier eine Unterstützung langer Dateinamen integriert ist. Von UNZIP sollte eine Version >=5.32 genommen werden.

3.      LHA (.LHA, .LZH)
Auch bei diesem Format gibt es eine doppelte Unterstützung. Zum einen wird der Ur-LHA aus den historischen 80ern unterstützt; aber da dieser nicht mit langen Dateinamen arbeitet, empfehle ich eine Weiterentwicklung mit dem Namen LHA32 , welches auch lange Dateinamen unterstützt. Bei LHA32 kann es im Fehlerfall vorkommen, daß es Fehlermeldungen gibt, die einem spanisch vorkommen. Es ist allerdings nicht spanisch, sondern japanisch und es liegt daran, daß der Entwickler aus Japan stammt und eventuell noch nicht die Zeit hatte, die Texte in die englische Sprache zu übersetzen. Sind sowohl LHA32 als auch LHA vorhanden, so wird LHA32 benutzt. Von LHA32 gibt es zwei Versionen. Die erste Version stammt vom Urautor Yoshizaki und die zweite Version von Take. Beide stammen aus Japan. Leider kann ich für keine Version mehr eine Webadresse angeben, da sich anscheinend beide Autoren etwas zurückgezogen haben.

4.      ARJ (.ARJ)
Unterstützung für das Packformat ARJ soll aktiviert werden. ARJ bietet eine gute Packrate und ist recht verbreitet. Seit einer Version 2.55 Alpha unterstützt ARJ auch lange Dateinamen. Deswegen sollte man bei diesem Packer darauf achten, daß man eine recht aktuelle Version installiert.

5.      RAR (.RAR)
RAR ist einer der weniger bekannten Packer, der auch über eine gute Packrate verfügt.

6.      UC2 (.UC2)
Ähnlich wie RAR verfügt der Ultra Compressor über eine gute Packrate und andere nette Features, konnte sich aber nicht so recht durchsetzen.

7.      iShield (.Z,.1,.2,.CAB)
iShield steht für Install Shield. Dieser Packer ist als alleinstehender Packer praktisch ohne Bedeutung, aber in Verbindung mit Installationsprogrammen ist er der Marktführer. Im Laufe der Zeit hat der Packer verschiedene Entwicklungsstufen durchlaufen. Möchte man die älteren Archive (.Z,.1,.2) entpacken, muß der Entpacker in der Version 3.x als I3COMP im Packerverzeichnis stehen. Für die neueren CAB-Archive muß der Entpacker in der Version 5 als I5COMP und oder ISCAB im Packerverzeichnis stehen. Beim Arbeiten mit dem Entpacker I5COMP ist zu beachten, daß eventuell sehr viel Speicherplatz im temporären Verzeichnis benötigt wird. Der Grund für den recht hohen Speicherbedarf liegt bei den sogenannten MultiVolume-Paketen. Damit Kat-CeDe diese Pakete entpacken kann, müssen zuerst alle einzelnen Dateien (DATA1.CAB...DATAN.CAB) in das temporäre Verzeichnis kopiert werden, dann wird aus diesen Dateien eine einzige Datei und diese Datei wird dann entpackt. Als Faustregel kann man sagen, daß etwa der dreifache Speicherbedarf aller CAB-Dateien benötigt wird und somit kann recht leicht ein Bedarf von >100 MB entstehen.

8.      EXTRACT (.CAB)
Dies ist der Lieblingspacker von Microsoft und steht bei jeder Win9x- bzw. NT4-Installation automatisch zur Verfügung. Leider ist MS ein bißchen in sich selbst verliebt, so daß weder EXTRACT.EXE noch EXTRAC32.EXE wirklich richtig brauchbar sind, um unsichtbar in ein Programm eingebaut zu werden. EXTRACT.EXE hat das Problem, daß es bei verteilten Archiven auf Benutzereingaben wartet. Leider sind hauptsächlich Microsoft-Programme in mehrere Dateien verteilt und hier wiederum der bekannte Internet-Explorer, den man leider auf praktisch jeder CD findet. EXTRAC32.EXE wartet nicht auf Benutzereingaben und eignet sich im Prinzip recht gut auch für den Internet-Explorer, doch hat auch dieses Programm einen ärgerlichen Haken. Wenn EXTRAC32 ein Archiv entpackt, öffnet es eine Dialogbox und reißt den sogenannten Eingabefocus an sich, so daß man nur unzufriedenstellend mit anderen Programmen zur gleichen Zeit arbeiten kann. Sind sowohl EXTRACT als auch EXTRAC32 vorhanden, so wird EXTRAC32 benutzt.

9.      UNTGZ32 (.TAR,.TGZ)
Unter Windows spielt dieser Packer keine besonders große Rolle, aber dafür um so mehr im Bereich Unix/Linux. Möchte man also auch genauer wissen, was sich in Dateien auf Linux-CDs befindet, ist dieser Packer ein Muß. Glücklicherweise findet man diesen Packer sehr oft im WWW und sogar im Quelltext. Benutzt werden muß die aktuellste Version dieses Entpackers, da die Vorgänger einen Fehler in der CRC-Berechnung hatten, der unter Umständen zu einem Absturz führen könnte.

10.  GZ (.GZ,.Z)
GnuZip ist auch ein Packer aus dem Unix-Umfeld. Es ist der Nachfolger für das ursprüngliche COMPRESS. Compress und TAR bildeten zusammen ein Gespann, das lange Zeit DER Packer für Unix war. Wenn man UNTGZ32 installiert hat, besteht kein Grund, sich diesen Packer ebenfalls zu installieren.

11.  Expander (.HQX,.SIT,.SEA)
ist wieder ein Packer, der für Windows selbst keine Rolle spielt. Dies ist ein weiterer Versuch, Kat-CeDe auch für Besitzer anderer Rechner interessant zu machen. Hierbei handelt es sich um einen Entpacker, der unter Windows Archive für die Apple-Computer zur Verfügung stellt. Damit eine Unterstützung gelingt, muß der Expander in der Version 5 oder neuer installiert sein und so konfiguriert werden, daß er immer in ein bestimmtes Verzeichnis entpackt. Kat-CeDe manipuliert das vorgegebene Verzeichnis jedesmal, bevor der Entpacker aufgerufen wird, und somit muß man vorsichtig sein, wenn man den Entpacker auch von Hand aufruft, da man nicht davon ausgehen kann, daß die letzten Einstellungen noch stimmen. Expander findet man, wie so vieles auch, im WWW. Dieser Entpacker ist leider auch nur bedingt zu empfehlen, da er im Falle eines Fehlers eine Dialogbox auf den Bildschirm bringt, die man auch nicht abschalten kann.

12.  ZOO (.ZOO)
ZOO ist ein Packer aus den Anfängen der PCs. Heute spielt er praktisch keine Rolle mehr.

13.  ACE (.ACE)
ACE ist ein relativ neuer Packer, der immer mehr Freunde findet. Damit das Entpacken von ACE-Dateien funktioniert, muß die Datei UNACE.EXE vorhanden sein. Vorsicht! Dieses Programm benötigt EMS-Speicher, d. h. EMS-Speicher in den Eigenschaften von dem Programm aktivieren.

14.  7Zip (.RPM, .DEB, .CPIO,.BZ2)
7Zip ist ein Open-Source-Packer, der sehr viele Formate versteht. Damit das Entpacken von den Dateien funktioniert, muß die Datei 7Z.EXE vorhanden sein. Zusätzlich zu den angegebenen Endungen werden auch TAR und GZ mit 7Zip entpackt wenn er vorhanden ist.


Bei einigen Packern wird mit dem Passwort „test“ entpackt damit keine überflüssigen Wartezeiten enstehen.


Sollten einige Packer nicht vorhanden sein, aber benötigt werden, so empfehle ich einen Blick ins Internet unter http://www.sac.sk/files.asp?name=PACK.

Diese Packer/Entpacker werden unterstützt, wenn es um das Entpacken von Dateien geht. Sollen die gesammelten Daten von Kat-CeDe gepackt gespeichert werden, so wird z. Z. nur das Gespann PKZIP, PKUNZIP unterstützt.

Packer suchen
Mit diesem Button wird ein Suchvorgang für alle unterstützten Packer eingeleitet. Welche Packer gefunden wurden, kann man nach Abschluß der Suche an den Markierungen feststellen. Kat-CeDe merkt sich die Pfade der gefundenen Packer nicht lokal sondern global in der Windows-Registry, d. h. auch alle anderen Programme können die Packer ab diesem Zeitpunkt ohne Angabe eines Pfades finden. Jetzt sind Kat-CeDe alle installierten Packer bekannt. Damit die Zusammenarbeit zwischen Kat-CeDe und den Packern möglichst reibungslos funktioniert, muß jetzt nur noch die Datei "_default.pif" im Windows-Verzeichnis so geändert werden, daß sich die Fenster beim Beenden schließen und daß die Programme auch im Hintergrund weiterarbeiten.

Sollte man aus irgendeinem Grund nicht wollen, daß sich Kat-CeDe die Packer auf dem oben beschriebenen Weg selbst sucht, dann gibt es noch eine alternative Möglichkeit, die ich im folgenden Abschnitt kurz beschreiben möchte.

Da ich mich nicht allzu lange mit diversen Packerpfaden herumärgern wollte, müssen die Packer bzw. ihre PIF-Dateien in einem Pfad stehen, der Windows bekannt ist. Ich empfehle, für die Packer ein neues Verzeichnis (z.B. C:\PACKER) anzulegen und dieses Verzeichnis durch Eintrag der Zeile PATH=%PATH%;C:\PACKER in der AUTOEXEC.BAT dem Betriebssystem bekanntzugeben. Von jetzt an durchsucht Windows auch das Verzeichnis C:\PACKER, wenn man ein Programm aufruft, ohne im richtigen Pfad zu stehen. Um zu prüfen, ob das Vorgehen erfolgreich war, kopiere man einen Packer in das angegebene Verzeichnis, öffne die DOS-Box und starte den eben kopierten Packer, ohne daß man das Verzeichnis angibt. Wenn eine Reaktion erfolgte, ist der erste Schritt der Konfiguration gemacht und Kat-CeDe müßte die Packer ebenfalls finden. Jetzt kopiert oder installiert man alle Packer/Entpacker so, daß die EXE-Datei im Pfad C:\PACKER steht. Um ein ungestörtes Arbeiten mit Kat-CeDe zu erhalten, sollte man jetzt für jeden Packer im Explorer die Eigenschaften anwählen und dort sagt man, daß sich das Fenster beim Beenden automatisch schließen soll und daß das Fenster minimiert geöffnet werden soll. Sagt man jetzt z. B. in Start/ausführen "PKZIP" (oder ein beliebig anderer Packer), sollte ein minimiertes Fenster kurz erscheinen und je nach Packer auch sofort wieder verschwinden.

Gepackte Dateien werden von Kat-CeDe wie normale Ordner behandelt, sofern die Option "komplett entpacken" gewählt wurde. Wie in vielen Packershells kann man durch die Archive wandern, als wenn es Verzeichnisse wären. Einen großen Unterschied gibt es aber in den Trackmenüs, wenn man es über eine Datei aufruft, die sich in einem Archiv befindet. Der erste augenscheinliche Unterschied ist die "Kopieren"-Option, die man nicht anwählen kann. Der zweite Unterschied sind die Einträge: "Starten", "Starten mit" und "Entpacken". Bei "Starten" wird ein Packer bzw. eine Shell aufgerufen (bei mir TopWare-Zip), wenn installiert. Als Parameter bekommt das Programm den Namen des Archivs übergeben. Der gleiche Parameter wird auch dem ausgewählten Programm bei "Starten mit" übergeben. Bei "Entpacken" wird das komplette Archiv entpackt und das Ergebnis befindet sich dann in dem Verzeichnis, welches man als "Kopierpfad"Daten angegeben hat.

Konfigurieren der Packer
Der Aufruf der verschiedenen Packer ist so vorgegeben das mit den DOS-Versionen der Packer die Archive entpackt werden können. Hat man nicht alle Packer aber ein Programm das mehrere Formate unterstützt so kann man den Aufruf für die verschiedenen Archiveformate konfigurieren. Für die Konfiguration muß die Datei KatCeDe3.INI mit einem Editor geöffnet werden und es muß ein Bereich hinzugefügt werden der wie folgt aussehen muß:

[Packer]
RPM=7Z x -y -ptest “%s“
Zip=UNZIP -qq -o -P test %s
Zoo=ZOO xq %s
LHA=LHA32 x /m1 %s
ARJ=ARJ x -y -ja1 -+ -gtest %s
ACE=UNACE x -ptest %s
RAR=UNRAR x -y -p- %s
UC2=UC ESF %s
Extract=EXTRAC32 /E /Y /L %s\\ %s
UnTGZ=UNTGZ32 -y %s
UnGZ=UNTGZ32 -y -d %s "%s"

%s muß an der Stelle stehen wo der Archivename eingefügt werden muß. Die hier angegebenen Beispielzeilen entspricht den Voreinstellungen von Kat-CeDe. Wenn eine Konfigurationszeile für einen Packer vorhanden ist so geht Kat-CeDe automatisch davon aus das dieser Packer auch vorhanden ist.