Frage:
Gibt es Tools oder Skripte zum Identifizieren von Komprimierungsalgorithmen in ausführbaren Dateien?
Polynomial
2013-04-02 03:49:20 UTC
view on stackexchange narkive permalink

Ich weiß, dass es Tools zum Identifizieren gängiger Chiffren und Hash-Algorithmen im Code gibt, aber gibt es ähnliche Skripte / Tools / Plugins für gängige Komprimierungsalgorithmen wie gzip, deflate usw.? Hauptsächlich für x86 und Windows gedacht, aber auch Antworten für andere Plattformen sind willkommen.

Beachten Sie, dass ich Code und nicht Daten suchen möchte.

Es würde mich nicht wundern, wenn viele Komprimierungs- / Dekomprimierungs-Tools dies haben, da 7zip häufig Dinge öffnen kann, unabhängig von der Erweiterung. Obwohl es möglich ist, stützt es sich auf Metadaten.
Tools wie 7zip stützen sich einfach auf Metadaten in der ausführbaren Datei, um SFX-Binärdateien zu erkennen. Selbst wenn Heuristiken verwendet würden, würde nach komprimierten Daten gesucht, nicht nach dem Komprimierungsalgorithmus. Ich suche nach Möglichkeiten, die Adresse des Codes für gängige Komprimierungsalgorithmen zu ermitteln.
1 / Ich kenne kein Tool, das das macht 2 / es hängt wirklich davon ab, ob Sie mit C-Code oder optimiertem ASM-Code übereinstimmen möchten: Wenn Sie mit kompiliertem Code übereinstimmen möchten, ist es besser, eine FLIRT-ähnliche Signatur für bestimmte zu haben Funktionen. Um mit handoptimiertem ASM übereinzustimmen (etwas, das beim Kopieren / Einfügen selten geändert wird), stimmen Sie entweder mit dem gesamten Block überein oder verlassen Sie sich zumindest auf bestimmte Konstanten ([Beispiel] (https://code.google.com/p/kabopan) /source/browse/trunk/kbp/comp/aplib.py#14))
Drei antworten:
#1
+23
Igor Skochinsky
2013-04-02 08:24:29 UTC
view on stackexchange narkive permalink

signrch von Luigi Auriemma verfügt über Signaturen für Tabellen, die in allgemeinen Komprimierungsbibliotheken (zlib usw.) verwendet werden.

enter image description here

Es wurde als Plugin für ImmDbg und IDA portiert.

He hat auch das Tool offzip , das versucht, komprimierte Streams in einer Binärdatei zu identifizieren und zu entpacken.

Dieses Tool ist fantastisch. Sieht auch plattformübergreifend aus. Süss!
#2
+9
mrduclaw
2013-04-02 06:43:53 UTC
view on stackexchange narkive permalink

Ich bin ein großer Fan von binwalk, aber unter Windows hilft es Ihnen leider nicht viel.

In den Versionshinweisen heißt es: "Version 1.0 ist ein vollständiges Umschreiben in Python und enthält neue Funktionen und ein skriptfähiges Python-Modul." Obwohl in den häufig gestellten Fragen erwähnt wird, dass es nicht unter Windows getestet wurde, sollte es zu aufwändig sein, es zum Laufen zu bringen, wenn es nicht funktioniert 't.
#3
+2
til
2013-04-02 13:19:44 UTC
view on stackexchange narkive permalink

Wenn eine Binärdatei deflate oder gzip (die deflate verwendet) verwendet, wird der Code im Allgemeinen als Bibliothek verknüpft und ist daher anhand von Zeichenfolgenartefakten leicht zu erkennen. Dies kann sicherlich automatisiert werden, z. B. können Sie einfach nach den jeweiligen Zeichenfolgen suchen. Das manuelle Anpassen von Funktionen an den Quellcode ist ein etwas langwieriger Prozess, der jedoch normalerweise gut funktioniert. Der Prozess ist für weniger gebräuchliche Algorithmen oder wenn Sie keine Artefakte haben, viel schwieriger. In diesem Fall müssen Sie den Algorithmus anhand seiner Semantik identifizieren (Dinge wie Wortgröße, Konstanten, Datenstrukturen können Hinweise liefern).

Zusätzlich zu den bereits erwähnten FLIRT-Signaturen: Wenn Sie IDA Pro mit dem verwenden Hex-Rays-Plugin und Sie haben Glück, dass Sie möglicherweise einen Algorithmus auf http://crowd.re finden. Es sind einige Anmerkungen zu Komprimierungsalgorithmen verfügbar. Abgesehen davon sind mir keine Tools oder Skripte bekannt, die das tun, was Sie wollen.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...