Das Ziel von Mazewalkers ist es, die Zeit für die Malwareanalyse zu verkürzen, indem die Erfassung von Laufzeitdaten automatisiert wird, und eine bessere Visualisierung, die einem Forscher letztendlich dazu beiträgt, sich auf die statische Analyse und weniger auf seinen dynamischen Teil zu konzentrieren.

Packed Code - Mazewalker überwacht alle Speicherbereiche, in denen die Codeausführung stattgefunden hat, um die gesamte Ausführung später zu rekonstruieren. Wenn sich im bereits überwachten Bereich (Laufzeitcode entschlüsselt) hat, wird auch die neue Version für eine spätere Analyse gespeichert. Dieser Ansatz scheint für das Auspacken des allgemeinen Codes nützlich zu sein.
Positionsunabhängiger Code - Um indirekte Probleme mit dem Steuerungsfluss zu lösen ( jmp eat , call [eax] usw.), werden die Anweisungsreferenzadresse und die Steuerungsänderung der Steuerflussänderung für die spätere Verwendung während der statischen Phase erfasst.
System -APIs - Es ist kein Geheimnis, dass das Kennen von System -API -Parametern, die während der Ausführung verwendet wurden, hilfreich sein kann, um Malware -Interna und Gesamtzwecke zu verstehen. Mazewalker verfügt also über eine Python-basierte API-Call-Site-Analyse, um die verwendeten API-Parameter zu speichern oder zu ändern. Weitere könnten auf der dedizierten Wiki -Seite gelesen werden.
Codeabdeckung - Mazewalker sammelt die Liste aller grundlegenden Blöcke, die in allen überwachten Prozessen ausgeführt wurden. Diese Informationen werden verwendet, um die Code -Navigation zu unterstützen, indem sie die Steuerungsdurchflussgrafik in der IDA -Datenbank markieren.
CODE -Dispersion - Die meisten Malware verwenden heute die Code -Injektion und verteilen sich in einen unterschiedlichen Prozess des Systems. Mazewalker kann diese Injektionspfade folgen und Daten in allen Prozessen sammeln, um ein klareres Bild des Stichprobenverhaltens zu zeigen.
Umgebungserkennung - Viele Anti -Forschungs -Techniken basieren auf den gesammelten Informationen verschiedener System -APIs. Da Mazewalkers API-Interception-Fähigkeiten skriptbasiert sind, ist es sehr einfach, neue Anti-Anti-Research-Gegenmaßnahmen (Wiki) hinzuzufügen.
Visualisierung - Alle gesammelten Laufzeitinformationen werden von einem Idapython -Plugin verarbeitet und auf aussagekräftigere (hoffentlich) sinnvolle Weise dargestellt. Die neue Art der Visualisierung berücksichtigt die Laufzeitinformationen und zeigt, wie der Code die Ansicht von pro Thread ausgeführt hat. Auf diese Weise hilft es logischer, das Design des Programms logischer zu verstehen und sich weiter auf eine bestimmte Aufgabe zu konzentrieren.


Mazewalker basiert auf Intel Pin Framework für die Erfassung und Idapython für Laufzeitdaten für die In-IDA-Visualisierung.

Eine ausführliche Erklärung finden Sie in Wiki.