Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
debloat — Ein GUI- und CLI-Tool zum Entfernen von Bloat aus ausführbaren Dateien | Kitploit
Tools/GitHubGitHub/squiblydoo/debloat
Reverse EngineeringMalware-AnalyseDigitale ForensikBinäranalyse
GitHubsquiblydoo/debloat

debloat

Ein GUI- und CLI-Tool zum Entfernen von Bloat aus ausführbaren Dateien

Repository anzeigen
45337vor 2 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

debloat

Debloat

Debloat ist ein GUI- und CLI-Tool zum Entfernen von überschüssigem Müll aus aufgeblähten ausführbaren Dateien.

Mit überschüssigem Müll meine ich 100 - 800 MB an Junk-Bytes, die einer Binärdatei hinzugefügt werden, um zu verhindern, dass sie in eine Sandbox gelangt. Diese Methode des Hinzufügens von Junk wird als „inflating“ oder „pumping“ einer Binärdatei bezeichnet. Debloat deckt derzeit die 10 häufigsten Inflationstechniken ab.

Da das Programm in Python entwickelt wurde, lässt es sich leicht in andere Arbeitsabläufe einbinden. Derzeit wird debloat von dem AssemblyLine des CCCS und dem MWDB von CERT Polska verwendet.

Das Programm kann für Windows, macOS und Linux kompiliert werden. Die GUI und die CLI haben nur minimale Optionen: Das Tool soll so einfach wie möglich sein, und die Logik innerhalb des Programms übernimmt die verschiedenen Anwendungsfälle automatisch.

Kompilierte Binärdateien sind bereits in den Releases enthalten.

Debloat kann mit pip install debloat installiert werden. Verwende debloat, um die CLI zu starten, und debloat-gui, um die GUI zu starten.

Für fortgeschrittene Benutzer kann Debloat auch in andere Skripte importiert werden, und die Verarbeitungsfunktionen können einzeln aufgerufen werden.

Wie verwendet man die GUI?

Die GUI von Debloat soll so intuitiv wie möglich sein. Nach dem Start kannst du eine aufgeblähte Datei per Drag & Drop auf die Textleiste ziehen und auf die Schaltfläche „Process file“ klicken. Einige technische Informationen werden im scrollenden Textfeld ausgegeben, und die Datei ohne Bloat wird in das Verzeichnis geschrieben, aus dem die Datei stammt. Klingt einfach? Ist es auch!

Die Verarbeitung von Dateien dauert ein paar Sekunden.
image

Wie verwendet man die CLI?

Nach der Installation mit pip install debloat verwende den Befehl debloat.
debloat akzeptiert zwei Argumente. Das erste Argument ist erforderlich: die Datei, die debloatet werden soll. Das zweite Argument ist optional: der Ausgabeort. Wenn keine Ausgabe angegeben wird, wird die Datei in dasselbe Verzeichnis wie die Originaldatei geschrieben.

Die GUI kann auch über die CLI mit dem Befehl debloat-gui gestartet werden.

Funktioniert es immer?

Noch nicht. Nach meiner aktuellen Analyse ist debloat in der Lage, in 97,8 % der Fälle Junk aus aufgeblähten Dateien zu entfernen.

In früheren Versionen konnte debloat versehentlich zu viel von der Binärdatei entfernen. Das ist nicht mehr der Fall, es sei denn, du verwendest den Schalter "--last-ditch". Falls du diesen Schalter jemals benötigst, ziehe in Betracht, das Sample für weitere Analysen zu teilen. Diese Option wurde inzwischen zur GUI hinzugefügt. Funktionell entfernt die Funktion das gesamte Overlay, sofern eines vorhanden ist. In einigen Fällen ist dies notwendig, da kein Muster für den Junk gefunden wurde---dies ist am häufigsten bei Samples der Fall, die sich nicht gut komprimieren lassen.

Anwendungsfälle (Bilder von Malcat)

Vollständige Unterstützung

  • Bloat, der an das Ende einer signierten PE angehängt wurde.
    Im Bild unten wurde der Bloat an das Ende der ausführbaren Datei angehängt.
    Screenshot 2023-02-11 at 3 32 36 PM

  • Signierte oder unsignierte gepackte ausführbare Datei.
    Im Bild unten wurde der Bloat nach dem Packen an die ausführbare Datei angehängt.
    Screenshot 2023-02-11 at 3 44 10 PM

  • Signierte ausführbare Datei mit Bloat im .rsrc-Abschnitt der PE.
    Im Bild unten wird der Bloat im .rsrc-Abschnitt identifiziert und aus der PE entfernt.
    Screenshot 2023-02-11 at 3 35 21 PM

  • Fälle, in denen Bloat innerhalb eines PE-Abschnitts hinzugefügt wird.
    Im Bild unten wurde der Bloat in einen PE-Abschnitt namens [0] eingefügt.
    Screenshot 2023-02-11 at 3 26 52 PM

  • Fälle, in denen die ausführbare Datei ein Nullsoft-Scriptable-Installer-System-Programm ist (NSIS, auch Nullsoft genannt) Bei diesen EXE-Dateien handelt es sich um Installationsprogramme, die eine oder mehrere Dateien enthalten können. Die enthaltenen Dateien können bösartig sein oder auch nicht. (Manchmal fügen Akteure Dateien nur hinzu, um die Dateigröße zu erhöhen.) Alle Dateien im Installationsprogramm werden in ein neues Verzeichnis extrahiert. Das Verzeichnis enthält außerdem das Skript des Installationsprogramms, das zurate gezogen werden kann, um festzustellen, welche Dateien möglicherweise bösartig sind. Im Bild unten hat Malcat die ausführbare Datei als NSIS-Installationsprogramm identifiziert.

