Red de conocimiento informático - Conocimiento sistemático - Consulta de nombre de dominio en inglés de Shenyang

Consulta de nombre de dominio en inglés de Shenyang

Paso 1 Verifique el shell

El concepto de shell:

El llamado "shell" es una herramienta de compresión especial.

La compresión aquí no es la compresión de herramientas como RAR y ZIP que utilizamos habitualmente. La compresión de Shell se refiere a comprimir archivos de programa como exe, com, dll, etc., y agregar una capa de código similar a una capa protectora al programa, de modo que el código del archivo de programa original pierda su apariencia original, protegiendo así el programa de modificación ilegal y descompilación. Este fragmento de código, que es como una capa protectora, tiene muchas similitudes con los caparazones de animales y plantas naturales, por lo que lo llamamos vívidamente el caparazón del programa.

Las funciones del shell:

1. Proteger el programa de modificaciones ilegales y descompilaciones.

2. El programa está especialmente comprimido para reducir el tamaño del archivo y facilitar la transmisión y el almacenamiento.

La diferencia entre el shell de compresión y el software de compresión es que

El software de compresión solo puede comprimir programas.

Los archivos exe, com, dll y otros archivos de programa comprimidos por el shell pueden ejecutarse como programas normales.

A continuación se presenta un software para detectar el shell.

PEID v0.92

Este software puede detectar 450 tipos de proyectiles de artillería.

La nueva versión agrega una función de escaneo de virus, que actualmente es la herramienta más poderosa entre varias herramientas de verificación de shell.

Además, también podrás identificar el idioma en el que está escrito el archivo EXE, como VC++, Delphi, VB o Delphi.

Escaneo por lotes de carpetas de soporte

Escaneamos easymail.exe con PEID.

Tipo de shell encontrado

UPX 0.89.6-1.02/1.05-1.24->Marcus & Laszlo

Significa shell UPX.

Continuemos.

Quitar el caparazón

Para un programa shell, elimine la información de interferencia irrelevante y las restricciones de protección, quítele el caparazón, elimine el disfraz y restaure la apariencia original del software. Este proceso se llama bombardeo.

Señales de bombardeo exitoso

El archivo shell puede ejecutarse normalmente sin perder funcionalidad.

Además, normalmente, la longitud del archivo shell será mayor que la longitud del archivo original.

Incluso si el mismo archivo es descomprimido por diferentes programas de descompresión, el tamaño de los archivos extraídos será diferente debido al mecanismo irrazonable del software de descompresión.

En cuanto al bombardeo, existen bombardeos manuales y bombardeos automáticos.

El descascarado automático consiste en utilizar una máquina descascaradora especial para descascarar. Es muy sencillo, solo haz clic unas cuantas veces y listo.

En comparación con el bombardeo automático, el bombardeo manual requiere un contenido técnico ligeramente superior, por lo que no entraré en detalles aquí.

UPX es un shell antiguo y poderoso, pero sus shells están en todas partes.

El propio UPX puede pasar el programa.

Nombre del archivo UPX -d

Descomprima, pero ingrese estos comandos necesarios

Ventajas, conveniencia y velocidad Desventajas Interfaz DOS

En orden dar Para evitar problemas a todos, se ha creado un software de shell llamado UPX shell.

UPX Shell versión 3.09

UPX Shell!

El propósito es hacer que el bombardeo UPX y la adición de shells sean estúpidos.

Nota: Si el programa no está descomprimido, podemos omitir el segundo paso de descomprimir y analizar el software directamente.

Lo haremos después de quitárnoslo.

El tercer paso

Ejecute el programa

Intente registrarse

Obtenga información relacionada con el registro

Intentando Para registrarnos, encontramos una cadena clave

"Error de entrada del número de serie"

Paso 4

Desmontaje

Software de desmontaje de uso común. W32Dasm.

W32dasm es fácil de comenzar para principiantes y fácil de operar.

Existen muchas versiones de W32Dasm. Aquí recomiendo usar W32Dasm Unlimited Edition.

Actualmente estamos desensamblando el archivo de programa de WebEasyMail, easymail.exe.

Entonces mira si puedes encontrar la cadena ahora mismo.

Paso 5

