Gebrauchsanweisung für VBKiller
Killer ist ein VB-gestütztes Reverse-Analyse-Tool. Lassen Sie mich zunächst feststellen, dass es Ihnen nicht dabei helfen kann, ein VB-Programm in VB-Quellcode zu dekompilieren. Es kann nur dazu führen, dass die Disassemblierung eines VB-Programms dem VB-Code näher kommt.
Mit IDA können Sie fast alle Klassenstrukturen, Methodentabellen und Funktionskörper von VB-Programmen erstellen und die CLSID des COM identifizieren, auf das im VB-Programm verwiesen wird, und es mit ProgID benennen Jedes COM-Programm (nicht VB) kann auch Methodentabellen und Funktionskörper kompilieren und Methodentabellenstrukturen erstellen. Diese Strukturen können im zu analysierenden VB-Programm verwendet werden. Nach diesen Prozessen hat das zu analysierende VB-Programm in IDA eine Reihe sehr standardisierter Klassen und Methoden gebildet, und es ist nicht mehr weit vom Reverse Engineering des Quellcodes entfernt.
So verwenden Sie es:
Klicken Sie auf die Schaltfläche „Durchsuchen“, um ein COM-Programm, eine DLL, eine Exe oder eine OCX auszuwählen. Wenn es sich nicht um ein VB-Programm handelt, markieren Sie „Nicht-VB-Programm“ und klicken Sie zum Anzeigen. Das Feld links listet alle COM-Schnittstellen des ausgewählten Programms auf. Wenn Sie auch Klassen und Aufzählungen sehen möchten, können Sie „Alle Klassen außer Schnittstellen anzeigen“ auswählen. Klicken Sie auf eine beliebige Schnittstelle. Alle Methoden der Schnittstelle werden rechts angezeigt, einschließlich der Adresse in der Methodentabelle und der tatsächlichen Adresse des Methodenkörpers. Wenn Sie die ersten sieben Basismethoden anzeigen möchten, müssen Sie „Methoden der Basisschnittstellen anzeigen“ auswählen. Wenn es sich um ein Nicht-VB-Programm handelt, befinden sich rechts die Bildbasisadresse und die virtuelle Basisadresse Wahrscheinlich wird diese Adresse standardmäßig berechnet. Wenn sie falsch ist, muss sie manuell geändert werden, da sich die vom Programm erhaltene Methodentabellenadresse im laufenden Bereich befindet und diese beiden Basisadressen bekannt sein müssen, um in die Adresse konvertiert zu werden statische Datei, daher sehr wichtig und kann nicht ausgefüllt werden, da sonst ein Fehler erkannt wird. Klicken Sie auf „IDC generieren“, um die IDC-Datei entsprechend der aktuell ausgewählten Schnittstelle zu generieren. Wenn Sie diesen IDC in IDA laden, kann die entsprechende Methodenadresse automatisch identifiziert und verarbeitet werden. Klicken Sie auf „Alle generieren“, um IDC-Dateien für alle Schnittstellen zu generieren (sie in derselben Datei abzulegen). Wählen Sie „Struktur generieren“ und verwenden Sie zwei Generierungsschaltflächen, um das diesem COM entsprechende Strukturerstellungsskript zu generieren. Laden Sie diesen Struktur-IDC in IDA und ein Stapel entsprechender Strukturen wird in IDA generiert, wie zum Beispiel: Eines der analysierten Programme verwendet Datenbankoperationen und Verschlüsselungs- und Entschlüsselungsvorgänge Im Allgemeinen müssen die Strukturskripte von ADO und CAPICOM geladen werden.
VBKiller verfügt außerdem über eine Funktion zum Scannen und Identifizieren von COM, die noch nicht abgeschlossen ist.
Im selben Verzeichnis befinden sich mehrere andere C-Dateien.
Unter anderem ist header.c in der obigen IDC-Datei enthalten. Dies ist eine öffentliche Funktionsdatei.
vb.c ist eine modifizierte Version von vb.idc, die im Internet verbreitet wird. Es scheint, dass viele Orte nicht funktionieren. Mit diesem Skript können Sie die Klassenstruktur und die Ereignistabelle des VB-Programms erstellen.
vboop.c ist ein Skript, das speziell zur Unterstützung bei der Analyse der objektorientierten Funktionen von VB entwickelt wurde.
Die darin enthaltene Do_BasicOOP-Methode basiert hauptsächlich auf der in vb.c erstellten Ereignistabelle und verarbeitet den entsprechenden Funktionskörper. Wenn die Funktion nicht erstellt wird, erstellen Sie die Funktion, benennen Sie die Funktion um, damit sie mit dem Namen der Ereignistabelle übereinstimmt, und erstellen Sie sie Jede Klasse gleichzeitig. Die Struktur der Methodentabelle wird später analysiert.
ParseAPI wird verwendet, um VB-interne Funktionen zu verarbeiten. Es scannt die Querverweise aller angegebenen Funktionen, fügt wiederholbare Kommentare zur Funktion hinzu, versucht, Parameter zu identifizieren und fügt Kommentare zu jedem Parameter hinzu Die Quelle der Registerdaten mit Kommentaren. Die gescannten Funktionen und Kommentare sind im Code angegeben. Derzeit sind die meisten Funktionen angegeben. Sie können je nach Bedarf neue Funktionen hinzufügen.
Die ParseNew-Methode wird verwendet, um alle _vbaNew- und _vbaNew2-Querverweise zu scannen und zu versuchen, die entsprechende CLSID zu identifizieren. Wenn sie identifiziert werden kann, wird sie zur einfacheren Anzeige in den entsprechenden Programmnamen geändert. Die Erkennung ist derzeit integriert. Es gibt nicht viele integrierte Funktionen. Sie können bei Bedarf Ihre eigene hinzufügen. Beim Scannen schreibt das Programm die CLSID in die Datei UnKnown.txt. Nach der Analyse können Sie die Datei überprüfen. Suchen Sie nach der Datei CLSID, und nachdem Sie den Programmnamen erhalten haben, fügen Sie ihn an der entsprechenden Stelle im Programm hinzu.