Decompiler-VB.Net
IT
Accedi
VBReFormer Gen2 Motore riscritto da zero, P-code completo e lo studio online in beta pubblica. Leggi l'annuncio →
Sorgente perduto

Hai perso il codice sorgente di un'applicazione VB6. Ecco cosa si può recuperare.

Disco morto, sviluppatore sparito, backup di una versione troppo vecchia: resta solo il programma compilato. Un decompilatore VB6 ne ricava molto più di quanto si creda, e meno di tutto. Questa pagina dice cosa, prima che tu installi qualsiasi cosa.

VBReFormer Pro (Gen2) — Codice VB6
Codice VB6 Ingrandisci

Vi trovate in uno di questi casi?

Il disco si è rotto

Il computer di sviluppo non c'è più, ma l'EXE gira ancora presso i vostri utenti.

Lo sviluppatore se n'è andato

Ha portato via il progetto, o nessuno sa dove l'avesse messo.

Il fornitore è scomparso

La società che ha scritto l'applicazione non esiste più e il sorgente non è mai stato consegnato.

Il backup è troppo vecchio

Il sorgente ritrovato non corrisponde più alla versione in produzione.

Cosa serve

Il file compilato: un .exe, una .dll, un .ocx o uno .scr prodotto da Visual Basic 5 o 6. Nient'altro. Non serve sapere se è stato compilato in P-Code o in codice nativo: VBReFormer lo rileva e gestisce entrambi.

  • Decompilazione del P-Code, VB5 e VB6
  • Decompilazione del codice nativo x86, VB5 e VB6
  • Binari compressi con UPX: decompressi senza essere eseguiti
  • Poi ASPack, MPRESS e PECompact In arrivo

Cosa torna

Form e controlli, con tutte le proprietà, immagini comprese: per intero, in ogni caso.

Risorse, stringhe, riferimenti a librerie e controlli di terze parti, struttura del progetto: un .vbp che si riapre nell'IDE.

VBReFormer Pro (Gen2) — Superficie di design
Superficie di design Ingrandisci

Il codice delle procedure: condizioni, cicli, chiamate, assegnazioni, accessi ai controlli, ricostruiti in Visual Basic leggibile, P-Code e nativo. La pagina di copertura misura quanto vale, programma per programma.

VBReFormer Pro (Gen2) — Tipi & API
Tipi & API Ingrandisci

80%

dei progetti si ricompila in VB6 senza ritocchi

1.158 / 1.164

istruzioni P-Code definite tradotte in Visual Basic

100%

dei form e delle loro proprietà recuperati, in ogni caso

Ciò che non torna mai, da noi come da chiunque: i nomi delle variabili locali e i commenti, che il compilatore non ha conservato. Il codice recuperato si legge e si ricompila; non coincide parola per parola con l'originale.

Quanto codice torna, misurato su 207 programmi

SETUP1.EXE

Verificabile da chiunque: SETUP1.EXE

Un programma di Microsoft il cui sorgente è fornito con VB6: chiunque può confrontare.

136 → 227

procedure esportate, dalla generazione 1 alla V7

22 / 24

procedure estratte a sorte e lette contro il sorgente: la V7 più fedele

Una volta recuperato il progetto

Torna a essere un progetto come gli altri: lo riaprite, lo leggete e lo mantenete nell'IDE originale.

  • Correggere un bug o adattare una regola di business, poi ricompilare
  • Leggere il codice macchina con i disassembler x86 e P-Code, inclusi in Standard
  • Seguire il programma da un capo all'altro con il grafo delle chiamate e i riferimenti incrociati, in Professional
  • Documentare un'applicazione che nessuno conosceva più per intero
VBReFormer Pro (Gen2) — Grafo delle chiamate
Grafo delle chiamate Ingrandisci

Come procedere, prima gratis

  1. 1

    Apri il binario nell'edizione gratuita, o caricalo nello studio online senza installare nulla. Vedi la struttura del progetto, i form completi e un'anteprima del codice decompilato.

  2. 2

    Giudica sui fatti: l'anteprima mostra ciò che il motore ricostruisce dal tuo binario, non da un esempio. Se ciò che vedi vale la licenza, prendila; altrimenti non hai speso nulla.

  3. 3

    Con la licenza, esportate il progetto completo e riapritelo in Visual Basic 6: circa l'80% dei progetti si ricompila senza ritocchi. Un valore che il binario non permette di stabilire diventa una chiamata a VBRF_ValeurInconnue(), che si ritrova con una ricerca.