Utilice el software eXeScope para ver la información de la cadena que no se muestra correctamente en w32dasm.

eXeScope v6.50

Cambiar fuentes, cambiar menús, cambiar la disposición de los cuadros de diálogo, reescribir los recursos de archivos ejecutables, incluidos (EXE, DLL, OCX), etc. Es una herramienta china conveniente y poderosa que puede modificar directamente los recursos de programas compilados con VC ++ y DELPHI, incluidos menús, cuadros de diálogo, tablas de cadenas, etc.

La nueva versión puede ver directamente los recursos del archivo shell.

Abramos eXeScope

Busque los siguientes caracteres de cadena

122, "Error de entrada del número de serie"

123, "Felicitaciones Conviértase en usuario oficial de WebEasyMail! ”

124, registro exitoso.

125, fallido

El punto es 122.

Paso 6

Regrese a w32dasm nuevamente.

*Posible referencia al recurso de cadena ID=00122: "? Yun'e?"

Pero después de hacer doble clic,

solicita que el carácter de cadena no se puede encontrar.

No, no es porque “? Yun’e?” esté confuso y la visualización en chino no sea muy buena.

Después de todo, no es un software doméstico.

Déjame explicarte las instrucciones básicas de montaje que utilizarás hoy.

mov a, b; asigna el valor de B a A, de modo que A = B.

Llamar: Llama a la subrutina y la subrutina termina con ret.

Ret: Vuelve al programa principal

Je o jz: Si es igual, salta.

Jne o jnz: salta si no es igual.

Empuje xx: xx pila

Saque xx: xx de la pila

La pila es el área de almacenamiento de variables que asigna el compilador. cuando sea necesario y cuando no sea necesario. Las variables internas suelen ser variables locales, parámetros de función, etc.

Buscamos

posibles referencias al recurso de cadena ID=00122

debido al buen soporte para texto electrónico

Llegamos.

*Referenciado por (U) salto incondicional o (C) condicional en la dirección:

|:00406F17(C) //Salto desde 406F17.

|

*Posible referencia al ID del recurso de cadena=00125: " 1% "

|

:004070DD 6A7D push 0000007D

:004070DF 8D4C2410 lea ecx, dword ptr [esp+10]

:004070E3 E8F75A1200 teléfono 0052CBDF

* Posible para cadena ID de recurso=00122 Cita: "? ¿Yun'e?"

|

:004070E8 6A7A push 0000007A

:004070EA 8D4C2408 lea ecx, dword ptr [esp+08]

:004070EE E8EC5A1200 Teléfono 0052CBDF

Aquí estamos

:00406 f 018b 876 c 080000 MOVEAX, DWORD PTR [EDI+0000086c] Esto es todo.

:00406F07 8B4C2408 mov ecx, dword ptr [esp+08]

:00406F0B 50 push eax//Estos dos eax y ecx están apilados juntos, lo que nos hace sospechar.

:00406F0C 51 Push ecx//Generar código de registro.

:00406 f0d e8a e 381100 call 00517c 0//Debe haber un bit de registro establecido en esta llamada.

:00406F12 83C40C agrega esp, 0000000C

:00406f15 85c0test eax, eax//Detecta bit de registro.

:00406 f 170 f 85 c 001000 jne 004070DD//Si no hay un bit de registro, saltará a 4070 DD y aparecerá un carácter de cadena incorrecto.

Hemos memorizado la dirección del 406F01.

Luego continúa con el siguiente paso.

Paso 7

Estamos depurando este paso.

El software utilizado es ollydbg.

Bien, encontramos el código de registro 0012af 0400 FD 4a 10 ascii "04893 e 058 f 9 c 16764 C3 b 86 f 78 e 6".

Pero este no es nuestro principal objetivo.

Debemos fabricar nuestro propio keygen.

Creo que esto es con lo que sueña mucha gente.

Paso 8

Crear una máquina de registro

Lo que necesitamos es un software de creación de claves.

Debido a que 2.0 es una versión de demostración, se han detenido las actualizaciones.

Entonces usamos la versión 1.73.

Para crear un registro de memoria, necesita la siguiente información.

Dirección de interrupción: 406F0C

Número de interrupciones: 1

Primer byte: 51

Longitud de la instrucción: 1

