VBReFormer Online – Handbuch
Benutzerhandbuch zu VBReFormer Online: eine VB6-Anwendung im Browser ablegen, ihren rekonstruierten Code erkunden, ein in der IDE wieder ladbares Projekt herunterladen.
Aktualisiert am 20.09.202611 Kapitel
Das Studio in Ihrem Browser. Sie legen eine Visual-Basic-5- oder -6-Anwendung ab, erkunden ihren rekonstruierten Code und gehen mit einem Archiv, das die VB6-IDE wieder öffnet. Nichts zu installieren, auf jedem System – einschließlich macOS, Linux und den Windows-Versionen, die für die Desktop-Anwendung zu alt sind.
1. Das Studio öffnen
Es gibt nichts zu installieren, nichts zu konfigurieren und kein Konto anzulegen, um anzufangen: Öffnen Sie die Adresse des Studios in einem aktuellen Browser, und Sie sind da.
- Jedes System – das Studio hängt nur vom Browser ab. Es ist der einzige Weg, VBReFormer von einem Mac, einem Linux-Rechner oder einem Windows vor Version 10 aus zu nutzen.
- Elf Sprachen – das Web-Studio wird in elf Sprachen ausgeliefert, fast viermal so viele wie die Desktop-Anwendung. Die Auswahl befindet sich in der Kopfzeile.
- Helles oder dunkles Thema – das Studio folgt der Einstellung Ihres Systems, und Sie können sie erzwingen (Hell / Dunkel).
Français · English · Español · Deutsch · Italiano · Português · 日本語 · 简体中文 · Українська · हिन्दी · العربية
2. Eine Binärdatei ablegen
- Bestätigen Sie die Erklärung. Das Studio bittet Sie zu erklären, dass Sie Eigentümer des Programms sind oder das Recht haben, dessen Code zu analysieren. Das ist eine Nutzungsbedingung, keine Formalität.
- Legen Sie die Datei ab. Ziehen Sie sie in den vorgesehenen Bereich, oder durchsuchen Sie Ihre
Dateien. Akzeptierte Formate:
.exe,.dll,.ocx. Maximale Größe: 64 MB – die Grenze steht auf dem Bildschirm, statt nach einem gescheiterten Hochladen entdeckt zu werden. - Lassen Sie die Analyse laufen. Das Studio nennt jeden Schritt beim Namen, mit einem Zähler: Datei wird empfangen → Binärdatei wird analysiert → Wird dekompiliert → Symbole werden erfasst → Aufrufgraph → Kontrollfluss.
Die Dauer hängt von Größe und Art der Binärdatei ab. Als Anhaltspunkt: Eine 9,35 MB große Anwendung geht vom Öffnen bis zum geschriebenen Projekt in etwa zwölf Sekunden.
Ist die Analyse abgeschlossen, sagt Ihnen das Studio auch, welcher Art das ist, was es gefunden hat: nativer Code, P-Code oder unbestimmt.
3. Was mit Ihrer Datei geschieht
Die Datei wird analysiert und dann mit Ihrer Sitzung gelöscht. Nichts wird aufbewahrt.
So steht es auf der Ablageseite, und so funktioniert es tatsächlich: Ihre Binärdatei wird für die Dauer Ihrer Arbeitssitzung verarbeitet und verschwindet mit ihr. Sie wird nicht archiviert, nicht indexiert, nicht wiederverwendet.
Was das auch bedeutet. Ihre Arbeit überlebt die Sitzung nicht. Schließen Sie den Tab oder läuft die Sitzung ab, muss die Binärdatei neu abgelegt werden. Laden Sie Ihr Archiv herunter, bevor Sie gehen. Ein Neustart des Dienstes trennt ebenfalls die laufenden Sitzungen – ohne Risiko für Ihre Originaldatei, die auf Ihrem Rechner liegt, aber Sie verlieren die laufende Erkundung.
Ist die Vertraulichkeit Ihrer Binärdatei eine vertragliche Frage, wissen Sie: Die Edition Desktop verarbeitet lokal alles, was zum Lesen der Datei gehört – Format, Bytes, Disassembly, Ressourcen – und sendet an den Dienst nur, was zur Rekonstruktion gehört.
4. Vier Wege in eine Binärdatei
Das linke Panel bietet vier Zugänge, und sie beantworten vier verschiedene Fragen.
| Reiter | die Frage, die er beantwortet |
|---|---|
| Projekt | „Wie ist dieses Programm aufgebaut?“ – der Baum der Formulare, Klassen, Module und ihrer Prozeduren, wie VB6 ihn sah. |
| Symbole | „Wo ist das definiert?“ – das vollständige Verzeichnis, mit Art und Container jedes Symbols. Es unterscheidet gelesene Namen von synthetisierten, was Ihnen von vornherein sagt, worauf Sie sich verlassen können. |
| Suche | „Wo kommt dieser Text vor?“ – im rekonstruierten Code wie in den Designer-Abschnitten. |
| Ressourcen | „Was gibt es außer Code?“ – Symbole, Cursor, Bitmaps, Zeichenkettentabellen, Versionsinformationen, mit Typ, Größe und Inhalt. Ohne Lizenz bereitgestellt: Eine Ressource wird gelesen, nicht rekonstruiert. |
Im Baum trägt jedes Mitglied seine Sichtbarkeit so, wie die Binärdatei sie deklariert – (Public),
(Private), (Friend). Ein Mitglied, dessen Sichtbarkeit nicht gelesen werden konnte, trägt keine
Kennzeichnung: Wir schreiben nicht, was wir nicht wissen.
Umbenennen
Das Web-Studio erlaubt, Symbole umzubenennen, und das Umbenennen ist global: Die Aufrufstellen in den anderen Modulen folgen. Das ist die zentrale Geste der Arbeit an einer Binärdatei – der Decompiler gibt Ihnen die Logik zurück, Sie geben ihm die Namen zurück.
5. Die Ansichten
Sieben Ansichten, und das Studio sagt selbst, unter jeder, was sie zeigt und ob sie eine Lizenz verlangt.
| Ansicht | was sie zeigt | Lizenz |
|---|---|---|
| Quelltext | der rekonstruierte VB6-Code | Vorschau ohne Lizenz |
| IR | was der Decompiler sieht, bevor er den Kontrollfluss rekonstruiert | Vorschau ohne Lizenz |
| Assembler | x86-Maschinencode, Symbole aufgelöst | vollständig ausgeliefert |
| P-Code | Opcodes der virtuellen VB6-Maschine | vollständig ausgeliefert |
| Designer | der Designer-Abschnitt des Formulars | vollständig ausgeliefert |
| Projekt | die rekonstruierte .vbp |
vollständig ausgeliefert |
| Struktur | die Strukturen des Formats, so wie sie gelesen wurden | vollständig ausgeliefert |
Die Linie, die trennt. Was sich in Ihrer Datei lesen lässt, ist kostenlos; was rekonstruiert wird, wird verkauft. Disassembly, Struktur, Designer und
.vbpstammen aus Tabellen, die in Ihrer Anwendung vorhanden sind. Der VB6-Quelltext dagegen existiert nirgends – er muss rekonstruiert werden, und diese Arbeit ist das Produkt.
Unter dem Code zeigt das Studio auch, was der Decompiler meldet für die aktuelle Prozedur: die Diagnosen, also was er nicht tun konnte und warum. Das ist der Reflex, den man haben sollte, sobald ein Ergebnis überrascht.
6. Was die Kompilierung behält, und was sie wegwirft
Dieses Kapitel erklärt, warum Ihre Formulare sehr lesbar zurückkommen und Ihre .bas-Module mit
technischen Namen. Die Regel ist einfach:
Was Visual Basic zur Laufzeit braucht, hat es in die Datei geschrieben: VBReFormer findet es wieder. Was es nach der Kompilierung nicht mehr brauchte, hat es weggeworfen – und niemand kann es zurückholen.
Was überlebt: Namen der Formulare, Klassen und Module · Namen der Steuerelemente · Ereignisbehandler · öffentliche Mitglieder der Klassen · Oberflächeneigenschaften · Aufrufe der VB-Runtime (635 Funktionen) · Win32-API (15 680 Signaturen) · die Struktur des Codes · die Zeichenketten.
Was nicht in der Datei ist: die Kommentare · die Namen lokaler Variablen · die Namen der
Parameter · die benannten Konstanten, ersetzt durch ihren Wert · die Namen der Prozeduren in
.bas-Modulen · die ursprüngliche Einrückung.
Ein überprüfbares Beispiel
Der folgende Auszug stammt aus SETUP1.EXE, dem mit Visual Basic 6 ausgelieferten Installationsassistenten – dessen Quelltext Microsoft mitliefert. Der Vergleich ist also für jeden wiederholbar, der VB6 besitzt.
Ursprünglicher Quelltext, COMMON.BAS:
Sub AddDirSep(strPathName As String)
If Right(Trim(strPathName), Len(gstrSEP_URLDIR)) <> gstrSEP_URLDIR And _
Right(Trim(strPathName), Len(gstrSEP_DIR)) <> gstrSEP_DIR Then
strPathName = RTrim$(strPathName) & gstrSEP_DIR
End If
End Sub
Von VBReFormer wiedergegeben:
Public Sub proc_42C506(ByRef arg_8 As String)
If ((Right(Trim(arg_8), Len("/")) <> "/") And (Right(Trim(arg_8), Len("\")) <> "\")) <> 0 Then
arg_8 = (RTrim$(arg_8) & "\")
End If
End Sub
Identische Logik, Zeile für Zeile. Right, Trim, Len, RTrim$ sind benannt; die
ByRef-Übergabe ist abgeleitet. Verloren sind dagegen der Name der Prozedur und der des Parameters,
und die Konstanten erscheinen mit ihrem Wert – der Compiler hat sie ersetzt, nicht VBReFormer.
Die Marker
VBReFormer rät nie: Ein Wert, der nicht festgestellt werden kann, wird markiert statt erfunden.
| Marker | Bedeutung | was zu tun ist |
|---|---|---|
proc_42C506 |
durch ihre Adresse bezeichnete Prozedur | umbenennen – der Name überträgt sich |
var_18, arg_8 |
lokale Variable oder Parameter | ihre Verwendung lesen, dann umbenennen |
? |
nicht festgestellter Wert | an derselben Stelle die Ansicht Assembler ansehen |
Eine Datei, die ein
?enthält, wird von der VB6-IDE abgelehnt. Der Marker ist da, damit Sie entscheiden, nicht um so neu kompiliert zu werden. Ein plausibler und falscher Wert ist das schlechteste Ergebnis, das ein Decompiler liefern kann.
7. Die Graphen
Zwei Graphen, und sie erzählen nicht dieselbe Geschichte.
- Aufrufe – wer was aufruft: die Architektur des Programms. Filter Aufrufer, Aufgerufene oder Beide, und eine Option, isolierte Knoten auszublenden.
- Fluss – wo die Ausführung entlangläuft: die Blöcke, der Eintritt, die Schleifenköpfe, die Schleifenrücksprünge und die als UNERREICHBAR markierten Blöcke.
Fünf Arten, einen Block zu lesen
Wählen Sie einen Block des Graphen und dann, was Sie darin sehen wollen: Form, IR, VB6, Assembler oder P-Code. Es ist derselbe Programmabschnitt auf fünf Leseebenen.
Die Ehrlichkeit der Darstellung. Das Studio gibt an, wie viele Blöcke auf den Listing-Zeilen verankert sind und wie viele ohne nachgewiesene Adresse sind – deren Befehle fallen dann in den vorhergehenden Abschnitt. Sie wissen also, welcher Teil der Aufteilung gesichert ist.
Die Graphen verlangen eine Lizenz: Wer was aufruft und wo die Ausführung entlangläuft, das ist die Architektur des Programms. Disassembly und Struktur bleiben ohne Lizenz offen.
8. Die Vorschau und die Lizenz
Ohne Lizenz wird Ihnen die Ansicht Quelltext nicht verweigert: Sie erscheint teilweise verdeckt. Sie sehen die Struktur, die wiedergefundenen Namen und die tatsächliche Qualität der Rekonstruktion – an Ihrer eigenen Binärdatei –, bevor Sie irgendetwas bezahlen.
Das ist eine bewusste Entscheidung: Ein Besucher, der nichts sieht, kann nicht urteilen. Und läuft ein Abonnement ab, sehen Sie, was Sie wiederfinden würden, statt einer geschlossenen Tür.
Ein Arbeitsplatz zur Zeit
Eine VBReFormer-Lizenz öffnet einen Arbeitsplatz zur Zeit – und ein Browser zählt als Arbeitsplatz. Arbeitet Ihre anderswo, bietet das Studio an, sie aus Ihrem Konto hierher zu übertragen oder einen Arbeitsplatz hinzuzufügen. Es ist eine sanfte Absage: Sie haben bezahlt, es fehlt Ihnen nichts.
9. Ihre Quelltexte herunterladen
Das Auslieferungs-Panel erzeugt ein .zip-Archiv mit der .vbp und ihren Dateien – .bas,
.cls, .frm –, geschrieben in ANSI, wie die IDE sie erwartet. Das Panel nennt die Anzahl der
Dateien und die Größe vor dem Herunterladen.
Lesen Sie die Notizen, bevor Sie das Projekt öffnen
Das Studio zeigt „Was nicht rekonstruiert werden konnte“, mit einem Warum zu jedem Eintrag. Manche Informationen – die externen Verweise, die Kompilierungsoptionen, der Startmodus – stehen in keiner Struktur der Binärdatei: Sie wurden nicht gelöscht, sie waren nie dort. Sie werden daher gemeldet statt erfunden.
Fehlt in der IDE ein Verweis, fügen Sie ihn über Projekt ▸ Verweise hinzu. Etwaige ?-Marker sind
von Hand zu behandeln.
Das Panel bietet anschließend an, eine andere Binärdatei zu analysieren: Die Sitzung beginnt von vorn, und die vorherige Datei wird gelöscht.
10. Online oder Desktop?
Beide Editionen teilen dieselbe Engine und liefern denselben Code. Sie dienen nicht demselben Gebrauch.
| Online | Desktop | |
|---|---|---|
| Installation | keine | MSI, Windows 10+ |
| Systeme | alle | Windows 10 und 11 |
| Oberflächensprachen | 11 | 3 |
| Baum, Symbole, Suche, Umbenennen | ✔ | ✔ |
| Die sieben Ansichten | ✔ | ✔ |
| Aufruf- und Flussgraphen | ✔ | ✔ |
| Projektexport | ✔ (zip) | ✔ (Ordner) |
| Kommentierte Hex-Ansicht | ✘ | ✔ |
| Ressourcen: Verzeichnis und Inhalt | ✔ | ✔ |
| Ressourcen: Extraktion in eine Datei | ✘ | ✔ |
| Gezeichneter Designer, Bildexport | ✘ (Abschnitt nur als Text) | ✔ |
| Binär-Patches | ✘ | ✔ |
| Querverweise | ✘ | ✔ |
| Object Browser, API Browser | ✘ | ✔ |
| Lesezeichen, Darstellungsoptionen | ✘ | ✔ |
| Die Arbeit überlebt die Sitzung | ✘ | ✔ |
| Abrechnung | Guthaben | Abonnement |
Kurz gesagt – Online, um eine Binärdatei zu öffnen, zu verstehen, was sie tut, und mit den Quelltexten zu gehen. Desktop, um lange an einer Binärdatei zu arbeiten: Bytes, Ressourcen, Querverweise, Patches, und eine Arbeit, die nicht verschwindet, wenn man den Tab schließt.
11. Häufige Fragen
Wird meine Binärdatei aufbewahrt? Nein. Sie wird analysiert und dann mit Ihrer Sitzung gelöscht. Siehe Kapitel 3.
Meine Datei ist größer als 64 MB. Das ist die Grenze des Studios, angekündigt vor dem Ablegen. Für eine größere Binärdatei hat die Desktop-Edition diese Upload-Beschränkung nicht.
Wo sind die Ressourcen der Binärdatei? Im Reiter Ressourcen, links – ohne Lizenz. Sie sehen dort jeden Eintrag mit Typ und Größe und seinen Inhalt, wenn Sie ihn öffnen: Das Bild wird gezeichnet, der Text angezeigt und der Rest als Bytes gezeigt statt verborgen. Die Extraktion in eine Datei dagegen ist der Desktop-Edition vorbehalten, ebenso wie die Hex-Ansicht.
Warum hört der Code mitten in einer Prozedur auf? Das ist die Vorschau: Ohne Lizenz zeigt die kostenlose Edition die Struktur, die Namen und das vollständige Disassembly, aber der rekonstruierte Rumpf verlangt eine Lizenz.
Ich habe den Tab geschlossen und alles verloren. Die Arbeit überlebt die Sitzung nicht. Laden Sie das Archiv herunter, bevor Sie gehen; die Binärdatei selbst liegt weiterhin auf Ihrem Rechner.
Lässt sich der exportierte Code unverändert neu kompilieren? Oft: Von 149 Projekten eines Testbetts kompilieren 121 unverändert neu. Die anderen verlangen, einen Verweis hinzuzufügen oder einige Marker zu behandeln.
Meine ausführbare Datei ist gepackt (Packer). Sie muss vorher entpackt werden, sonst sind die VB6-Strukturen in der Datei nicht sichtbar.
Ist das legal? Das hängt von Ihrer Rechtsordnung und Ihren Rechten an der Binärdatei ab – das ist der Sinn der beim Ablegen bestätigten Erklärung. Der vorgesehene Gebrauch ist die Wiederherstellung Ihres eigenen Codes oder eines Codes, an dem Sie die Rechte oder eine Erlaubnis halten.
Siehe auch
VBReFormer Desktop – HandbuchOhne Kauf ausprobieren