Red de conocimiento informático - Aprendizaje de código fuente - Una serie de problemas con la tarjeta de recuperación de Founder

Una serie de problemas con la tarjeta de recuperación de Founder

Shuang, no tengo más remedio que romperlo.

Intente ejecutarlo primero, ingrese una contraseña a voluntad y se mostrará un error.

Use od para cargar, porque hay un error, por lo que es obvio que la siguiente sección bp MessageBoxA

se ejecuta. El programa irrumpió en el espacio aéreo del sistema.

No tiene sentido hacer cosas en el espacio aéreo del sistema. Vuelve Alt F9.

Ok, aparece un cuadro de diálogo de error. Después de hacer clic en Aceptar, el sistema regresa al espacio del programa. La dirección actual es 0052BF94

En este momento, no podemos ver información de registro obvia. , no te preocupes, mira la pila.

0012F1A0 0012FCE4

0012F1A4 3636362D

0012F1A8 /0012F278

0012F1AC |0045D7F5 Volver a EzBACK_p.0045D7F5 desde EzBACK_p.00 62

0012F1B0 |00CC4CBC

¿Qué vi? Bueno, vi la dirección 0045D7F5.

Bien, vayamos a esta dirección y establezcamos un punto de interrupción.

0045D7D5 /74 02 je corto 0045D7D9 1

0045D7D7 | |EB 67 jmp corto 0045D840

0045D7D9 |gt \6A 10 push 10

0045D7DB |. 8D4D E8 lea ecx, dword ptr [ebp-18]

0045D7DE |. >

0045D7E4 |. 8D4D E4 lea ecx, dword ptr [ebp-1C]

0045D7E7 |.

0045D7ED |. 8B4D F0 mov ecx, dword ptr [ebp-10]

0045D7F0 |. ebp-10]

0045D7F8 |. 81C1 C4010000 agregar ecx, 1C4

0045D7FE |. E8 A8220D00 llamar a 0052FAAB

0045D803 |. p>

0045D805 |. 6A FF empujar -1

0045D807 |. 6A 00 empujar 0

0045D809 |. /p>

0045D80C |. 81C1 C4010000 agregar ecx, 1C4

0045D812 |. E8 743D1300 llamar 0059158B

0045D817 |. , 3

0045D81B | 8D4D E0 lea ecx, dword ptr [ebp-20]

0045D81E |. E8 B93A0D00 llamada 005312DC

0045D823 |. 01 mov byte ptr [ebp-4], 1

0045D8

27 |. 8D4D E4 lea ecx, dword ptr [ebp-1C]

0045D82A |. E8 AD3A0D00 llamada 005312DC

0045D82F |. ], -1

0045D836 |8D4D E8 lea ecx, dword ptr [ebp-18]

0045D839 |. EB 76 jmp corto 0045D8B6

0045D840 |gt; 8B55 F0 mov edx, dword ptr [ebp-10]

0045D843 |. /p>

0045D849 |. 8945 B4 mov dword ptr [ebp-4C], eax

0045D84C |. 0045D84F |. 894D B8 mov dword ptr [ebp-48], ecx

0045D852 |. 0045D873; 2

0045D858 |. 8BF4 mov esi, esp

0045D85A |.

Después de un pequeño análisis, puedes saber que las instrucciones en 1 y 2 son los llamados saltos clave.

Bien, cambiemos estas 2 instrucciones.

0045D7D5 Cambiar je a jne

0045D856 Cambiar je a jne

Bien, listo.

Dado que se trata de descifrar la contraseña establecida por el administrador, no hay ningún análisis de algoritmo. El código clave es

0045BCB5 |gt /8B55 08 /mov edx, dword ptr [. ebp 8]

0045BCB8 |. |0355 E8 |añadir edx, dword ptr [ebp-18]

0045BCBB | |0FBE02 |movsx eax, byte ptr [edx]

0045BCBE |. |8B4D E8 |mov ecx, dword ptr [ebp-18]

0045BCC1 | |0FBE540D EC |movsx edx, byte ptr [ebp ecx-14]

0045BCC6 |. |3BC2 |cmp eax, edx

0045BCC8 |. [ ebp 8]

0045BCCD |. |0345 E8 |añadir eax, dword ptr [ebp-18]

0045BCD0 | |0FBE08 |movsx ecx, byte ptr [eax]< / p>

0045BCD3 |. |85C9 |prueba ecx, ecx

0045BCD5 |. |74 0B |je corto 0045BCE2

0045BCD7 |. dword ptr [ebp-18]

0045BCDA |. |83C2 01 |añadir edx, 1

0045BCDD |8955 E8 |mov dword ptr [ebp-18], edx< / p>

0045BCE0 |.^\EB D3 \jmp short 0045BCB5

Esta contraseña de administrador pertenece a nuestra escuela. No es buena si se filtra, por lo que no se rastreará el código de registro aquí. .

Si está interesado, puede verificar la dirección ebp después de que el programa ejecute el código anterior y seguirlo en la ventana de datos

Puede encontrarlo

Aquí está la explosión (* ^__^*)