Entonces, se crea una máquina de registro perfecta.

¿Por qué no enviárselo a tus amigos para que lo luzcan?

Prometo confundirlo y admirarte hasta la muerte.

De hecho, hay algunos pasos finales.

Simplemente escribe un mal artículo

Pero todos somos novatos, así que sigamos este paso.

He dicho tantas tonterías sin darme cuenta, espero que les sirva de algo a todos.

Si no entiendes nada, por favor contáctame o publícalo en el foro.

QQ:9595859

MSN:kcarhc@163.com

La lección de hoy termina aquí. Empecemos.

-

-Autor: Administrador

-Publicado: 2005-10-111:13:00.

-El tutorial más detallado sobre cómo descifrar el keygen.

Hola, soy kcarhc.

Hoy son 81. Acabo de regresar del hospital temprano en la mañana.

Perdón por llegar tarde a esta clase.

1 de agosto, si no recuerdo mal

Hoy es el Día del Ejército.

Como es el Día del Ejército, deberíamos comprar algo simbólicamente.

Para el Día del Ejército, elegí luchar contra las fuerzas oscuras: el inframundo.

Así que el tema de hoy es

-

Dar la bienvenida al Día del Ejército y erradicar el inframundo.

-

Primero, presentemos el software.

Underworld 2.0

[Introducción a la función]:

Cinco funciones básicas de 1

Transferencia de archivos remota; apagado remoto

Proporciona función de posicionamiento de rebote IP.

La IP se puede notificar a través de IP estática, nombre de dominio dinámico y archivos de página web.

3 clientes vidc integrados

Si amigos en la intranet quieren utilizar la función automática en línea, pueden hacerlo.

El software integra herramientas de ataque comunes (como OpenTelnet OpenTftp, etc.).

Copia a través de IPC y progreso de copia estándar, la primera aparición en el mundo;

No presentaré Opentelnet, creo que todo el mundo lo sabe;

Opentftp es la creación original de este software, que puede activar de forma remota el servicio tftp;

5 software integra un escáner de puertos de velocidad ( velocidad de escaneo líder mundial)

El escáner que usé al principio fue el famoso SuperScan3.0, que parecía muy lento.

Más tarde, se utilizó SSPort1.0 para mejorar significativamente la velocidad de escaneo.

Después de comparar la velocidad, la velocidad de escaneo de este software es 1/3 más rápida que SSPort y n veces mayor que SuperScan. ! !

Mi máquina tiene una memoria Celeron 70256M y la velocidad de escaneo general es de 180 unidades/segundo.

Algunos escáneres afirman alcanzar 1000 unidades/segundo, en esta máquina. La prueba es de sólo 120 unidades/segundo.

-

Preparación:

Instalar Triad

-

Revisar el shell

Peid v0.92

ASPack 2.12 ->Alexey Solodovnikov,

-

Paso 2: Bombardeo

Desembalaje manual

Cómo eliminar rápidamente todas las versiones de ASPACK

Los puntos clave de OEP son los siguientes

0048D3AF 61 POPAD

0048D3B0 75 08 JNZ Short Triad 0048 d3ba

0048 D3 B2 B8 01000000 MOV EAX 1

0048 d3b 7 C2 0C 00 RETN 0C//402 C4

0048D3BA 68 0000000 push 0

402ca4 es el OEP que buscamos.

Descompresor automático

AspackDie v1.41

Este es un pequeño descompresor de archivos PE (EXE, DLL,...) que puede reducir la presión.

Cualquier versión de Aspack desde Aspack 2000. Incluye:

- Aspack 2000

- Aspack 2001

- Aspack 2.1

- Aspack 2.11

- Aspack 2.11c/d

- Aspack 2.12

-un paquete 2.12a/b

-Alguna versión desconocida

-

Paso 3: Pruebe el programa y busque puntos de avance.

Ver la cadena de claves

"¡El código de registro es incorrecto!"

-

Paso 4 W32DASM encuentra el punto de avance

Cargando programas shell con w32dasm

Vista de cadenas

En lugar de encontrar una cadena, encontré un montón de galimatías.

Todos debieron haber pensado en el primer apartado.

Utilice EXESCOPE

-

Paso 4: busque la cadena

