PofoWiki

Die ultimative Informationsquelle zum ATARI Portfolio

Benutzer-Werkzeuge

Webseiten-Werkzeuge


Action disabled: register
software:vorstellung:tools:packer2

Packer etwas erklärt

Vorweg

Auf die Bitte eines Mitglieds werde ich mich hier etwas über die Benutzung von Packern auslassen. Zwar hatten wir in der Pi 1/97 1)einen kleinen Bericht über Packer allgemein, aber über die Benutzung hielten wir uns etwas zurück. Da liegt mehr daran, daß es in der PC Atari oder Mac Geschichte einfach ein Standard geworden ist und im Prinzip jeder einen Packer oder Entpacker bedienen kann.
Nun sind Packer beim Portfolio eher selten, wobei man mit Diet Exeprogramme schon sehr erfolgreich kleiner machen kann. Aber bislang gab es nur wenige Packer die auf den Portfolio liefen.

Nun denn in diesem Bericht werden wir die gängigsten Packer kurz anreißen. Ich werde sicherlich nicht die kleinsten Parameter ausdiskutieren. Nur werden das Aus- und Einpacken von Dateien behandeln, einzeln oder alle, das schützen mit einem Paßwort und das Verschlüsseln von Archiven.

Die gängigsten Packer für den Pofo sind:

  • ZIP
  • LZH (LHA)
  • RAR
  • ARJ

Packerdateien erkennt man in der Regel an der Endung (letzte drei Buchstaben des Dateinamens). Die eben aufgezählten Packer sind auch gleich die verwendeten Endungen.

Die Ausnahme, wo gibt es das nicht, sind “selbstentpackende Files. Das sind Dateien mit einer EXE Endung, die das Entpackerprogramm klein mit drin haben. Damit wird das Archiv nur unmerklich größer. Aber dazu später.

PKZIP

pkzip_parameter.jpg Der gängigste und in den meisten Fällen beste Packer ist der PKZIP. Nebenbei auch der einzige, der einen getrennten Einpacker und Auspacker hat. PKZIP packt die Dateien und PKUNZIP oder UNZIP alleine packt die Daten wieder aus. Packer sind grundsätzlich Programme, die mit Parametern aufgerufen werden. Das bedeutet, PKUNZIP.EXE ohne einen Parameter macht nichts außer einer Ausgabe, in der erklärt wird, welche Parameter unterstützt werden.

Was ist ein Parameter?

Das ist eine Zeichenkette die nach dem Programmnamen in einer DOS-Eingabezeile eingegeben wird und damit dem Programm beim Start übergeben wird. Damit bekommt das Programm, also der Packer, die Anweisungen was er zu tun hat. Man hat diese Version gewählt, damit die Packer klein bleiben und nicht viel Programmcode verschwenden für das Handling der Dateiverwaltung. Das macht die Handhabung zwar komplizierter, aber dennoch lösbar, wie sie sehen werden. Es gibt nun Parameter die man Optionen nennt und Parameter, die man (sinnigerweise) Parameter nennt.

Optionen sind sogenannte „Schalter“, mit denen ich bestimmte Funktionen eines Packers ein-, aus- oder umschalte.

Damit erreiche ich das Einpacken von Unterverzeichnissen mit Pfadangabe, oder langsames aber dichteres Packen oder schnelleres dafür aber schlechteres Packen oder vieles mehr. Solche Optionen gibt es viel an der Zahl und einige sind zwingend, andere optional.

Parameter sind in der Regel Pfad und Dateiangaben. Also, wie soll das File heißen, was soll eingepackt werden oder was soll ausgepackt werden. Nun wie sieht also so eine Eingabezeile eines Packeraufrufes aus?

Nehmen wir einmal an, wir haben auf der Diskettette (A:) ein File was sich Test.zip nennt und wollen es komplett auf der Ramdisk (C:) auspacken.

 "PKUNZIP A:\TEST.ZIP C:\"

Fertig. Dabei kann ich die Endung ZIP auch weglassen, weil der Packer grundsätzlich davon ausgeht, daß es sich um ZIP Endungen handelt.

 PKUNZIP "Zu entpackende Datei" Wohin entpackt wird