Teilweise Unterstützung

  • Fälle, in denen der Junk zu zufällig ist und die Entropie zu hoch ist. In diesen Fällen ein Schalter/eine Option namens "--last-ditch"

Weitere Anwendungsfälle

Es gibt Anwendungsfälle, in denen das Tool nicht funktioniert. Ich plane jedoch, diese zu lösen, bevor ich zu viel darüber veröffentliche.

Warum?

Es scheint nur eine begrenzte Anzahl von Tools zu geben, mit denen aufgeblähte ausführbare Dateien einfach verarbeitet werden können. Die beiden Tools, die ich am häufigsten gesehen habe, sind „foremost“, das für die Wiederherstellung von Binärdateien aus einem Festplatten-Image gedacht ist, und „pecheck“.

Foremost funktioniert am besten, wenn die Junk-Bytes Null sind (0x00), und hat Schwierigkeiten, wenn die Binärdatei eine gefälschte oder echte Signatur besitzt. Die Verwendung zum Entfernen von Bloat aus Dateien ist nicht sein ursprünglicher Zweck.

Pecheck wurde über 14+ Jahre entwickelt und hat einige verwirrende Befehlszeilenoptionen. Die Option zum Entfernen von aufgeblähtem Inhalt ist nicht die Hauptfunktion des Skripts. Pecheck muss mit einem anderen Tool (disitool) kombiniert werden, um signierte ausführbare Dateien zu verarbeiten. Meiner Erfahrung nach gibt es weitere Fälle, in denen pecheck durcheinanderkommen und eine ausführbare Datei zurückgeben kann, die doppelt so groß ist wie die ursprüngliche aufgeblähte Datei. All diese Faktoren scheinen in Ordnung zu sein, wenn man eine kleine Anzahl von Binärdateien verarbeitet, aber mit zunehmender Anzahl von Binärdateien und Methoden wird ein Tool benötigt, das speziell zum Entfernen von Bloat entwickelt wurde.

Binary Refinery ist ein erstaunliches Tool. Es wurde mit der Absicht geschrieben, ein CyberChef der Befehlszeile zu sein. Obwohl beide Tools erstaunlich sind, haben beide eine Schwäche: Der Benutzer muss wissen, welche Formeln angewendet werden sollen.

Es gibt gute und solide manuelle Methoden, um Bloat aus Binärdateien zu entfernen, aber diese Methoden können mühsam sein, und nicht alle Analysten haben die Fähigkeiten dazu. Dieses Tool nimmt die Last, wissen zu müssen, wie man Bloat manuell entfernt. Darüber hinaus ermöglicht es eine bessere Skalierung. Die im Skript verwendeten Prinzipien ermöglichen eine bessere Skalierung, wenn Automatisierung gewünscht ist.

Wie erstellt man den Build?

Befolge die Build-Befehle, die zu deiner Plattform passen. Der Hauptunterschied zwischen den Build-Befehlen ist das Format des Symbols.
MacOS
pyinstaller --onefile --noconsole --additional-hooks-dir=./hook --icon=debloat.icns gui.py

Windows
pyinstaller --onefile --noconsole --additional-hooks-dir=./hook --icon=debloat.ico gui.py

Linux
pyinstaller --onefile --noconsole --icon=debloat.ico --collect-all tkinterdnd2 gui.py

Möchtest du diskutieren?

Ziehe in Betracht, dem debloat Discord beizutreten.

Credits

Ein großes Lob an Jesko Hüttenhain, den Entwickler von Binary Refinery. Die NSIS-Extraktion basiert auf seinem Reverse Engineering des NSIS-Dateiformats. Wirf einen Blick auf Binary Refinery, falls du es noch nicht getan hast.

Wohin geht dieses Projekt als Nächstes?

Stapelverarbeitung: Alle Dateien in einem Verzeichnis verarbeiten und einen Bericht erstellen.

Bessere Unterstützung für die Verwendung von Verarbeitungsmethoden außerhalb von debloat.

Unterstützung für das Debloating ohne Entpacken.

Tool herunterladen
image