Exe-Packer


Exe-Packer

Unter Kompression ausführbarer Programmdateien versteht man die Kompression der Programmdaten einer ausführbaren Datei und die Kombination der komprimierten Daten mit einer Dekompressionsroutine zu einer einzigen ausführbaren Datei. Die komprimierten Daten werden mittels der Dekompressionsroutine zur Laufzeit automatisch auf ihre ursprüngliche Größe im Arbeitsspeicher dekomprimiert und die ursprünglichen Programmdaten ausgeführt. Komprimierte ausführbare Programmdateien werden auch als gepackte Programmdateien bezeichnet.

Ziel der Komprimierung von ausführbaren Dateien sind verringerte Dateigrößen, um im Rahmen des Verbreitungsmediums zu bleiben (z. B. einer Diskette), und meist kürzere Startzeiten, falls die Dekomprimierung im Arbeitsspeicher stattfindet. Für manche Programmautoren geht es bei der Komprimierung ausführbarer Dateien darum, das Reverse Engineering zu erschweren, indem direktes Disassemblieren behindert, Zeichenketten verborgen und Signaturen verändert werden. Im Falle von Schadprogrammen ist das Ziel oftmals, die Erkennung durch Antivirenprogramme zu verhindern. Dabei wird die Kompression ausführbarer Programmdateien meist mit anderen Methoden der Verschleierung, wie beispielsweise Verschlüsselung, kombiniert. Gepackte Programme ohne weitere Verschleierungsmechanismen werden jedoch häufig von Antivirenprogrammen als solche erkannt, entpackt und überprüft. Manche ältere Antivirenprogramme klassifizieren gepackte Programmdateien generell als Schadprogramme.

Eine gepackte Programmdatei ist für Laien von ihrem ungepackten Original zur Laufzeit kaum zu unterscheiden. In der Regel gilt, dass die gepackten Dateien beim Starten direkt in den Arbeitsspeicher gelangen und keinen freien Speicher im Dateisystem benötigen, um zu starten. Abhängig von den Eigenschaften des Betriebssystems ist es für die Entpackprogramme manchmal erforderlich, temporäre Programmdateien auf dem Datenträger anzulegen, die dann gestartet werden. Bei der Ausführung wird die ursprüngliche Programmdatei automatisch entpackt und ihr dann die Kontrolle übertragen. Bei manchen Packprogrammen, wie beispielsweise UPX mit dem UCL-Algorithmus, erfordern die gepackten Programmdateien auch zur Laufzeit nicht mehr Hauptspeicher als das nicht gepackte Programm.

Eine gepackte Programmdatei benötigt weniger Speicherplatz auf dem Datenträger, weniger Zeit, um über das Netzwerk geladen und in den Hauptspeicher zu übertragen zu werden, aber zusätzliche Zeit, um die Programmdaten vor deren Ausführung zu entpacken. Aufgrund der Geschwindigkeit heutiger Prozessoren und der damit verbundenen schnellen Dekompression überwiegen meist die Vorteile durch die geringere Dateigröße. Die Verwendung gepackter Programmdateien geht jedoch zurück, da der Vorteil bei der Dateigröße heutzutage bei steigenden Speicherkapazitäten und schnellerer Netzwerke an Bedeutung verliert.

Einen Sonderfall von gepackten ausführbaren Dateien stellen die Selbstextrahierenden Archive dar. Hier werden die gepackten Dateien ebenfalls nicht über ein externes Dekompressionsprogramm auf den Datenträger entpackt, sondern intern durch die vorangestellte Entpackroutine. Ziel der Komprimierung ist meist eine kompakte Zusammenstellung eines aus mehreren, nicht notwendigerweise ausführbaren Dateien bestehenden Installationspakets. Oftmals ist der Entpackvorgang und die Übertragung der Kontrolle an ein Einrichtungsprogramm aus dem Installationspaket für den Benutzer erkennbar.

Eine weitere Sonderstellung nehmen Binder (Wrapper-Programme) ein. Hierbei handelt es sich um Anwendungsprogramme, die mehrere ausführbare Programmdateien komprimieren und zu einer ausführbaren Datei miteinander verbinden. Beim Start dieser Datei können dann mehrere Programmdateien, die in der Datei enthalten sind und zur Laufzeit entpackt werden, gleichzeitig zur Ausführung gebracht werden. Binder-Programme werden oft verwendet, um Nutzprogramme mit Schadprogrammen zu verbinden, so dass beim Start des Nutzprogrammes unbemerkt auch das Schadprogramm gestartet wird.

Extrembeispiele selbstentpackender Programmdateien findet man in der Demoszene. Manche Kompressoren wie MuCruncher, kkrunchy und 624 wurden für Demos mit einer Größenbegrenzung (in der Größenordnung weniger Kilobytes) entworfen. Die Spezialisierung dieser Kompressoren geht soweit, dass diese aufgrund der Kompressionszeit und des Speicherverbrauches für sehr viel größere Dateien unbrauchbar sind.