Das ist also die Mindesteingabe, wobei der „Wohin..“ .auch weggelassen werden kann. Dann werden die Dateien in dem Verzeichnis entpackt, in dem der Packer aufgerufen wird.

Nun, wenn man nun wissen will, was ein Packer so alles kann, dann wie gesagt einfach nur ohne Parameter aufrufen, dann werden die Parameter auf dem Bildschrim ausgegeben. Die wichtigsten Parameter sind:

  • a für Dateien zu dem Archiv hinzufügen
  • r für einpacken von Unterverzeichnissen in der Verzeichnisebene, die angegeben wurde
  • s für Passwortfunktion
  • v für Zipfile ansehen
  • m Dateien in Archiv verschieben

Die anderen Optionen sind eher unwichtig. Nebenbei, wie man sicher schon gemerkt hat, muß man “Amit dem PKZIP Programm nicht unbedingt angeben, weil PKZIP immer davon ausgeht (wenn nicht anders gewünscht) daß man etwas einpacken will. Ansonsten könnte eine Eingabezeile, die eine Datei aus einem Archiv löscht so aussehen:

 "PKUNZIP -d TEST.ZIP TEST.DAT

oder ein Verzeichnis einpacken

 PKZIP -r Test.zip c:\system\*.*

Es ist , wenn man einmal weiß wie man die Optionen versteht, recht einfach. Mit dem Parameter -s wird ein Passwort über das File gelegt, was beim Auspacken abgefragt wird. Eine sehr sichere Methode Dateien zu verschicken, weil der Algorithmus sehr schwer zu knacken ist, je länger das Paßwort ist. Ansonsten ist zu dem PKZIPer nicht viel zu sagen.

ARJ

pkzip_parameter2.jpg Im Gegensatz zu dem PKZIP gibt es hier nur ein Programm zum Ein- und Auspacken.

Der Aufruf ist identisch mit dem Aufruf eines ZIP Packers mit der Ausnahme, daß ich immer mit einer Option den Packer starten muß, damit der Packer weiß was er nun machen muß: Einpacken oder auspacken. In einem Fall ohne Option und nur einem Filenamen, wird der Inhalt des Archives angezeigt. Das würde der Option “lwie listen entsprechen.

Beispiel:

 ARJ -a TEST.ARJ TEST.DAT

Dieser Befehl packt die Datei TEST.DAT in das Archiv TEST.ARJ

 ARJ -x TEST.ARJ C:\TEMP

Dieser Befehl packt die Datei TEST.ARJ in das Verzeichnis TEMP auf der Platte C aus.

Sie sehen also, mit dem Parameter a (ADD) und x(Extrakt) hat man schon die wichtigsten Optionen für den Packer. Im Bild sehen sie die Parameter Übersicht.

Einige Optionen sind recht interessant.

  • U - packt nur Dateien aus, die neuer sind. Das ist wichtig, wenn ich Backupfunktionen mit einem Archiver verwende. Man kann sich ja einfach mit einem Befehl alle Dateien der Ramdisk in ein File packen und bei einer Änderung nur die Dateien wieder einpacken, die sich geändert haben.
  • G - die Paßwortfunktion auch bei ARJ zum Sichern der Archive vor fremdem Zugriff.
  • M - für die Packmethode.
  • X - Auspacken mit dem vollen Pfad, dann werden auch Unterverzeichnisse wiederhergestellt, wie sie eingepackt wurden.

Bei ARJ gibt es unter den Optionen Kommandos, die aus einem einfachen Buchstaben bestehen. (a= Add) und Schalter, sogenannte Switches, die mit einem Minusstrich eingeleitet werden (-g = Passwort) Also, auch hier einfach die Überischt ansehen, damit macht man sich schon ein Bild, wie ein Packer zu benutzen ist und was man alles machen kann.

LHA oder LHZ

pkzip_parameter3.jpg Ebenfalls einer der besten Packer ist der Lharc. Ein Packer, der auch plattformunabhängig überall zu finden ist. Die Geschichte des Lharc ist so alt wie die des ARJ Packers und daher sieht man schnell, daßauch hier viele Gemeinsamkeiten zu finden sind. Hier mal in dem Bild zu sehen.

