Zeichenfolgenreferenzen
Im Code eines Programms begegnen Sie häufig Zeichenketten-Daten (Registrierungsschlüssel, Dateinamen, Fehlermeldungen usw.). Es kann sehr nützlich sein, die Liste der von Prozeduren und Funktionen in dekompilierten Anwendungen verwendeten Zeichenketten zu sehen. Genau dafür ist unsere Zeichenfolgenverweise (String references)-Funktion konzipiert, die über das Menü Extras (Tools) zugänglich ist. Um sie zu verwenden, navigieren Sie einfach zu Extras -> Zeichenfolgenverweise, und wenn Ihr Programm Zeichenketten-Daten enthält, werden diese wie unten dargestellt angezeigt:
Finden Sie die gewünschte Zeile in der Liste und doppelklicken Sie darauf. Der Codeabschnitt, der diese Zeile enthält, wird lokalisiert, und die entsprechende Prozedur wird im Code-Fenster geöffnet. Ein weiterer Doppelklick auf die Zeile setzt die Suche nach dieser Zeile innerhalb des Programmcodes fort. Klicken Sie auf 'OK', um die hervorgehobene Zeile im Code zu finden und das Dialogfeld zur Auswahl der Zeile zu schließen. Abbrechen schließt einfach das Dialogfeld.
Die Funktion zum Anzeigen von Zeichenfolgenverweise ist nur in der lizenzierten Version der Software verfügbar und für die Lite-Version nicht zugänglich.
Wichtiger Hinweis: Zeichenketten werden nicht nur für das aktive Modul wie in Programmen der Version 1.x angezeigt, sondern für das gesamte Programm. Diese Änderung wurde vorgenommen, um die Analyse von Programmen mit einer großen Anzahl von Formularen und Modulen zu erleichtern.
VB Decompiler unterstützt auch das Bearbeiten von Zeichenketten. Um das Dialogfeld zum Bearbeiten der Zeichenkette aufzurufen, klicken Sie mit der rechten Maustaste auf die Zeichenkette, die Sie ändern möchten, und wählen Sie Zeichenfolge bearbeiten (Edit string) aus dem Kontextmenü, das erscheint. Ein Dialogfeld zum Eingeben einer neuen Zeichenkette wird angezeigt. Nach dem Ändern der Zeichenkette klicken Sie auf Ok, und die Zeichenkette wird direkt in der bearbeiteten Datei geändert. Wir empfehlen, eine Sicherungskopie der zu untersuchenden Datei vorher anzulegen, da während dieser Aktion keine Sicherung erstellt wird und diese Operation nicht rückgängig gemacht werden kann.
Wichtiger Hinweis: Denken Sie beim Bearbeiten von Zeichenketten daran, dass die Länge der neuen Zeichenkette die Länge der alten nicht überschreiten sollte. Dies hängt mit dem Format von binären Anwendungsdateien zusammen, bei denen kein Platz für das Einfügen einer längeren Zeichenkette reserviert ist.
Sie können die Zeichenkette auch im HEX-Editor anzeigen und teilweise bearbeiten. Dazu klicken Sie mit der rechten Maustaste auf die Zeichenkette und wählen HEX Editor aus dem Menü, das erscheint. Im HEX-Editor gibt es Funktionen zum Rückgängigmachen und Wiederherstellen von Änderungen, was das Experimentieren beim Ändern von Zeichenketten-Daten von Anwendungen vereinfacht.
Das Fenster mit der Liste der Zeichenketten verfügt auch über ein Textfeld namens Suchen (Search) und eine Weitersuchen (Find next)-Schaltfläche. Diese Funktionalität ist nützlich, um Zeichenketten innerhalb der Liste zu finden, insbesondere bei großen Projekten, bei denen eine manuelle visuelle Suche durch die Liste extrem schwierig ist.
Schnelle Dekompilierung und große Zeichenkettenlisten
Zeichenfolgenreferenzen können durch vorläufige Disassemblierung gesammelt werden, einschließlich im Schnelle Dekompilierung (Fast decompilation)-Modus. Dies unterscheidet sich von der Suche nach vollständig dekompiliertem Text. Version 26.2 erweitert das Dialogfeld über 32,000-Referenzen hinaus und verbessert die Speicherverwaltung für große Listen.
Für .NET-Assemblys können Benutzerzeichenketten aus dem #US-Heap mit ihren Positionen in der Datei überprüft werden. Die Liste stellt Zeichenketten dar, die der statischen Analyse zugänglich sind; verschlüsselte oder dynamisch generierte Zeichenketten können eine separate Untersuchung erfordern.
