Use the english downloadpage

XComp/XPack PE32-imagefile Packer und Rebuilder

Inhalt



1. Programm

XComp and XPack sind Komprimierungs-Werkzeuge für das Packen von ausführbaren 32bit Windows Dateien (üblicherweise haben diese Dateien die Extension '.exe' oder '.dll'). Dadurch reduziert sich die Dateigrösse um durchschnittlich 50%. Der Vorgang sollte idealerweise für die komprimierte Software und für den Benutzer völlig transparent ablaufen. Also - alles bleibt beim Alten. Probieren Sie selbst (es handelt sich hier um ein kostenfreies Freeware Produkt):


2. Anwendungen des Programms


2.1 Packen einer ausführbaren Datei





Wählen Sie die zu packende Datei und bestätigen mit OK - Packprozess beginnt.


Zunächst werden die Ressourcen neu organisiert - aufgrund meines schlechten
Codes ist das eventuell ein langsamer Prozess. Dabei wird der Fortschritt durch eine Progressbar (Fortschrittsanzeige) visualisiert.
Danach beginnt das Komprimieren -
ebenfalls an einer Progressbar sichtbar.


Haben Sie die Voreinstellungen nicht verändert,
befindet sich neben der gepackten Datei eine Sicherungskopie des Originals auf Ihrer Festplatte...

Prinzipiell lässt sich jede ausführbare 32bit Windows Datei, im folgenden PE32 Dateien genannt, komprimieren. Nicht immer jedoch bleibt die Ausführbarkeit erhalten. 

Generell empfehle ich die Voreinstellungen der Packeroptionen unangetastet zu lassen, wenn nicht besondere Umstände (oder Experimentierfreude) etwas anderes verlangen. 

Seien Sie vorsichtig beim DLL packen - verwenden Sie am besten XComp. XPack verbraucht beim Initialisieren (also beim Laden und folgendem Entpacken) Stapelspeicher nicht unerheblichen Ausmaßes. 

Wenn Sie so verfahren, können Sie bedenkenlos PE32 Dateien mit mehreren Code Sections packen. Das gabs unter alten NT Versionen durchaus wegen des Übergangs von Win16 auf Win32. Oder versuchen Sie mal alte Borland C++ 4.00 (1993) Dateien, insbesondere unter Win9X/ME.

XC_normal.jpg

2.2 Rebuilden einer ausführbaren Datei

Um bei einer Datei nur bestimmte Informationen zu entfernen oder auszutauschen, ohne eine Kompression der Inhalte, müssen Sie den Mode RadioButton in der Special Abteilung (ganz unten in der Dialogbox) auf Rebuild verschieben. 


2.2.1 Imagebase ändern
 




Tippen Sie die neue Imagebase in das dafür vorgesehene Textfeld.

Benutzen Sie hexadezimale Schreibweise.

Deselektieren Sie alle anderen Rebuild Optionen.

Betätigen Sie den OK Button.



Beachten Sie, dass unter Win9X/ME die Imagebase grösser oder gleich 4 MByte betragen muss, um eine ausführbare PE32 Datei zu erhalten!

Aus technischen (verständlichen) Gründen ist eine Änderung der Basisadresse nur möglich, wenn Ihre Datei Relokationsinformationen enthält.




Anmerkungen:


Es kann vorkommen, dass XComp/XPack selbständig die Imagebase einer Datei verändert:

Wenn eine PE32 Datei mit Relokationen und einer Imagebase unter 4 MByte gepackt wird, Sie ausserdem 'Delete relocations' ausgewählt haben, wird die Basisadresse auf 4 MByte angehoben. Das geschieht aus Win9x/ME Kompatibilität. 
XC_rbld_ibase.jpg


2.2.2 Relokationen entfernen 




Bestätigen Sie die Checkbox 'Delete relocations'. 

Deselektieren Sie alle anderen Rebuild Optionen. 

Betätigen Sie den OK Button. 

Bei dynamisch zu ladenden PE32 Dateien (.DLLs) sollten Sie bedenken, dass ein Laden an die bevorzugte Position nicht immer möglich ist. Möglicherweise sollten Sie auch die Imagebase modifizieren. 

So können Sie (auf Ihrem System) lauffähige DLLs ohne Relokationen erzeugen. 


XC_rbld_reloc.jpg


2.2.3 MZ-Stub Datei austauschen 


Um die Stub Datei (eine ausführbare MZ-exe Datei die auf dem Konsolen-Bildschirm einen Text anzeigt, z.b. 'Dies ist eine Win32 Datei')
auszuwechseln, müssen Sie erst eine neue Stub Datei auswählen. Das kann eine MZ, NE, PE Datei sein. Es wird immer nur der MZ Part
verwendet.


XC_rbld_MZ_sel.jpg



3. Philosophie

Die Gründe für diese Programmentwicklung sind ästhetischer Natur. Das langjährige Betrachten von ausführbaren Dateien mit einem Hexviewer lassen ein Qualitätsmerkmal ganz neuer Art entstehen. Ich nenne es 'Binäre Ästhetik'. Eine Datei kann, durch maximale Unordnung (niedrigste Redundanz) in einer doch definierten klaren Struktur (PE Dateiformat), einen wohltuenden optischen Eindruck hinterlassen. Eine Datei kann schön sein! XComp/XPack soll einfach nur schöne Dateien erzeugen.


4. Kontakt und Ausblick

Für die Zukunft sind Verbesserungen im Ressourcenhandling geplant. Für Vorschläge, Kommentare, entdeckte Fehler benutzen Sie bitte die Mailadresse in der About-Dialogbox.