Hier unterscheidet man wieder zwischen Optionen, also mit Minusstrich vorweg und Parametern, einfachen Buchstaben. Die Parameter sind fast identisch in der Anwendung, und im Syntax wie beim ARJ. Das ist auch in der Übersicht leicht zu erkennen. Bei den Optionen ist das schon etwas anderes. Im Gegensatz zu ARJ lassen sich hier Optionen ein und ausschalten. Mit „+“ lassen sich Optionen einschalten und mit „-“ werden sie wieder abgeschaltet.

Der LHA ist für komplexe Filestrukturen sehr gut geeignet, hat aber in der Regel einen schlechteren Packerfolg als seine Kollegen. Man kann sich nun streiten, welcher Packer besser oder schlechter ist. Es hängt auf jeden Fall immer vom Anwendungsgebiet ab.

RAR

pkzip_parameter5.jpg Dieser Packer ist ein kleiner genialer Packer, der alle drei Standardpacker etwas miteinander verbinden soll und anhand seiner Struktur je nach Datenaufkommen sein Packerverhalten anpaßt, was ihn zum Universalpacker macht. Bekannt geworden ist er mehr in den letzten Jahren. Er verfügt vor allem über eine Norton-Commander ähnliche Oberfläche.

Der eigentliche RAR Packer ist allerdings auch Parameter orientiert. Hier einmal eine Übersicht der Parameter im Bild rechts.

Die Commands sind wie auch bei den anderen fast gleich. K ist zwar die Passwortfunktion, und heißt hier „lock“, aber sonst sind es nur Feinheiten. Interessant ist die Funktion R, die Archive reparieren kann. Bei Pkzip ist das ein eigenes Programm das sich ZIPFIX.EXE nennt, RAR hat diese Funktion fest eingebaut. Mit dieser Funktion werden Archive die fehlerhafte Daten enthalten soweit repapiert, daß man die Files, deren Inhalt beschädigt oder fehlerhaft ist aus dem Archiv löscht und den Rest wieder auspacken kann. pkzip_parameter6.jpg Bei den Switches ist schon etwas mehr geboten. Hier mal eine Übersicht in einem Bild links

Wir gehen hier nicht im Einzelnen auf die Switches ein, aber ich möchte ihnen einmal die Optionen V und MD zeigen, die interessante Möglichkeiten darstellen. Auch hier kann man die Packerrate einstellen, von m1= „sau schnell, sauschlecht“ bis m5= „verdammt klein, verdammt lange“. Die anderen Switches kann man mal ausprobieren, was immer sehr ratsam ist.

Im Allgemeinen.

Für den Portfolio gibt es einen PKZIP, einen LHA und ARJ Packer. Aber es laufen auch einige andere Packer. Den Rar Packer kann man auch auf dem Pofo laufen lassen. Allerdings sind 50 oder 60 Kb schon viel an Platz, den man nur für einen Packer benötigt. Man sollte daher darauf achten, daß man sich einen Packer aussucht, der selbst nicht eine ganze Ramkarte benötigt.

Die Dateien der Mailbox sind fast immer in PKZIP gelpackt und daher ist der UNZIPJR.EXE der kleinste Unzipper für den Pofo den ich kenne. Er hat nur einige Bytes und man kann ihn fast überall noch draufkopieren.

So, nun hoffe ich, ich konnte ihnen einen Einblick verschaffen in die Handhabung von Packern. Wenn Fragen sein sollten, dann darf ich sie bitten ERST einmal die Dateien zu studieren, die beiliegen. Es ist sicherlich die eine oder andere Besonderheit an den Packern in der Handhabung und in der Übergabe der Parameter. Also sollte man sich einfach die Zeit nehmen, die Read.me Dateien zu lesen oder die *.DOC einmal auf einen Drucker zu schicken.

1)
PI bedeutet PofoInfo, die Clubzeitschrift des Portfolioc Club Deutschland, Ausgaben Übersicht
software/vorstellung/tools/packer2.txt · Zuletzt geändert: 29/03/2006 00:03 (Externe Bearbeitung)