Decompiler-VB.Net
DE
Anmelden
VBReFormer Gen2 Vollständig neu geschriebene Engine, kompletter P-Code und das Online-Studio in der öffentlichen Beta. Ankündigung lesen →
Verlorener Quellcode

Sie haben den Quellcode einer VB6-Anwendung verloren. Das lässt sich zurückholen.

Defekte Platte, Entwickler weg, Backup einer zu alten Version: Nur das kompilierte Programm ist übrig. Ein VB6-Decompiler holt daraus viel mehr heraus, als man denkt, und weniger als alles. Diese Seite sagt, was, bevor Sie etwas installieren.

VBReFormer Pro (Gen2) — VB6-Code
VB6-Code Vergrößern

Kennen Sie eine dieser Situationen?

Die Festplatte ist defekt

Der Entwicklungsrechner ist hinüber, aber die EXE läuft noch bei Ihren Anwendern.

Der Entwickler ist weg

Er hat das Projekt mitgenommen, oder niemand weiß, wo er es abgelegt hat.

Der Dienstleister existiert nicht mehr

Die Firma, die die Anwendung geschrieben hat, gibt es nicht mehr, und der Quellcode wurde nie übergeben.

Die Sicherung ist zu alt

Der gefundene Quellcode entspricht nicht mehr der Version, die im Einsatz ist.

Was Sie brauchen

Die kompilierte Datei: eine .exe, .dll, .ocx oder .scr, erzeugt von Visual Basic 5 oder 6. Sonst nichts. Sie müssen nicht wissen, ob sie in P-Code oder nativen Code kompiliert wurde: VBReFormer erkennt es und verarbeitet beides.

  • Dekompilierung von P-Code, VB5 und VB6
  • Dekompilierung von nativem x86-Code, VB5 und VB6
  • Mit UPX gepackte Binärdateien: entpackt, ohne ausgeführt zu werden
  • Danach ASPack, MPRESS und PECompact Demnächst

Was zurückkommt

Formulare und Steuerelemente mit allen Eigenschaften, Bilder inklusive: vollständig, in jedem Fall.

Ressourcen, Zeichenketten, Verweise auf Bibliotheken und Fremdsteuerelemente, die Projektstruktur: eine .vbp, die sich in der IDE öffnen lässt.

VBReFormer Pro (Gen2) — Entwurfsfläche
Entwurfsfläche Vergrößern

Der Code der Prozeduren: Bedingungen, Schleifen, Aufrufe, Zuweisungen, Zugriffe auf Steuerelemente, als lesbares Visual Basic wiederaufgebaut, bei P-Code wie bei nativem Code. Die Abdeckungsseite misst, was das ausmacht, Programm für Programm.

VBReFormer Pro (Gen2) — Typen & API
Typen & API Vergrößern

80 %

der Projekte lassen sich ohne Nacharbeit in VB6 neu kompilieren

1.158 / 1.164

definierte P-Code-Befehle in Visual Basic übersetzt

100 %

der Formulare und ihrer Eigenschaften zurückgewonnen, in jedem Fall

Was nie zurückkommt, bei uns wie bei allen anderen: Namen lokaler Variablen und Kommentare, die der Compiler nicht behalten hat. Der zurückgeholte Code lässt sich lesen und neu kompilieren; er gleicht dem Original nicht Wort für Wort.

Wie viel Code zurückkommt, gemessen an 207 Programmen

SETUP1.EXE

Für jeden überprüfbar: SETUP1.EXE

Ein Microsoft-Programm, dessen Quelltext mit VB6 ausgeliefert wird: jeder kann vergleichen.

136 → 227

exportierte Prozeduren, von Generation 1 zu V7

22 / 24

zufällig gezogene Prozeduren, gegen ihre Quelle gelesen: V7 treuer

Wenn das Projekt zurück ist

Es wird wieder ein ganz normales Projekt: Sie öffnen es, lesen es und pflegen es in der ursprünglichen IDE.

  • Einen Fehler beheben oder eine Geschäftsregel anpassen, dann neu kompilieren
  • Den Maschinencode mit den x86- und P-Code-Disassemblern lesen, in Standard enthalten
  • Das Programm von Anfang bis Ende mit Aufrufgraph und Querverweisen verfolgen, in Professional
  • Eine Anwendung dokumentieren, die niemand mehr vollständig kannte
VBReFormer Pro (Gen2) — Aufrufgraph
Aufrufgraph Vergrößern

So gehen Sie vor, zuerst kostenlos

  1. 1

    Öffnen Sie die Datei in der kostenlosen Edition, oder laden Sie sie ohne Installation im Online-Studio hoch. Sie sehen die Projektstruktur, die vollständigen Formulare und eine Vorschau des dekompilierten Codes.

  2. 2

    Urteilen Sie nach Belegen: Die Vorschau zeigt, was die Engine aus Ihrer Datei wiederaufbaut, nicht aus einem Beispiel. Ist das den Lizenzpreis wert, kaufen Sie; wenn nicht, haben Sie nichts ausgegeben.

  3. 3

    Mit der Lizenz exportieren Sie das vollständige Projekt und öffnen es wieder in Visual Basic 6: etwa 80 % der Projekte lassen sich ohne Nacharbeit neu kompilieren. Ein Wert, den die Binärdatei nicht belegt, wird zu einem Aufruf von VBRF_ValeurInconnue(), den man per Suche wiederfindet.

