Descrizione

VB Decompiler è uno strumento di reverse engineering e recupero del codice sorgente per programmi Visual Basic 5.0/6.0 e assembly .NET. Combina decompilazione ad alto livello, disassemblaggio a basso livello, ispezione dei metadati, un editor HEX integrato e ricostruzione dell'interfaccia visiva. Gli utilizzi tipici includono la manutenzione di software legacy, risposta agli incidenti, analisi del malware e indagine sul comportamento non documentato delle applicazioni.

Albero del progetto VB Decompiler e viste del codice

Rappresentazioni del codice supportate

  • VB5/6 P-Code: ricostruisce le istruzioni Visual Basic dalle istruzioni P-Code del compilatore e dalle operazioni runtime.
  • VB5/6 Native Code: disassembla le istruzioni x86 e utilizza un emulatore interno, firme runtime ed euristiche per ricostruire codice simile a Visual Basic.
  • .NET: disassembla il Common Intermediate Language (CIL, anche chiamato MS IL) e decompila i pattern IL supportati in codice simile a C#, indipendentemente dal linguaggio sorgente .NET originale. Anche il codice nativo x86 e x64 negli assembly .NET può essere disassemblato.

Il motore di analisi .NET non richiede il runtime .NET o Reflection per l'analisi del codice o la ricostruzione visiva dei form.

Strumenti di analisi

Utilizzare ricerca di procedure e testo, riferimenti incrociati e rinomina delle variabili e Riferimenti Stringa per investigare il comportamento. Il visualizzatore ricostruisce i form classici VB, Windows Forms .NET e finestre WPF, pagine e controlli utente memorizzati nelle risorse BAML compilate.

Le licenze con funzionalità di Tracing forniscono emulazione passo-passo del Native Code VB5/6 e P-Code. Le licenze con funzionalità Analytic forniscono report categorizzati per applicazioni VB5/6 e .NET. Aiuto IA (AI Helper) può elaborare codice VB5/6 o C# recuperato utilizzando l'integrazione Ollama o OpenAI API.

Interpretazione del codice recuperato

La compilazione rimuove informazioni quali commenti, molti nomi di variabili locali e alcuni metadati sui tipi e sulle procedure. Ottimizzazione e offuscamento possono ulteriormente modificare la struttura del codice. Il listato ricostruito supporta l'analisi e il recupero del codice. Verificare le conclusioni importanti confrontandole con il disassemblaggio, i metadati, i riferimenti stringa e le procedure circostanti.