Necesito ayuda con lo que parece codigo ofuscado.

Iniciado por RebelTira, 17 Abril 2018, 11:46 AM

0 Miembros y 1 Visitante están viendo este tema.

RebelTira


Hola. Acabo de aterrizar en este foro despues de ojear varios. Aunque hace mas de 30 años que aprendi assembler,
llevaba mas de 20 sin practicar, hasta hace un par de años que me pidieron ayuda unos amigos para quitar la proteccion a
un juego y me volvi a enganchar.

Ahora estoy intentando echar una mano a mi hijo con un trabajo sobre los nuevos contadores de la luz.
Para hacer pruebas utiliza un programa que caduca a los 30 dias y he pensado darle mas tiempo. Esta compilado con VB 5.0/6.0.
He intentado saltar la parte de la licencia e ir directamente donde empieza el programa, pero no funciona.

Vi que en un punto del programa sale la fecha final de evaluacion, (instalacion + 30 dias),
y he pensado en cambiarla en origen, pero no la he encontrado en el registro de windows.
Probablemente esta en un archivo.ini cifrado en la carpeta del programa y en otro igual pero con distinto nombre
que crea en la carpeta de windows, pero no se desencriptarlo.
Asi que decidi seguir la pista de la fecha final por el stack hasta las direccciones que aparecen abajo.

Este es el codigo que se ve en el debuguer (x32dbg).Pertenece a skcl.dll que parece estar empaquetada con
InstantPLUS v3.x - 5.x segun el RDG Packet Detector.

Pero al ejecutarlo paso a paso lo que hace no se corresponde con lo que muestra.
En las lineas que me interesan carga la fecha en las direcciones 0018DA2A, 0018DA2E y 0018DA32.
Pero no puedo seguir porque no se de donde saca los numeros que conforman la fecha; el dia:4, mes:9 y año:7E2=2018

No se mucho de codigo ofuscado y no se como interpretarlo. ¿Me podeis hechar un cable? Gracias de antemano.


10011DDC | 50              | PUSH EAX                                    |
10011DDD | 57              | PUSH EDI                                    |
10011DDE | E8 61 C4 00 00  | CALL skcl.1001E244                          |
10011DE3 | 8A 85 14 FB FF  | MOV AL,BYTE PTR SS:[EBP-4EC]                |
10011DE9 | 8B BE F8 05 00  | MOV EDI,DWORD PTR DS:[ESI+5F8]              |
10011DEF | 0F BE 95 16 FB  | MOVSX EDX,BYTE PTR SS:[EBP-4EA]             |
10011DF6 | 0F BE C8        | MOVSX ECX,AL                                |
10011DF9 | 0F AF CA        | IMUL ECX,EDX                                |
10011DFC | 29 8E A8 03 00  | SUB DWORD PTR DS:[ESI+3A8],ECX              |
10011E02 | 29 8E AC 03 00  | SUB DWORD PTR DS:[ESI+3AC],ECX              |
10011E08 | 29 8E B0 03 00  | SUB DWORD PTR DS:[ESI+3B0],ECX              |
10011E0E | 29 8E B4 03 00  | SUB DWORD PTR DS:[ESI+3B4],ECX              |
10011E14 | 29 8E B8 03 00  | SUB DWORD PTR DS:[ESI+3B8],ECX              |
10011E1A | 29 8E C6 03 00  | SUB DWORD PTR DS:[ESI+3C6],ECX              |
10011E20 | 29 8E CA 03 00  | SUB DWORD PTR DS:[ESI+3CA],ECX              |
10011E26 | 29 8E CE 03 00  | SUB DWORD PTR DS:[ESI+3CE],ECX              |
10011E2C | 29 8E D2 03 00  | SUB DWORD PTR DS:[ESI+3D2],ECX              |
10011E32 | 29 8E D6 03 00  | SUB DWORD PTR DS:[ESI+3D6],ECX              |
10011E38 | 29 8E DA 03 00  | SUB DWORD PTR DS:[ESI+3DA],ECX              |
10011E3E | 29 8E DE 03 00  | SUB DWORD PTR DS:[ESI+3DE],ECX              |
10011E44 | 01 8E E2 03 00  | ADD DWORD PTR DS:[ESI+3E2],ECX              |
10011E4A | 01 8E E6 03 00  | ADD DWORD PTR DS:[ESI+3E6],ECX              |
10011E50 | 01 8E EA 03 00  | ADD DWORD PTR DS:[ESI+3EA],ECX              | 
10011E56 | 01 8E EE 03 00  | ADD DWORD PTR DS:[ESI+3EE],ECX              |  DWORD PTR [ESI+3EE]=[0018DA2A]=4         ecx=3250 skcl.dll:$11E56 #11256
10011E5C | 01 8E F2 03 00  | ADD DWORD PTR DS:[ESI+3F2],ECX              |  DWORD PTR [ESI+3F2]=[0018DA2E]=9 '\t'    ecx=3250 skcl.dll:$11E5C #1125C
10011E62 | 01 8E F6 03 00  | ADD DWORD PTR DS:[ESI+3F6],ECX              |  DWORD PTR [ESI+3F6]=[0018DA32]=7E2 L'ߢ'  ecx=3250 skcl.dll:$11E62 #11262
10011E68 | 01 8E FA 03 00  | ADD DWORD PTR DS:[ESI+3FA],ECX              | 
10011E6E | 01 8E FE 03 00  | ADD DWORD PTR DS:[ESI+3FE],ECX              |
10011E74 | 01 8E 02 04 00  | ADD DWORD PTR DS:[ESI+402],ECX              |
10011E7A | 29 8E 06 04 00  | SUB DWORD PTR DS:[ESI+406],ECX              |
10011E80 | 29 8E 0A 04 00  | SUB DWORD PTR DS:[ESI+40A],ECX              |
10011E86 | 29 8E 0E 04 00  | SUB DWORD PTR DS:[ESI+40E],ECX              |

Si necesitais cualquier cosa o algun dato mas, o que suba el programa... me lo decis.