Der ausführliche Artikel: P-Code von nativ unterscheiden, und womit beginnen

Was es kostet

Das Testen kostet nichts. Sie zahlen nur, wenn das, was Sie an Ihrer eigenen Binärdatei sehen, es wert ist.

Kostenlose Edition

Vollständige Formulare, Projektstruktur und Vorschau des Codes

0 €

Empfohlen

Standard

Ihren Quelltext zurückholen

79 € pro Benutzer

Professional

Standard plus die Analysewerkzeuge

229 € pro Benutzer

Lizenzen und Preise ansehen

Häufige Fragen

Was ist der Unterschied zwischen P-Code und Native Code?

VB6 kompiliert entweder zu P-Code (von der virtuellen Maschine ausgeführter Pseudocode) oder zu nativem Code (x86-Maschinenbefehle, die Standardeinstellung). Seit Generation 2 (VBReFormer 7) dekompiliert dieselbe Engine beide in lesbares Visual Basic: 1.158 der 1.164 definierten P-Code-Befehle werden übersetzt, eine auf der Abdeckungsseite veröffentlichte Messung. Die vorherige Generation rekonstruierte nur nativen Code.

Was lässt sich aus einer ausführbaren Datei zurückholen, und was ist endgültig verloren?

Was Visual Basic zur Laufzeit braucht, steht in der Datei und kommt zurück: Namen von Formularen, Klassen, Modulen und Steuerelementen, Ereignisbehandler, öffentliche Klassenmitglieder, Oberflächeneigenschaften, Runtime-Aufrufe, API-Deklarationen. Was der Compiler verworfen hat, holt kein Werkzeug zurück: Kommentare, Namen lokaler Variablen und Parameter, benannte Konstanten, die durch ihren Wert ersetzt wurden, und die Namen der Prozeduren in .bas-Modulen. Im Schnitt werden 90 % des Quellcodes wiederhergestellt; was fehlt, geht auf diese in der Datei nicht vorhandenen Elemente zurück.

Lässt sich der dekompilierte Code in der Visual-Basic-6-IDE neu kompilieren?

Ja: In der Praxis kompilieren rund 80 % der Projekte ohne Nacharbeit neu. Der Export schreibt die Kopfzeilen, die die IDE verlangt (VERSION, Attribute VB_Name) und ohne die VB6 die Datei ablehnt. Ein Wert, der nicht ermittelt werden konnte, wird nie erfunden: Er wird zu einem Aufruf von VBRF_ValeurInconnue(), den VB6 akzeptiert und den man per Suche wiederfindet. Was nicht im Binärprogramm steht, wird in den Exporthinweisen benannt und begründet.

Und wenn die Dekompilierung bei meiner Binärdatei nicht funktioniert?

Genau dafür ist die kostenlose Edition da: Sie zeigt Ihnen an IHRER Datei und vor jedem Kauf, was sich extrahieren lässt — Formulare, Ressourcen, Projektstruktur. Wir empfehlen immer, sie zuerst auszuprobieren. Da Lizenzen sofort gelieferte digitale Inhalte sind, ist der Kauf endgültig; bei technischen Problemen sucht unser Support gemeinsam mit Ihnen nach einer Lösung.

Wird meine Datei aufbewahrt?

Ihre Binärdatei wird nicht aufbewahrt: Sie wird analysiert und mit der Sitzung gelöscht

Ist das Dekompilieren eines Programms legal?

Ja, wenn Sie die Rechte an der Software besitzen — typischerweise bei der Rekonstruktion Ihres eigenen verlorenen Quellcodes — oder im rechtlichen Rahmen der Interoperabilität.

Dekompiliert VBReFormer .NET, VB.NET oder C#?

Nein. VBReFormer verarbeitet Visual Basic 5 und 6: .exe, .dll, .ocx und .scr. Eine .NET-Assembly braucht einen .NET-Decompiler; wir vergleichen mehrere im Blog.

Sollen wir das für Sie übernehmen?

Wir holen das Projekt aus Ihrer Datei zurück, öffnen es in der IDE und liefern es wartbar, mit einem Bericht über das Gefundene. Kostenlose Bewertung der Datei vor jedem Angebot.

Kostenlose Bewertung anfragen
VBReFormer Pro (Gen2) — VB6-Code
VBReFormer Pro (Gen2) — Typen & API
VBReFormer Pro (Gen2) — Entwurfsfläche
VBReFormer Pro (Gen2) — Aufrufgraph