Perdió el código fuente de una aplicación VB6. Esto es lo que se puede recuperar.
Disco muerto, desarrollador desaparecido, copia de una versión demasiado antigua: solo queda el programa compilado. Un descompilador VB6 saca de él mucho más de lo que se cree, y menos que todo. Esta página dice cuál, antes de que instale nada.
¿Se encuentra en alguno de estos casos?
El disco falló
El equipo de desarrollo ya no funciona, pero el EXE sigue en uso en sus usuarios.
El desarrollador se fue
Se llevó el proyecto, o nadie sabe dónde lo guardaba.
El proveedor desapareció
La empresa que escribió la aplicación ya no existe y el código fuente nunca se entregó.
La copia de seguridad es demasiado antigua
El código fuente encontrado ya no corresponde a la versión en producción.
Lo que necesita
El archivo compilado: un .exe, .dll, .ocx o .scr generado por Visual Basic 5 o 6. Nada más. No hace falta saber si se compiló en P-Code o en código nativo: VBReFormer lo detecta y trata ambos.
- Descompilación del P-Code, VB5 y VB6
- Descompilación del código nativo x86, VB5 y VB6
- Binarios comprimidos con UPX: descomprimidos sin ejecutarse
- Después, ASPack, MPRESS y PECompact Próximamente
Lo que vuelve
Formularios y controles, con todas sus propiedades, imágenes incluidas: íntegramente, en todos los casos.
Recursos, cadenas, referencias a bibliotecas y controles de terceros, estructura del proyecto: un .vbp que se abre en el IDE.
El código de los procedimientos: condiciones, bucles, llamadas, asignaciones, accesos a controles, reconstruidos en Visual Basic legible, en P-Code y en nativo. La página de cobertura mide lo que representa, programa por programa.
80 %
de los proyectos se recompila en VB6 sin retoques
1.158 / 1.164
instrucciones P-Code definidas traducidas a Visual Basic
100 %
de los formularios y sus propiedades recuperados, en todos los casos
Lo que nunca vuelve, con nosotros ni con nadie: los nombres de las variables locales y los comentarios, que el compilador no conservó. El código recuperado se lee y se recompila; no coincide palabra por palabra con el original.
SETUP1.EXE
Verificable por cualquiera: SETUP1.EXE
Un programa de Microsoft cuyo código fuente se entrega con VB6: cualquiera puede comparar.
136 → 227
procedimientos exportados, de la generación 1 a la V7
22 / 24
procedimientos sorteados y leídos frente a su fuente: la V7 más fiel
Una vez recuperado el proyecto
Vuelve a ser un proyecto como cualquier otro: lo abre, lo lee y lo mantiene en el IDE original.
- Corregir un error o adaptar una regla de negocio, y recompilar
- Leer el código máquina con los desensambladores x86 y P-Code, incluidos en Standard
- Seguir el programa de principio a fin con el grafo de llamadas y las referencias cruzadas, en Professional
- Documentar una aplicación que ya nadie conocía por completo
Cómo proceder, gratis primero
- 1
Abra el binario en la edición gratuita, o súbalo al estudio en línea sin instalar nada. Verá la estructura del proyecto, los formularios completos y una vista previa del código descompilado.
- 2
Juzgue con pruebas: la vista previa muestra lo que el motor reconstruye de su binario, no de un ejemplo. Si lo que ve vale la licencia, tómela; si no, no ha gastado nada.
- 3
Con la licencia, exporte el proyecto completo y vuelva a abrirlo en Visual Basic 6: alrededor del 80 % de los proyectos se recompila sin retoques. Un valor que el binario no permite establecer se convierte en una llamada a VBRF_ValeurInconnue(), que se encuentra con una búsqueda.
El artículo detallado: distinguir P-Code y nativo, y por dónde empezar
Cuánto cuesta
Probar no cuesta nada. Solo paga si lo que ve en su propio binario le convence.
Edición gratuita
Formularios completos, estructura del proyecto y vista previa del código
0 €
Standard
Recuperar su código fuente
79 € por usuario
Professional
Standard, más las herramientas de análisis
229 € por usuario
Preguntas frecuentes
¿Cuál es la diferencia entre P-Code y Native Code?
VB6 compila en P-Code (pseudocódigo ejecutado por la máquina virtual) o en Código Nativo (instrucciones máquina x86, la opción por defecto). Desde la generación 2 (VBReFormer 7), el mismo motor descompila ambos a Visual Basic legible: 1.158 de las 1.164 instrucciones P-Code definidas se traducen, medida publicada en la página de cobertura. La generación anterior solo reconstruía Código Nativo.
¿Qué se recupera de un ejecutable y qué se pierde definitivamente?
Lo que Visual Basic necesita en tiempo de ejecución está en el archivo y se recupera: nombres de formularios, clases, módulos y controles, manejadores de eventos, miembros públicos de las clases, propiedades de la interfaz, llamadas al runtime, declaraciones de API. Lo que el compilador descartó no se recupera, con ninguna herramienta: los comentarios, los nombres de variables locales y parámetros, las constantes con nombre sustituidas por su valor y los nombres de los procedimientos de los módulos .bas. De media se recupera el 90 % del código fuente; lo que falta se debe a esos elementos, ausentes del archivo.
¿El código descompilado se recompila en el IDE de Visual Basic 6?
Sí: en la práctica, alrededor del 80 % de los proyectos se recompila sin retoques. La exportación escribe las cabeceras que exige el IDE (VERSION, Attribute VB_Name), sin las cuales VB6 rechaza el archivo. Un valor que no se ha podido establecer nunca se inventa: se convierte en una llamada a VBRF_ValeurInconnue(), que VB6 acepta y que se encuentra con una búsqueda. Lo que no está en el binario se nombra y se justifica en las notas de exportación.
¿Y si la descompilación no funciona con mi binario?
Para eso está justamente la edición gratuita: le muestra, con SU archivo y antes de cualquier compra, qué se puede extraer — formularios, recursos, estructura del proyecto. Siempre recomendamos probarla primero. Como las licencias son contenidos digitales entregados de inmediato, la venta es firme; si surge un problema técnico, nuestro soporte buscará una solución con usted.
¿Se conserva mi archivo?
Su binario no se conserva: se analiza y se borra con la sesión
¿Es legal descompilar un programa?
Sí, cuando posees los derechos del software — el caso típico es reconstruir tu propio código fuente perdido — o dentro del marco legal de la interoperabilidad.
¿VBReFormer descompila .NET, VB.NET o C#?
No. VBReFormer trata Visual Basic 5 y 6: .exe, .dll, .ocx y .scr. Un ensamblado .NET necesita un descompilador .NET; comparamos varios en el blog.
¿Prefiere que lo hagamos nosotros?
Recuperamos el proyecto a partir de su binario, lo abrimos en el IDE y se lo entregamos listo para mantener, con un informe de lo encontrado. Evaluación gratuita del binario antes de cualquier presupuesto.
Solicitar una evaluación gratuita