Abra eXeScope para cargar, pero descubrió que no hay ninguna cadena.

Esto

¿Por qué? Definitivamente harás preguntas.

Generalmente, no se puede encontrar usando eXeScope.

Comenzaremos.

-

El quinto paso es consultar el tipo de compilación del software.

Peid v0.92

Microsoft Visual Basic 5.0 / 6.0

-

Paso 6: Usar GetVBRes v0.51 para procesar VB programa.

GetVBRes v0.51 es una muy buena herramienta de localización de VB.

Para los programas VB, utilizamos GetVBRes v0.51 traducido al chino para su procesamiento.

Es posible que algunas personas no comprendan por qué se utilizan herramientas chinas.

De hecho, eXeScope también es una herramienta china.

GetVBRes se cargó en el inframundo

No encontré caracteres confusos

Todo lo que vi fueron caracteres completos.

Lo encontramos.

¡El código de registro es incorrecto!

Esta cadena

Luego, para obtener la dirección del punto clave del programa

Cambiamos "¡Código de registro incorrecto!"

111111.

Por qué se cambió a 11111 porque 11165438.

Guardar cambios

-

El paso 6 utiliza W32Dasm para cargar el archivo modificado.

Se encontró que hay 111111 en la cadena.

Eso es lo que modificamos. Resultó ser "¡Error de código de registro!"

*Referenciado por salto (U) no condicional o (C) condicional en la dirección:

|:004792EF(C)

|

:00479474 B904000280 mov ecx, 80020004

:00479479 B80A000000 mov eax, 0000000A

:0047947 y 894 d9c mov dword ptr[ebp -64], ecx

:00479481 894 DAC mov dword ptr[ebp-54], ecx

:00479484 894 DBC mov dword ptr[ebp-44], ecx

:00479487 8D5584 lea edx, dword ptr [ebp-7C]

:0047948A 8D4DC4 lea ecx, dword ptr [ebp-3C]

:0047948d 894594 mov dword ptr [ebp-6C], eax

:00479490 8945 a4 mov dword ptr[ebp-5C], eax

:00479493 8945 B4 mov dword ptr[ebp-4C] , eax

* Puede provenir de la cadena de datos Ref-& gt del código Obj; " 111111 "// ¿El registro que acaba de ver es incorrecto?

|

:00479496 c 7458 c 98194100 mov[ebp-74],00411998

:0047949d c 7458408000000 mov[ebp-7C],00000008

Se descubre que el salto comienza desde 4792EF.

Ann está acostumbrada. Llegamos a 4792EF y seguimos adelante.

Vi una dirección saltar aquí

Esta es 40928C.

*Referenciado por (U) salto no condicional o (C) condicional en la dirección:

|:00479278(C)

|

:0047928C 8B55E4 mov edx, dword ptr [ebp-1C]

*Referencia T MSVBVM60.

Ord _ _ vbaStrMove:0000 horas

|

:0047928 f 8b 3578124000 mov ESI, dword ptr [00401278]

: 00479295 8D4DE0 lea ecx, dword ptr [ebp-20]

:00479298 895 de4 mov dword ptr [ebp-1C], ebx

:0047929B FFD6 llamada esi

:0047929D 8B4DE8 mov ecx , dword ptr [ebp-18]

:004792A0 6A01 push 0000001

:004792A2 8D55E0 lea edx, dword ptr [ebp-20]

:004792A5 51 push ecx

:004792A6 52 push edx

:004792A7 E8440F0000 teléfono 0047A1F0

:004792AC 8BD0 mov edx, eax

:004792AE 8D4DDC lea ecx, dword ptr [ebp-24]

:004792B1 FFD6 llamada esi

:004792B3 50 push eax

:004792B4 53 push ebx

*Consulte T MSVBVM60. Ord _ _ vbaInStr:0000h

|

:004792 b5 ff 15e 8114000 call dword ptr [004011E8]

:004792BB 8BF0 mov esi,eax

:004792BD 8D45E8 lea eax, dword ptr [ebp-18]

:004792C0 F7DE neg esi

:004792C2 8D4DDC lea ecx, dword ptr [ebp-24]

:004792C5 50 push eax

:004792C6 1BF6 sbb esi, esi

