Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo eliminar el shell VMP del programa de lenguaje E?

¿Cómo eliminar el shell VMP del programa de lenguaje E?

Si desea eliminar el shell VMP, la primera tarea es, por supuesto, encontrar un OD fuerte. En cuanto a qué versión de OD desea probar, hay muchas en Internet. En términos generales, siempre que cargue el empaquetador VMP que desea eliminar y no lo cierre, puede hacerlo.

En segundo lugar, está el complemento StrongOD.dll. El que se usa más comúnmente ahora es Haifengyueying. Después de la descarga, cópielo al complemento en la carpeta donde se encuentra su programa OD. Si no comprende las opciones de configuración de StrongOD, simplemente verifíquelas todas.

Lo siguiente que debemos hacer es descubrir el lenguaje de programación del programa que queremos descomprimir. Puedes usar PEID o fastscanner para verlo. Si no puedes verlo aquí, también puedes usarlo. después de cargar el OD se juzga la cadena. Por ejemplo, los programas VB aparecerán MSVB----/los programas VC aparecerán MSVC---y así sucesivamente. Estos son los archivos de enlace de Windows necesarios para ejecutar el programa.

Después de completar estas tareas preparatorias, el siguiente paso es, por supuesto, utilizar OD para cargar el archivo. Después de cargar el archivo, busque VirtualProtect en la ventana de desensamblado CTRL G (tenga en cuenta que V y P deben estar en mayúscula, no me pregunte por qué está buscando esto). En términos generales, los resultados de la búsqueda serán similares a los siguientes:

7C801AE3 E8 75FFFFFF? call kernel32.VirtualProtectEx Aquí configuramos el punto de interrupción F2. Luego F9 corre hasta el punto de interrupción que establecimos. A continuación debemos prestar atención a la ventana de pila. En términos generales, cuando ejecutamos F9 hasta el punto de interrupción anterior, aparecerá lo siguiente en la ventana de pila:

0012F66C 00401000?|Address = TradeCen.00401000

0012F670 000280D1 |Size = 280D1 (164049.)

0012F674 00000004?|NewProtect = PAGE_READWRITE

0012F678 0012FF98?\pOldProtect = 0012FF98

A lo que debemos prestar atención es a que Siguiente, cuando ejecutamos F9, las dos líneas DIRECCIÓN y NUEVAPROTECCIÓN cambian. Presione F9; no presione demasiado rápido hasta que el elemento NewProtect cambie a PAGE_READONLY, luego se lanzará el programa.

0012F66C 0042A000?|Dirección = TradeCen.0042A000

0012F670 000069DE?|Tamaño = 69DE (27102.)

0012F674 00000002?|NewProtect = PAGE_READONLY p>

0012F678 0012FF98?\pOldProtect = 0012FF98 Ahora podemos cancelar el punto de interrupción que acabamos de establecer. El siguiente paso es encontrar un OEP. Una de mis experiencias personales al buscar un OEP es que el OEP generalmente está cerca de la dirección DIRECCIÓN anterior. Por ejemplo, la dirección anterior es 0042A000. Sobre esta base, normalmente la reduzco a 420000 para buscar la sección de características del programa. Por supuesto, también podemos saltar directamente a 401000 para comenzar a buscar. Aunque el alcance de nuestra búsqueda es relativamente grande, debido a que buscamos secuencias de comandos, la carga de trabajo no es muy grande. CTRL G: la dirección anterior, luego CTRL S para encontrar la secuencia de comandos. El contenido de la secuencia de comandos es el segmento de características del lenguaje de programación que encontramos. Podemos seleccionar dos o tres comandos fijos para buscar en la sección de funciones.

Por ejemplo, el segmento característico de VC 6.0 es:

0046C07B Ugt;?55 push ebp

0046C07C? 8BEC mov ebp, esp

0046C07E? ? eax, dword ptr fs: [0]

0046C090? 50 push eax

0046C091 64: 8925 00000000?mov dword ptr fs: [0], esp>

0046C098 ? 83EC 58 ? sub esp, 58

0046C09B? 53 empujar ebx

0046C09C? >

Podemos simplemente buscar los primeros tres comandos. Si encontramos el que coincide con los tres primeros comandos, lo compararemos con los siguientes comandos. Mientras los comandos coincidan, esta dirección es casi OEP. Si no puede encontrar el OEP cerca de la dirección DIRECCIÓN, debe usar un método estúpido y comenzar a buscarlo desde 401000.

Después de encontrar la dirección del OEP, hacemos clic derecho en el OEP y seleccionamos "Nuevo EIP aquí". A continuación puedes tirarlo. Por lo general, es mejor elegir el complemento de volcado OD para descomprimirlo. Después de descomprimirlo con loadpe, el programa no se ejecutará o no se descomprimirá en absoluto. Cuando se utiliza el complemento de volcado de OD para descomprimir, la marca de verificación frente al elemento (Reconstruir tabla de entrada) debajo de la ventana de descomprimir debe estar desmarcada.