Decompiler-VB.Net
BR
Entrar
VBReFormer Gen2 Motor reescrito do zero, P-code completo e o estúdio on-line em beta público. Ler o anúncio →
Código-fonte perdido

Você perdeu o código-fonte de um aplicativo VB6. Veja o que pode ser recuperado.

Disco morto, desenvolvedor que foi embora, backup de uma versão antiga demais: só restou o programa compilado. Um descompilador VB6 extrai dele muito mais do que se espera, e menos do que tudo. Esta página diz o quê, antes que você instale qualquer coisa.

VBReFormer Pro (Gen2) — Código VB6
Código VB6 Ampliar

Está numa destas situações?

O disco avariou

O computador de desenvolvimento morreu, mas o EXE continua a funcionar nos seus utilizadores.

O programador saiu

Levou o projeto, ou ninguém sabe onde o guardava.

O fornecedor desapareceu

A empresa que escreveu a aplicação já não existe e o código-fonte nunca foi entregue.

A cópia de segurança é demasiado antiga

O código-fonte encontrado já não corresponde à versão em produção.

O que você precisa

O ficheiro compilado: um .exe, .dll, .ocx ou .scr produzido pelo Visual Basic 5 ou 6. Nada mais. Não precisa de saber se foi compilado em P-Code ou em código nativo: o VBReFormer deteta-o e trata ambos.

  • Descompilação do P-Code, VB5 e VB6
  • Descompilação do código nativo x86, VB5 e VB6
  • Binários compactados com UPX: descompactados sem serem executados
  • Depois, ASPack, MPRESS e PECompact Em breve

O que volta

Formulários e controles, com todas as suas propriedades, imagens incluídas: por completo, em todos os casos.

Recursos, strings, referências a bibliotecas e controles de terceiros, a estrutura do projeto: um .vbp que reabre no IDE.

VBReFormer Pro (Gen2) — Superfície de design
Superfície de design Ampliar

O código dos procedimentos: condições, loops, chamadas, atribuições, acesso a controles, reconstruído como Visual Basic legível, tanto em P-Code quanto em nativo. A página de cobertura mede o que isso representa, programa por programa.

VBReFormer Pro (Gen2) — Tipos e API
Tipos e API Ampliar

80%

dos projetos recompilam no VB6 sem retoques

1.158 / 1.164

instruções P-Code definidas traduzidas para Visual Basic

100%

dos formulários e das suas propriedades recuperados, em todos os casos

O que nunca volta, conosco ou com qualquer outro: os nomes das variáveis locais e os comentários, que o compilador não guardou. O código recuperado é legível e recompila; ele não corresponde ao original palavra por palavra.

Quanto código volta, medido em 207 programas

SETUP1.EXE

Verificável por qualquer um: SETUP1.EXE

Um programa da Microsoft cujo código-fonte acompanha o VB6: qualquer um pode comparar.

136 → 227

procedimentos exportados, da geração 1 à V7

22 / 24

procedimentos sorteados e lidos contra a fonte: a V7 mais fiel

Depois de recuperar o projeto

Volta a ser um projeto como qualquer outro: reabre-o, lê-o e mantém-no no IDE original.

  • Corrigir um erro ou ajustar uma regra de negócio e recompilar
  • Ler o código máquina com os desassembladores x86 e P-Code, incluídos no Standard
  • Seguir o programa de ponta a ponta com o grafo de chamadas e as referências cruzadas, no Professional
  • Documentar uma aplicação que já ninguém conhecia por inteiro
VBReFormer Pro (Gen2) — Grafo de chamadas
Grafo de chamadas Ampliar

Como proceder, grátis primeiro

  1. 1

    Abra o binário na edição gratuita, ou solte-o no estúdio on-line sem instalar nada. Você vê a estrutura do projeto, os formulários completos e uma prévia do código descompilado.

  2. 2

    Julgue com base em evidências: a prévia mostra o que o motor reconstrói a partir do seu binário, não de uma amostra. Se o que você vê vale a licença, adquira-a; se não, você não gastou nada.

  3. 3

    Com a licença, exporte o projeto completo e reabra-o no Visual Basic 6: cerca de 80% dos projetos recompilam sem retoques. Um valor que o binário não permite estabelecer torna-se uma chamada a VBRF_ValeurInconnue(), que se encontra por pesquisa.