:004792C8 8D55E0 lea edx, dword ptr [ebp-20]

:004792CB 51 push ecx

:004792CC 52 push edx

:004792CD F7DE neg esi

:004792CF 6A03 push 00000003

:004792D1 F7DE neg esi

*Referencia T MSVBVM60. _ _ vbaFreeStrList,Ord:0000h

|

:004792d 3 ff 150 c 124000 call dword ptr [0040120C]

:004792D9 8D45D4 lea eax, dword ptr [ebp-2C]

:004792DC 8D4DD8 lea ecx, dword ptr [ebp-28]

:004792DF 50 push eax

:004792E0 51 push ecx

:004792E1 6A02 push 0000002

*Consulte T MSVBVM60.

__vbaFreeObjList,Ord:0000h

|

:004792 E3 ff 1548104000 call dword ptr [00401048]

:004792E9 83C41C add esp, 0000001C

:004792EC 663BF3 cmp si,bx

:004792 ef 0f 847 f 010000 je 00479474

Estamos aquí.

004792AC vio lo siguiente.

EAX=0015A47C, (UNICODE "1000464401458371268751252821609291844811465000")

EDX=00000000

El sospechoso EAX es

100046440145837126 1252821609291844811465000

Para el código de registro

-

Paso 7: Intente registrarse correctamente con incertidumbre.

Usando

1000464401458371268751252821609291844811465000

Después del registro,

descubrimos que el registro se realizó correctamente.

-

Paso 8: Realizar la máquina de registro.

Keymake v1.73

Dirección de interrupción: 4792AC

Número de interrupciones: 1

Primer byte: 8B

Longitud del comando: 2

-

Paso 9: Libere la máquina registrada.

Busca un sitio web como Heji o Friends.

-

Descanso

El gángster finalmente fue asesinado.

Ahora ve a buscar a tu novio o novia.

Esposo o Esposa

Encuentra un lugar para charlar y relajarte.

Diles que acabas de encargarte del inframundo.

Debe ser divertido.

-

El curso ha terminado

-

Si tienes algo, puedes ir al foro.

Pero si estás impaciente,

o crees que mi respuesta es lenta.

Te sugiero que contactes conmigo directamente.

Mientras esté aquí, básicamente puedo responderte de inmediato.

Si no estás aquí, puedes dejar un mensaje.

Mis dos datos de contacto

QQ:9595859

MSN:kcarhc@163.com

Una última cosa.

Mi novia ha estado enferma recientemente.

Por eso comencé este curso tan tarde.

Espero que todos puedan entenderme.

También espero que todos puedan desearle una pronta recuperación.

De lo contrario

Es posible que me veas menos.

Incluso puede desaparecer ante tus ojos.

Vale, olvídalo. Se acabó, eso es todo por hoy.

- kcarhc

Shenyang temprano en la mañana del 1 de agosto de 2004

-

-Autor: Administrador

- Fecha de lanzamiento: 2005-10-1116:42:00.

-Utiliza OllyDbg para descomprimir rápidamente.

Autor: Gu Ling

Objetivo: NOTAPAD.EXE con Aspark y UPX.

Herramientas: OllyDbg 1.09 versión en inglés, complemento de volcado, PEditor.

Sistema: Win98SE

Palabras clave: desembalaje, OllyDbg, OD, DUMP, PUSHAD, POPAD.

Principios Básicos

La mayoría de los proyectiles tienen las mismas características. PUSHAD debe ejecutarse cuando el shell esté listo para iniciar la descompresión. Cuando se descomprime el shell,

POPAD se llama al final.

¿Para qué se utilizan PUSHAD y POPAD? De hecho, PUSHAD se usa para almacenar

todos los registros públicos apilados secuencialmente, mientras que POPAD se usa para almacenar todos los registros públicos apilados secuencialmente. PUSHAD está disponible

El orden de apilamiento es opuesto al de PUSHAD. Para proteger los registros, el shell coloca todos los registros en la pila para que estén protegidos antes de la descompresión.

Una vez completada la descompresión, el registro se saca de la pila y se restaura a su estado original, y la IP se establece en el OEP del programa original. De esta manera, podemos quitar rápidamente el caparazón de varios programas a través de esta función.

Elementos de embalaje

Primero, use ASPACK para explotar NOTAPAD.EXE. Cárguelo con OllyDbg (en adelante, OD). Vea el cursor apoyado en

la entrada del caparazón.

0040d 001 > 60 Pushad; Entrada a la Concha. Prepárese para comenzar a descomprimir y proteger registros.

0040D002 E8 03000000 Llamar al Bloc de notas 0040D00A

......

No nos importa, simplemente baja la página y busca el. Comando POPAD. Encuentre POPAD en 40D3AF.

……

0040 D3 af 61 POPAD; descompresión completada, registro restaurado.

0040D3B0 75 08 JNZ Bloc de notas corto 0040D3BA

0040D3B2 B8 01000000 MOV EAX, 1

C2 0C00 RETN 0C

0040D3BA 68 CC104000. Pulsar Bloc de notas 004010CC; volver al programa original OEP.

0040D3BF C3 RETN

……

Seleccione la línea 40D3AF, aquí se ejecuta F4. Permítanme explicarles aquí que el caparazón ha completado el trabajo de descompresión. Volver a la apariencia original

El punto de entrada del programa. F8 pasa a 4010CC Aquí está el OEP del programa original. Simplemente use el complemento de volcado para volcar directamente (al realizar el volcado, asegúrese de cambiar el punto de entrada a 10CC, es decir, 4010CC-400000 = 10CC, 400000 es la dirección base del espejo). El tamaño del archivo es 77059 bytes, por lo que reconstruir el encabezado PE con PEditor es suficiente. El tamaño del archivo sin comprimir es 53248 bytes y el tamaño del archivo descomprimido es 60930 bytes.

Artículo UPX

Bombardear el NOTEPAD.EXE con UPX, luego cargarlo con OD. Deténgase en PUSHAD y use el mismo método para eliminar ASPACK.

Método, desplácese hacia abajo para encontrar POPAD.

……

0040E9FE 61 POPAD

0040E9FF - Bloc de notas JMP E9 C826FFFF

……

Debajo de JMP saltará al OEP del programa. F4 a 40E9FF, F8 en un paso, llega a OEP, sale DUMP. El tamaño del archivo de volcado es de 65536 bytes y se puede ejecutar directamente. Para lograr la perfección, el encabezado PE fue reconstruido con PEditor. Entonces el tamaño del archivo después de descomprimirlo es 60293 bytes.

PD

Muchos tipos de conchas se pueden quitar rápidamente a mano utilizando los métodos mencionados anteriormente. Si no hay un complemento de volcado para OD,

puede encontrarlo en el área de descargas del nuevo foro. Si realmente no hay ninguno, también puedes detenerte en OEP y usar PEDump para desecharlo. Hace mucho que no escribo. Este artículo está escrito para jugadores novatos. De hecho, el shell también es software y puede eliminarse sin importar cuán complejo sea. Buena suerte.

Además, mantenga la integridad de este artículo al reimprimirlo.

-

-Autor: Administrador

-Publicado: 2005-10-117:10:00.

- Se eliminó encryptpe v 1. 2003. 5. 18 a través de Ollydbg.

Echemos un vistazo a la DLL EncryptPE. Dije que la nueva versión no funcionará y tampoco funcionará.

Más tarde, vi que la versión anterior de encrypt PE v 1. 2003. 5. 18 fue bombardeada. Debería ser la versión gratuita lanzada por el profesor Wang. Jaja, entonces me lo quité y grabé el proceso.

Puedes utilizar la versión gratuita de encrypt PE v 1. 2003. 5. 18 para agregar EdrLib.dll.

————————————————————————————————————

Primero, evite el cifrado IAT

Configure Ollydbg para ignorar todas las excepciones. Elimine el indicador del depurador de Ollydbg utilizando el complemento IsDebug 1.4.

Se agregó la excepción "Ignorar también 0EEDFADE, C0000008, 009B25C, 00953D74".

Código:-.

00877000 60 pushad//Detente aquí después de ingresar OD.

00877001 9C pushfd

00877002 64:FF35 00000000 push dword ptr fs:[0]

00877009 E8 79010000Llame a edrlib 0187

-

Desglose: después de penetrar BP IsDebuggerPresent, el punto de interrupción se cancela.

Ahora pulsamos Ctrl+G:711A0000.

¿Por qué utilizar esta dirección? Por V12003518. Lo mismo ocurre con la EPE. Jaja, aproveché el vacío legal de la versión anterior.

De hecho, puede responder a BP GetProcAddress y juzgar según la dirección de correo electrónico del remitente. Si la dirección del remitente es 711XXXXX, significa que se trata de una llamada al V12003518. EPE, para que pueda cancelar el punto de interrupción Ctrl+F9 y regresar. La situación específica está sujeta a la dirección del remitente de la pila.

Ctrl+S ahora busca en "la sección completa" la secuencia de comando:

Código:-.

mov eax, edi

mov edx, dword ptr ss:[ebp-8]

mov puntero de palabra doble ds:[eax], edx p>

Operación XOR

-

Encontramos el siguiente punto de interrupción de ejecución de hardware en 711A339F y 711A339F.

Ahora cerramos Ollydbg, recargamos el dll, lo ejecutamos directamente con Shift+F9 e interrumpimos en 711A339F.

Código:-.

711A339F 8BC7 mov eax, edi

711a33a 18b 55 F8 mov EDX, dword ptr ss:[ebp-8]

//Cambiado a: mov edx , dword ptr ss:[ebp-4] ★Escribe la función correcta.

711a33a 4 8910 mov dword ptr ds:[eax], edx

711A33A6 33C0 xor eax, eax

711A33A8 5A pop edx

711A33A9 59 pop ecx

711A33AA 59 pop ecx

711a 33 ab 64:8910 mov dword ptr fs:[eax],edx

711A 33 AE EB 0A jmp short v 1200351.711A 33 ba

-

Después de modificar 71133A 1, cancele el punto de interrupción anterior en 711A339F.

Luego Ctrl+S busca la secuencia de comandos:

Código:-.

Agregar ebx, 4

mov eax, dword ptr ss:[ebp-4C]

Agregar eax, 4

-

Lo encontramos en 71143c2, lo encontramos en xor eax, el 711A4401 de eax estaba roto. Operación Shift+F9

Código:-.

711A43C2 83C3 04 agregar ebx, 4

711a43c 5 8b 45 B4 mov eax, dword ptr ss:[ebp-4C]

711A43C8 83C0 04 agregar eax , 4

711 a43cb 8945 B4 mov dword ptr ss:[ebp-4C], eax

711A43CE 8B03 mov eax, dword ptr ds:[ebx]

711A43D0 85C0 prueba eax, eax

711a 43d 2 0f 87 39 fdffff ja v 1200351.711a 4111

711a43d 8 a 1 74c 71b 71 mov eax, dword ptr ds:[711bc 774 ]

711A43DD 8038 00 cmp byte ptr ds:[eax], 0

711a 43e 0 75 1F jnz short v 1200351.711a 4401

C4 mov eax, dword ptr ss:[ebp-3C]

711a43e 5 83c 0 14 add eax, 14

711a43e 8 8945 C4 mov dword ptr ss:[ebp-3C], eax< / p>

C4 mov eax, dword ptr ss:[ebp-3C]

711a 43 ee 8378 0C 00 CMP dword ptr ds:[eax+C], 0

711a43f 2 760d jbe short v 1200351.711a 4401

C4 mov eax, dword ptr ss:[ebp-3C]

711a43f 7 8378 10 00 CMP dword ptr ds:[eax+ 10] , 0

711a 43 FB 0 f 87 38 fcffffja v 1200351.7114039 // Bucle IAT.

711a 440133 c0x EAX EAX//¡Descansa aquí! ★

-

Cuando interrumpimos en 711A4401, el IAT ha sido procesado. En este momento, podemos usar ImportREC para obtener la tabla de entrada correcta.

Debido a que hay una autoprueba después de EncryptPE, volvemos a 71133a1, hacemos clic derecho -> cancelamos la selección y restauramos el código original.

————————————————————————————————————

2. Obtener información de la tabla de Reubicación y obtener OEP.

Ctrl+S busca en "la sección completa" la secuencia de comando:

Código:-.

mov edx, dword ptr ss:[ebp-24]

sub edx, dword ptr ds:[eax+34]

mov