www.wikidata.de-de.nina.az
UPX Ultimate Packer for eXecutables englisch fur Ultimativer Packer fur ausfuhrbare Dateien ist ein freies GNU General Public License Packprogramm fur ausfuhrbare Dateien das eine Reihe von Formaten unterstutzt UPXBasisdatenEntwickler Markus F X J Oberhumer Laszlo Molnar amp John F ReiserAktuelle Version 4 2 1 1 1 November 2023 Betriebssystem Windows Linux BSD DOS AtariProgrammiersprache Assembler C Kategorie EncoderLizenz GPLdeutschsprachig neinupx github ioUPX eignet sich besonders zur Komprimierung von Unix ELF 32 und 64 Bit DOS EXE 16 und 32 Bit Windows PE EXE und DLL oder auch TOS Dateien Im Unterschied zu den mittels weitverbreiteter Komprimierungsverfahren wie ZIP und RAR komprimierten Dateien lassen sich mit UPX komprimierte Dateien normal also ohne vorige Entpackung ausfuhren Zweck der Komprimierung von ausfuhrbaren Dateien sind verringerte Dateigrossen und unter Umstanden kurzere Startzeiten im Vergleich zu einer unkomprimierten Datei Die kurzeren Ladezeiten ergeben sich wenn die zusatzlich benotigte Rechenzeit zur Dekomprimierung im Arbeitsspeicher weniger ins Gewicht fallt als das Laden der grosseren Datei von der Festplatte oder uber ein Netzwerk Vorteile dieses Programms gegenuber anderen seiner Art sind vor allem seine teilweise Quelloffenheit es wird als freie Software Open Source vertrieben seine plattformubergreifende Eigenschaft und seine hohen Packraten Inhaltsverzeichnis 1 Packen ausfuhrbarer Programmdateien 1 1 Kompressionstechnik 1 2 Dekompression 2 Verschleierung 3 Nachteile 4 Unterstutzte Formate 5 Siehe auch 6 Weblinks 7 EinzelnachweisePacken ausfuhrbarer Programmdateien BearbeitenBei der Kompression ausfuhrbarer Programmdateien werden die Programmdaten gepackt und ihr ein Entpack Programmteil Decompressor vorangehangt der die eigentlichen Programmdaten entpackt und anschliessend startet Der Entpack Programmteil ist ein eigenstandiges Programm das gepackte und ungepackte Programme fur den durchschnittlichen Anwender ununterscheidbar macht da fur ihn zur Ausfuhrung keine weiteren Schritte notig sind Softwareproduzenten benutzen die Technik aus einer Vielzahl von Grunden hauptsachlich um den sekundaren Speicherbedarf ihrer Anwendungen zu senken zumal UPX da es speziell auf ausfuhrbare Programmdateien ausgelegt ist oft bessere Packraten erzielt als herkommliche Datenkompressionslosungen wie ZIP gzip oder bzip2 Das erlaubt es dem Hersteller mit dem Speicherplatzbedarf ihrer Programme besser im Rahmen des Verbreitungsmediums zu bleiben oder den Zeit oder Bandbreitenaufwand bei dem Zugriff uber das Internet zu minimieren Ein weiterer Vorteil von UPX besteht darin komplette Verzeichnisse z B Programm und zusatzliche Daten Libraries Ressourcen in einer Datei zu bundeln was z B automatische Updates oder die Verteilung in Firmennetzen ubersichtlicher sicherer und einfacher machen kann Ab Version 3 09 1 werden erstmals auch unter Microsoft Windows 64 Bit x86 64 Programmdateien und Bibliotheken unterstutzt Diese Funktion gilt derzeit noch als experimentell 2 Kompressionstechnik Bearbeiten UPX nutzt eine proprietare Datenkompressionsbibliothek namens Not Really Vanished NRV Alternativ kann eine freie Implementierung des NRV Algorithmus namens UCL verwendet werden Zudem stehen auch LZMA und zlib als Kompressionsverfahren zur Wahl UCL und NRV wurden entworfen um einfach genug zu sein damit ein Dekompressor in nur wenigen hundert Bytes Code Platz findet Bei UCL muss zum Entpacken kein zusatzlicher Speicher zugewiesen werden was einen erheblichen Vorteil darstellt da dadurch ein mit UPX gepacktes Programm keinen zusatzlichen Speicher benotigt Dekompression Bearbeiten UPX kennt beim Entpacken zweierlei Methoden die Datei kann direkt an Ort und Stelle im Arbeitsspeicher oder in eine temporare Datei entpackt werden Das direkte Entpacken in den Arbeitsspeicher stellt die uberlegene Technik dar ist jedoch nicht auf allen unterstutzten Plattformen moglich Auf den Plattformen auf denen das direkte Entpacken nicht moglich ist werden Temporardateien verwendet was zusatzlichen Overhead und andere Nachteile mit sich bringt jedoch das Packen von Programmdateien jeglichen Formates erlaubt Die Programmdaten werden in eine Temporardatei entpackt die dann zur Ausfuhrung gebracht wird Die Methode in eine Temporardatei zu entpacken bringt eine Reihe von Nachteilen mit sich Es werden spezielle Rechte wie suid ubergangen der Kommandozeilenparameter argv 0 Abfrage des eigenen Dateinamens durch ein Programm verliert seine Bedeutung und es wird Programmen unmoglich Teile gemeinsam zu nutzen Verschleierung BearbeitenDie Natur oder Funktion einer Programmdatei zu verschleiern ist manchmal erwunscht um Reverse Engineering zu behindern EXE Packer konnen benutzt werden um direktes Disassemblieren zu behindern Zeichenketten zu verbergen und Signaturen zu verandern UPX ist jedoch kein guter Schutz gegen Reverse Engineering da UPX gepackte Programme durch UPX selbst wieder entpackt werden konnen und auch leicht durch Debugger Dumper wiederhergestellt werden konnen Unveranderte UPX gepackte Programme werden haufig von Antivirenprogrammen als solche erkannt und entpackt Nachteile BearbeitenDie Anwendung von UPX auf Programme kann verschiedene Nachteile mit sich bringen Zum einen konnen manche Hilfsprogramme Programmbibliotheks Abhangigkeiten des gepackten Programms nicht mehr erkennen da nur noch der statisch gelinkte Dekompressionsteil sichtbar ist Weiterhin kann UPX die Initialisierungszeiten von Programmen verlangern Manche Antivirenprogramme behandeln laufzeitkomprimierte Programmdateien als Viren UPX komprimierte Programmdateien haben zudem grossere Auswirkungen auf die Systemressourcen Das Betriebssystem kann kein dekomprimiertes Abbild direkt vom Datentrager lesen siehe Virtuelle Speicherverwaltung wie es das im Falle von unkomprimierten ausfuhrbaren Dateien macht Stattdessen reserviert der UPX Dekompressor einen Speicherbereich fur die entpackten Daten der zugeordnet bleibt solange die Programmdatei geladen ist vergleichbar mit Speicherbereichen fur sonstige Daten die wahrend der Laufzeit anfallen Will das Betriebssystem im Rahmen des Swappings Teile des Programms aus dem Arbeitsspeicher entfernen muss es zunachst diese Teile in einen Auslagerungsspeicher schreiben Auch wird das Wiederverwenden der Ressourcen wenn mehrere Instanzen desselben UPX komprimierten Programms geladen sind verhindert oder bei Verwendung von KSM zumindest erschwert Unterstutzte Formate Bearbeitenatari tos djgpp2 coff 32 Bit DOS watcom le 32 Bit DOS dos com dos exe dos sys Linux i386 a out und ELF rtm32 pe tmt adam win32 pe EXE und DLL mit nativem x86 oder x86 64 code nicht aber Net Framework basierte Siehe auch BearbeitenKompression ausfuhrbarer Programmdateien Liste von Datenkompressionsprogrammen UpackWeblinks BearbeitenUPX Website UPX GUI grafische Benutzeroberflache fur UPX UPX Shell weitere grafische Benutzeroberflache fur UPX Einzelnachweise Bearbeiten Release 4 2 1 1 November 2023 abgerufen am 19 November 2023 UPX Versionshistorie Abgerufen von https de wikipedia org w index php title UPX amp oldid 237318256