O artigo detalhado: distinguir P-Code de nativo, e por onde começar

Quanto custa

Experimentar não custa nada. Só paga se o que vê no seu próprio binário valer a pena.

Edição gratuita

Formulários completos, estrutura do projeto e pré-visualização do código

0 €

Recomendada

Standard

Recuperar seu código-fonte

79 € por usuário

Professional

Standard, mais as ferramentas de análise

229 € por usuário

Ver licenças e preços

Perguntas frequentes

Qual é a diferença entre P-Code e código nativo?

O VB6 compila em P-Code (pseudocódigo executado pela máquina virtual) ou em código nativo (instruções de máquina x86, a configuração padrão). A partir da geração 2 (VBReFormer 7), o mesmo motor descompila ambos em Visual Basic legível: 1.158 das 1.164 instruções P-Code definidas são traduzidas, uma medição publicada na página de cobertura. A geração anterior reconstruía apenas o código nativo.

O que é recuperado de um executável, e o que se perde definitivamente?

Tudo o que o Visual Basic precisa em tempo de execução está no arquivo e volta: nomes de formulários, classes, módulos e controles, manipuladores de eventos, membros públicos de classes, propriedades de interface, chamadas de runtime, declarações de API. O que o compilador descartou não pode ser recuperado por ferramenta alguma: comentários, nomes de variáveis locais e de parâmetros, constantes nomeadas substituídas pelo seu valor e os nomes dos procedimentos em módulos .bas. Em média, 90 % do código-fonte é recuperado; o que falta se resume a esses elementos, ausentes do arquivo.

O código descompilado recompila no IDE do Visual Basic 6?

Sim: na prática, cerca de 80% dos projetos recompilam sem retoques. A exportação escreve os cabeçalhos exigidos pelo IDE (VERSION, Attribute VB_Name), sem os quais o VB6 recusa o arquivo. Um valor que não pôde ser estabelecido nunca é inventado: ele se torna uma chamada a VBRF_ValeurInconnue(), que o VB6 aceita e que se encontra por pesquisa. O que não está no binário é nomeado e justificado nas notas de exportação.

E se a descompilação não funcionar no meu binário?

É exatamente para isso que serve a edição gratuita: ela mostra, no SEU arquivo e antes de qualquer compra, o que pode ser extraído – formulários, recursos, estrutura do projeto. Recomendamos sempre experimentá-la primeiro. Como as licenças são conteúdo digital entregue imediatamente, as vendas são definitivas; se você encontrar um problema técnico, nosso suporte trabalhará com você em uma solução.

O meu ficheiro é guardado?

Seu binário não é guardado: é analisado e apagado com a sessão

É legal descompilar um programa?

Sim, quando você detém os direitos sobre o software – o caso típico é reconstruir seu próprio código-fonte perdido – ou dentro do quadro legal da interoperabilidade. Você deve possuir os direitos necessários sobre o programa analisado.

O VBReFormer descompila .NET, VB.NET ou C#?

Não. O VBReFormer trata Visual Basic 5 e 6: .exe, .dll, .ocx e .scr. Um assembly .NET requer um descompilador .NET; comparamos vários no blog.

Prefere que façamos isso por você?

Recuperamos o projeto a partir do seu binário, reabrimos no IDE e entregamos pronto para manutenção, com um relatório do que foi encontrado. Avaliação gratuita do binário antes de qualquer orçamento.

Solicitar uma avaliação gratuita
VBReFormer Pro (Gen2) — Código VB6
VBReFormer Pro (Gen2) — Tipos e API
VBReFormer Pro (Gen2) — Superfície de design
VBReFormer Pro (Gen2) — Grafo de chamadas