Archiv verlassen und diese Seite im Standarddesign anzeigen : EXE Packer und Entpacker
Rooter
2006-01-24, 19:15:18
Hi
Ich habe mehrere EXE-Cruncher gegeneinander antreten lassen : UPX, PECompact2, MEW11 und Upack.
Nur bei UPX kann man mit dem -d Switch die Datei wieder entpacken, bei den anderen gibt es kein zurück.
Aber decrunchen muss doch möglich sein weil die Antivirenprogramme wie Kaspersky oder BitDefender die doch auch entpacken (selbst ausprobiert!).
Kennt jemand so einen "ultimativen Entpacker" ? Sowas gab's damals für C64 und AMIGA aber für Windows ? :confused:
MfG
Rooter
mofa84
2006-01-24, 19:44:23
ich kenne zwar keinen, aber wieso benutzt du nicht einfach nur UPX?
Entpacken muss sowieso möglich sein sonst würden die Programme gar nicht mehr funktionieren - die entpacken sich quasi beim Aufruf selbst.
cyrix1
2006-01-24, 19:50:12
winrar kann das doch auch, zumindest bei selbstenpackenden archiven, installern/install shield
dariegel
2006-01-24, 20:02:01
Diese Programme setzen ihren eigenen Code vor den komprimierten Datensalat der ursprünglichen EXE-Datei. Bei der Ausführung wird also erst der an die EXE-Datei angehängte Entpacker/Decrypter gestartet, der die komprimierte/verschlüsselte Original-EXE-Datei in den RAM lädt und dort entschlüsselt.
Bei einigen Packprogrammen werden die originalen EXE-Dateien jedoch nicht in einem Rutsch entpackt/entschlüsselt, sondern nur der Teil, der gerade für die Ausführung der Original-EXE-Datei gebraucht wird. Der Rest bleibt nach außen hin unbrauchbar.
Es gibt also Packer, die Anwendungen nur komprimieren wollen (wie z.B. UPX), aber auch Packer, die sowohl packen als auch verschlüsseln (z.B. AsProtect), um die Originalanwendung vor Reverse-Engineering o.ä. zu schützen.
Gibt da ganz gemeine Sachen... :)
Rooter
2006-01-24, 20:04:13
ich kenne zwar keinen, aber wieso benutzt du nicht einfach nur UPX?
Entpacken muss sowieso möglich sein sonst würden die Programme gar nicht mehr funktionieren - die entpacken sich quasi beim Aufruf selbst.UPX habe ich bisher ja auch benutzt aber laut meinem heutigen Vergleich ist der was die Kompression angeht mit Abstand der Schwächste .
Ich will ein paar Tools auf dem 128MB USB-Stick mitnehmen, da will ich jedes Byte rausquetschen wo geht ! :D
Das die Datei quasi "on the fly" entpackt wird ist klar, mit "decrunchen" meinte ich aber das die ursprüngliche, ungepackte EXE wiederhergestellt wird !
MfG
Rooter
HeldImZelt
2006-01-24, 20:11:16
Man kann alles entpacken (dump+reconstruct) und wieder lauffähig herstellen. Einige Methoden sind nur schwieriger als andere (Armadillo, ActiveMark, FlexLM,...).
Ich würde mit RAR, 7Zip oder UHA packen. Immerhin stärkere Kompression als UPX. Manche Programme kann man auch direkt aus dem Archiv heraus starten. Ansonsten entpackt man halt vorher... wo ein Stick ist, ist auch'ne Platte.
mofa84
2006-01-24, 20:18:13
Ich würde mit RAR, 7Zip oder UHA packen. Immerhin stärkere Kompression als UPX. Manche Programme kann man auch direkt aus dem Archiv heraus starten. Ansonsten entpackt man halt vorher... wo ein Stick ist, ist auch'ne Platte.also so langsam frage ich mich auch was das ganze soll?
Wieso erst als Exe packen und dann doch wieder vor dem Ausführen entpacken?!
Da ist ein progressives RAR-Archiv wohl deutlich besser.
Rooter
2006-01-24, 20:40:14
RAR, 7Zip oder UHA sind aber nicht auf jeden Rechner vorhanden ! Was dann ? Genau deshalb will ich ja einen EXE-Packer verwenden weil das auf jeder Schrottkiste funktioniert.
Das mit dem dekomprimieren ist nur aus Neugier, wollte einfach mal wissen wie die Antivirenprogramme das machen und ob es diese Möglichkeit auch für uns Normalsterbliche gibt. Ist manchmal schon ganz interessant zu sehen wie gross die Programme unkomprimiert sind. Extremes Beispiel die 64k Demo Squish von AND :
- komprimiert (UPX) : 65536 Bytes (64k halt :D)
- entpackt : 3178496 Bytes :eek:
Die Datei wurde natürlich extra so gebaut das sie gut gepackt werden kann.
MfG
Rooter
mofa84
2006-01-24, 20:50:03
RAR, 7Zip oder UHA sind aber nicht auf jeden Rechner vorhanden ! Was dann ? Genau deshalb will ich ja einen EXE-Packer verwenden weil das auf jeder Schrottkiste funktioniert.da kannste aber auch SFX machen.
dariegel
2006-01-24, 21:52:17
Bei SFX wird aber wieder ein kleiner Programmteil des (Ent-)Packers zum Entpacken drangehängt -> kontraproduktiv. Außer dieser Nachteil wird durch bessere Kompression wieder wettgemacht, was ich aber nicht glaube.
mofa84
2006-01-24, 21:56:19
Bei SFX wird aber wieder ein kleiner Programmteil des (Ent-)Packers zum Entpacken drangehängt -> kontraproduktiv. Außer dieser Nachteil wird durch bessere Kompression wieder wettgemacht, was ich aber nicht glaube.bei nem Solid-Archiv wird das locker wettgemacht.
dariegel
2006-01-24, 21:57:02
Ok, hab jetzt instinktiv an SFX-ZIP gedacht...
mofa84
2006-01-24, 21:59:24
ZIP ist sowieso fürn Arsch, selbst wenn man bei RAR nicht solid verwendet ist er hauchhos bzw. haushoch überlegen.
dariegel
2006-01-24, 22:12:08
Weiß ich doch... :) Hab doch ned umsonst WinRAR...
HeldImZelt
2006-01-25, 00:21:48
Die meisten Programme bringen mehrere Sekundärdateien wie DLLs oder Containerdaten mit. Da bringen EXE Packer dann eh nichts.
Die Kommandozeilenversion von Winrar kann man stattdessen UPX-komprimiert auf den Stick legen.
Das mit den Demos kann man so nicht sehen. Die 3MB werden nicht "Inflatiert" oder dekomprimiert im herkömmlichen Sinne. Die Daten werden prozedural gewonnen und haben mit der hier angesprochenen Kompressionsproblematik nichts zu tun.
Rooter
2006-01-25, 02:04:18
Das mit den Demos kann man so nicht sehen. Die 3MB werden nicht "Inflatiert" oder dekomprimiert im herkömmlichen Sinne. Die Daten werden prozedural gewonnen und haben mit der hier angesprochenen Kompressionsproblematik nichts zu tun.Wenn Du damit meinst das die Daten (z.B. Texturen, Musikdaten ect.) einer 64k Demo nicht in der .exe enthalten sind, sondern generiert werden, stimmt das natürlich. Aber auch die Daten zur Generierung des Content müssen/sollten auf eine Art und Weise angeordnet werden das der Packer möglichst effektiv arbeiten kann.
Steht z.B. hier : 2.2: How to please an LZ compressor (http://kebby.org/articles/fr08snd2.html)
MfG
Rooter
Das KonsolenSFX-Modul für RAR benötigt gerade mal 50KB und macht nun das Archiv auch nicht viel fetter.
Berücksichtigt man die bessere Kompressionsrate von RAR wird UPX schnell geschlagen.
mofa84
2006-01-25, 09:04:51
Die meisten Programme bringen mehrere Sekundärdateien wie DLLs oder Containerdaten mit.die kann man aber auch packen.
HeldImZelt
2006-01-25, 14:49:57
Stimmt... die meisten dlls schon, ja. Aber Raw Dateien (non-PE) nicht.
Rooter
2006-01-27, 00:28:27
Habe noch einmal ausführlich gegoogelt und diese nette Seite gefunden :
http://short.stop.home.att.net/freesoft/arc2.htm#exepck
Schön und gut, aber wie man sieht sind die Tools teils >10 Jahre alt, mit den aktuellen Programmen können die nix anfangen.
Es gibt noch einen "Generic Unpacker", der den Aufruf des in den Speicher entpackten Programms abfängt, aber der läuft nur unter Win9x... :rolleyes:
Das KonsolenSFX-Modul für RAR benötigt gerade mal 50KB und macht nun das Archiv auch nicht viel fetter.
Berücksichtigt man die bessere Kompressionsrate von RAR wird UPX schnell geschlagen.Stimmt, UPX wird geschlagen...
Ein kleiner Test :
Media Player Classic 6.4.8.4 EXE - 4853760 Bytes
RAR-SFX (best) - 1756622 Bytes
Upack - 1561120 Bytes
Bei kleineren Dateien dürfte der Unterschied noch krasser ausfallen (btw, die Entpackroutine von Upack ist 359 Bytes gross...)
Falls es jemanden interessiert hier noch das Fazit meines Tests :
UPX (http://upx.sourceforge.net/)
+ entpackt sehr schnell
- nur befriedigende Kompressionsrate
PECompact2 (http://www.bitsum.com/pec2.asp)
+ Gute Kompression dank LZMA
+ viele Optionen
- produziert öfter defekte Dateien
MEW (http://programmerstools.org/node/40)
+ Kompression meistens noch etwas höher als PECompact
- Bug : Entfernt immer die Resourcen (z.B. Version)
Upack (http://programmerstools.org/node/45)
+ mit Abstand beste Kompressionsrate
+ Durch "Pack-Test" Optimierung der Parameter möglich
- entpackt sehr langsam
MfG
Rooter
mofa84
2006-01-27, 08:45:23
Stimmt, UPX wird geschlagen...
Ein kleiner Test :
Media Player Classic 6.4.8.4 EXE - 4853760 Bytes
RAR-SFX (best) - 1756622 Bytes
Upack - 1561120 Bytesich würde aber wetten bei 5 Dateien gewinnt der RAR mit einem Solid-Archiv - und du wolltest ja mehrere Dateien mitnehmen.
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.