L'articolo dettagliato: distinguere P-Code e nativo, e da dove iniziare

Quanto costa

Provare non costa nulla. Pagate solo se ciò che vedete sul vostro binario vi convince.

Edizione gratuita

Form completi, struttura del progetto e anteprima del codice

0 €

Consigliata

Standard

Recuperare il tuo codice sorgente

79 € per utente

Professional

Standard, più gli strumenti di analisi

229 € per utente

Vedi licenze e prezzi

Domande frequenti

Qual è la differenza tra P-Code e Native Code?

VB6 compila in P-Code (pseudocodice eseguito dalla macchina virtuale) oppure in Codice Nativo (istruzioni macchina x86, l'impostazione predefinita). Dalla generazione 2 (VBReFormer 7) lo stesso motore decompila entrambi in Visual Basic leggibile: 1.158 delle 1.164 istruzioni P-Code definite sono tradotte, misura pubblicata nella pagina di copertura. La generazione precedente ricostruiva solo il Codice Nativo.

Cosa si recupera da un eseguibile e cosa si perde per sempre?

Ciò di cui Visual Basic ha bisogno in esecuzione è nel file e si ritrova: nomi di form, classi, moduli e controlli, gestori di eventi, membri pubblici delle classi, proprietà dell'interfaccia, chiamate al runtime, dichiarazioni di API. Ciò che il compilatore ha scartato non si recupera, con nessuno strumento: i commenti, i nomi delle variabili locali e dei parametri, le costanti con nome sostituite dal loro valore e i nomi delle procedure dei moduli .bas. In media si recupera il 90 % del codice sorgente; ciò che manca dipende da questi elementi, assenti dal file.

Il codice decompilato si ricompila nell'IDE Visual Basic 6?

Sì: in pratica, circa l'80% dei progetti si ricompila senza ritocchi. L'esportazione scrive le intestazioni richieste dall'IDE (VERSION, Attribute VB_Name), senza le quali VB6 rifiuta il file. Un valore che non è stato possibile stabilire non viene mai inventato: diventa una chiamata a VBRF_ValeurInconnue(), che VB6 accetta e che si ritrova con una ricerca. Ciò che non è nel binario è indicato e motivato nelle note di esportazione.

E se la decompilazione non funziona sul mio binario?

È esattamente a questo che serve l'edizione gratuita: ti mostra, sul TUO file e prima di qualsiasi acquisto, che cosa è possibile estrarre — form, risorse, struttura del progetto. Consigliamo sempre di provarla prima. Poiché le licenze sono contenuti digitali consegnati immediatamente, la vendita è definitiva; in caso di problema tecnico, il nostro supporto cercherà con te una soluzione.

Il mio file viene conservato?

Il vostro binario non viene conservato: è analizzato, poi cancellato con la sessione

È legale decompilare un programma?

Sì, quando si detengono i diritti del software — il caso tipico è la ricostruzione del proprio codice sorgente perduto — o nel quadro legale dell'interoperabilità.

VBReFormer decompila .NET, VB.NET o C#?

No. VBReFormer tratta Visual Basic 5 e 6: .exe, .dll, .ocx e .scr. Un assembly .NET richiede un decompilatore .NET; ne confrontiamo diversi sul blog.

Preferisci che lo facciamo noi?

Recuperiamo il progetto dal tuo binario, lo riapriamo nell'IDE e te lo consegniamo pronto da manutenere, con un rapporto di quanto ritrovato. Valutazione gratuita del binario prima di ogni preventivo.

Chiedi una valutazione gratuita
VBReFormer Pro (Gen2) — Codice VB6
VBReFormer Pro (Gen2) — Tipi & API
VBReFormer Pro (Gen2) — Superficie di design
VBReFormer Pro (Gen2) — Grafo delle chiamate