Red de conocimiento informático - Problemas con los teléfonos móviles - Ayuda para descompilar y restaurar código de VB

Ayuda para descompilar y restaurar código de VB

Si VB3 y VB4 están bien, entonces la descompilación de VB5 y VB6 es una completa fantasía. VB6 no es un lenguaje puramente interpretado y es imposible descompilar el código fuente completo. Para los programas escritos en este lenguaje, solo puede obtener uno. Lenguaje de nivel intermedio o bajo. En términos generales, VB6 es un código P y el código P, a su vez, solo puede leerlo usted mismo, no la máquina.

Por ejemplo:

Por ejemplo, hay un fragmento de código en VB6: MsgBox "Prueba de descompilación".

Entonces el resultado de la descompilación es:

p>

(El código es demasiado largo, así que publicaré la parte principal aquí)

...

mov dword ptr [ebp- 58], 004012E4; Aquí obtenemos "inversa" La dirección de "Prueba de compilación".

...

llamar a dword ptr [lt;amp;MSVBVM60.__vbaVarDupgt;];Se puede ver claramente que el identificador de la variable está copiado. Porque las cadenas en VB apuntan a direcciones de memoria.

...

llame a dword ptr [lt;amp;MSVBVM60.#595gt;]; esta oración abrirá el cuadro de mensajes. Si sigues esto, hay toneladas de API.

...

Así que descompile normalmente (aprenda el lenguaje ensamblador y los principios de compilación informática). Cuando vea este párrafo, sabrá que se trata de una función de Msgbox, pero el contenido específico. mostrado Qué es, no puedes verlo en absoluto.

Adjunto: en respuesta a [No digas tonterías si no entiendes], me gustaría agregar que la razón por la que .NET sin shell se puede descompilar en código fuente es porque .NET está administrado Y el lenguaje administrado tiene un lenguaje intermedio, por lo que su código fuente se compila en un lenguaje intermedio como msil, en lugar de compilarse directamente en un lenguaje de máquina como VB6.