Inhaltsverzeichnis

Liste von Packprogrammen

PE-Format (32-bit), für Microsoft Windows-Programmdateien (Win9x, WinNT, WinXP)

  1. ANDpakk2 v0.18
  2. ASPack v2.12 - Proprietär
  3. BeRoEXEPacker
  4. CExe v1.0
  5. Crinkler v1.1
  6. exe32pack v1.42
  7. EXECryptor - Packer und Obfuscator
  8. eXPressor v1.3
  9. FSG v2.0
  10. kkrunchy v0.23
  11. MEW v1.1 SE
  12. NeoLite v2.0
  13. PECompact v2.98.4 - Proprietär
  14. PESpin v1.3
  15. PEtite v2.2
  16. PKLite32 v1.1
  17. Upack v0.399f - Freeware
  18. UPX v3.03 - Freie Software
  19. WWPack32 v1.12
  20. 32Lite v0.3
  21. NsPack v3.xx - .NET fähig
  22. .netshrink - nur für Dateien mit .NET Erweiterung gedacht

COM/EXE/SYS-Format, für DOS-Programm- oder Treiberdateien (MsDos v5.0)

  1. 624 v1.01 (für COM-Dateien < 25KB, nutzt den LZW-Algorithmus)
  2. LZEXE v1.00 und Pklite v2.01 (die Urväter)
  3. ComPAck v5.1
  4. Diet v1.45f
  5. AvPack v1.22
  6. ProPack v2.19
  7. WWPack v3.05b5
  8. XPack v1.67r
  9. aPack v0.99 (keines ist besser)
  10. 32LiTE v0.2 (ähnlich UPX, unterstützt verschiedene DOS-Extender, basiert aber auf aplib)
  11. UPX

Formate anderer ausführbarer Programmdateien

  1. 624 - für Executable and Linking Format-Binärdateien unter Linux/i386
  2. gzexe - benutzt ein Shell-Skript in Kombination mit gzip und läuft auf den meisten Unix-Derivaten
  3. PuCrunch - für Commodore 64, 16 und VIC 20.
  4. UPX - unterstützt auch Linux/i386 binaries wie auch einige weniger bekannte Plattformen

Liste von Entpackern und Identifiern

  • PEiD
  • CUP386 (generischer Entpacker/Debugger, Freeware)
  • UNP (spezifischer/generischer Entpacker, Cardware)
  • IUP (generischer Entpacker, public domain mit .ASM-Quelle)
  • RL!Unpackers (spezifische Entpacker, u.a. fuer upack)

Siehe auch


Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • EXE-Packer — Unter Kompression ausführbarer Programmdateien versteht man die Kompression der Programmdaten einer ausführbaren Datei und die Kombination der komprimierten Daten mit einer Dekompressionsroutine zu einer einzigen ausführbaren Datei. Die… …   Deutsch Wikipedia

  • EXE — is the common filename extension denoting an executable file (a program) in the DOS, OpenVMS, Microsoft Windows, ReactOS, and OS/2 operating systems.Besides the executable program itself, many EXE files contain other components called resources,… …   Wikipedia

  • The Ultimate Packer for eXecutables — UPX the Ultimate Packer for eXecutables Тип Упаковка исполняемых файлов Написана на C++, Ассемблер ОС Microsoft Windows, DOS, 27 апреля 2008 Лицензия GNU GPL Сайт …   Википедия

  • UPX — Entwickler Markus F.X.J. Oberhumer, László Molnár John F. Reiser Aktuelle Version 3.07 (8. September 2010) Betriebssystem Windows, Linux, BSD, DOS, Atari Katego …   Deutsch Wikipedia

  • Norton Commander — This article is about the software package. For the motorcycle of the same name, see Norton Commander (motorcycle). Norton Commander Screenshot of Norton Commander Original author(s) John Socha …   Wikipedia

  • Mormonism and violence — Mormonism, throughout much of its history, has had a relationship with violence.[1] The effect of this violence has had an impact on the history of the Latter Day Saint movement and its doctrines.[2] In the early history of the United States,… …   Wikipedia

  • Golden plates — In Latter Day Saint theology, the golden plates (also called the gold plates or in some 19th century literature, the golden Bible ) [Use of the terms golden bible and gold Bible by both believers and non believers dates from the late 1820s. See,… …   Wikipedia

  • Portable Executable File Format — Portable Executable Extension .cpl, .exe, .dll, .ocx, .sys, .scr, .drv Type de format Binaire, Exécutable, Code Objet, DLL Extension du MZ DOS Executable COF …   Wikipédia en Français

  • UPX — Infobox Software name = UPX the Ultimate Packer for eXecutables caption = collapsible = author = developer = released = May 26, 1998 latest release version = 3.03 latest release date = April 27, 2008 latest preview version = latest preview date …   Wikipedia

  • Tomb Raider Level Editor — Содержание 1 Движок 2 Редакторы уровней …   Википедия