article

Kompression ausführbarer Programmdateien ist die Kompression einer ausführbaren Datei und das Kombinieren der komprimierten Daten mit dem zum Entpacken nötigen Code in einer einzigen ausführbaren Datei. Der ursprüngliche Grund ist es Reverse Engineering zu behindern und die Erkennung von Schadprogrammen (durch Antivirussoftware) zu umgehen durch den Einsatz proprietärer Methoden und/oder zusätzlicher Verschlüsselung.

Bei der Ausführung wird die ursprüngliche Programmdatei automatisch im Arbeitsspeicher entpackt und ihr dann die Kontrolle zu übertragen. Sie verhalten sich also wie herkömmliche Programmdateien, für den Nutzer besteht kein sichtbarer Unterschied zu unkomprimierten Pendants. Eine komprimierte Programmdatei benötigt

  • weniger Speicherplatz
  • weniger Zeit um die Daten vom Dateisystem in den Speicher zu übertragen und
  • zusätzliche Zeit um die Daten vor der Ausführung zu entpacken.

Komprimierte ausführbare Dateien stellen einen besonderen Fall selbstextrahierender Archive dar, in dem die komprimierten Daten selbst eine ausführbare Datei sind.

Es gibt Programme zum Entpacken gepackter Programmdateien ohne sie auszuführen, namentlich CUP386 und UNP.

Bei den meisten Verfahren entpacken die gepackten Dateien direkt in den Arbeitsspeicher und benötigen keinen freien Speicher im Dateisystem um zu starten, bei manchen ist dieses Verhalten jedoch bekannt.

Extrembeispiele selbstentpackender Programmdateien finden sich in der Demoszene. Manche Kompressoren wie MuCruncher, kkrunchy und 624 wurden extra für Demos mit Größenbegrenzung entworfen. Ein extremes Beispiel ist Crinkler, der für 4096 byte-Intros geschaffen wurde und aufgrund der Kompressionszeiten und des Speicherverbrauches unbrauchbar ist für sehr viel größere Dateien.

Liste von Packprogrammen


Für Portable Executable-Dateien von Microsoft Windows

  1. .netshrink
  2. ASPack
  3. CExe
  4. exe32pack
  5. eXPressor
  6. FSG
  7. MEW - Entwicklung eingestellt
  8. MuCruncher
  9. NeoLite
  10. NsPack - .NET
  11. PECompact
  12. PEPack
  13. PELock
  14. PKLite32
  15. PEtite
  16. Shrinker32
  17. Upack - Freeware
  18. UPX - Freie Software
  19. WWPack
  20. PESpin

Für DOS-basierte Programmdateien

  1. apack
  2. LZEXE
  3. diet
  4. PKLite
  5. 32LiTE
  6. 624 (unterstützt nur kleine .COMs bis 25KiB)
  7. UPX

Für andere Formate 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)

Siehe auch


Netzverweise


Kompressionsalgorithmus

Executable compression | Упаковка исполняемых файлов

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Kompression ausführbarer Programmdateien".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld