elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
27 Mayo 2012, 22:55  


Tema destacado: Últimos eventos sobre seguridad/inseguridad

+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: Shaddy, karmany)
| | |-+  Crackme 05 consola obfuscado
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Crackme 05 consola obfuscado  (Leído 550 veces)
_Enko


Desconectado Desconectado

Mensajes: 301



Ver Perfil
Crackme 05 consola obfuscado
« en: 23 Octubre 2011, 12:29 »

Para aquellos que les guste nopear saltos  :rolleyes:

A ver quien encuentra el salto correcto!!!


Objetivo: Hacer un parche para ver mensaje de "buen chico" o bien, encontrar clave valida. (no vale invertir cadenas de los mensajes)
Detalle:
*)El crackme no esta empaquetada
*)El crackme esta sumamente obfuscado
*)La validacion es sumamente sencilla
*)Esta en modo consola, al arrancar ingresen el serial, boton enter y rezar ^^

Dificultad: Ni idea, depende en lo que se tarde en resolver, ya me lo comentaran.

Vale tanto parche como encontrar el serial valido.



http://www.mediafire.com/?x0m3r29wv99xx5j
http://www.megaupload.com/?d=WPS6NGIN
« Última modificación: 24 Octubre 2011, 17:06 por _Enko » En línea


Servicio tecnico Blackberry http://www.serviciotecnicocelular.com
Tinkipinki

Desconectado Desconectado

Mensajes: 209



Ver Perfil
Re: Crackme 05 console
« Respuesta #1 en: 23 Octubre 2011, 13:16 »

Saludos _Enko :

No se si me acerco pero creo que:

Mensaje de serial valido en: 401014
Mensaje de serial no valido en: 401024

..pero no se mas, ni como poder ver bien el codigo de estas direcciones (ofuscado).

Este va a ser un crackme super interesante, agradecer a ti y a todos los que programais crackme's vuestras aportacines.

Saludos
« Última modificación: 23 Octubre 2011, 13:30 por Tinkipinki » En línea
_Enko


Desconectado Desconectado

Mensajes: 301



Ver Perfil
Re: Crackme 05 console
« Respuesta #2 en: 23 Octubre 2011, 17:00 »

El codigo de la aplicacion es si, son 50 intrucciones que estan obfuscadas  y se cuadruplican aproximadamente.
Es un crackme de tipo analizar bien lo que se ve y descartar lo inutil.

pd:
401XXX es  sección data '.data', ahi no estan los mensajes del serial valido e invalid, sino las cadenas de esos mensajes.
De hecho, si inviertes las cadenas obtienes el resultado de 'serial valido', pero no es el objetivo xD

pista: todo el codigo se encuentra a partir de del entry point en 40200.... no hay codigo antes.

« Última modificación: 23 Octubre 2011, 17:02 por _Enko » En línea


Servicio tecnico Blackberry http://www.serviciotecnicocelular.com
[ Thunder | CLS ]

Desconectado Desconectado

Mensajes: 135


CrAcKiNg 4 PaSsIoN


Ver Perfil WWW
Re: Crackme 05 consola obfuscado
« Respuesta #3 en: 24 Octubre 2011, 22:10 »

Por parte de la ofuscacion ha estado bueno, bastante "basura" en medio del camino para despistar y dificultar el traceo. Por parte del serial, como bien dices...es tan sencillo como:

serial + 1 = 45AC34BE
      serial = 45AC34BE - 1
      serial = 45AC34BD


Saludos

PD: Si con ese nivel de ofuscacion se le agrega un algoritmo de registro mas trabajado, el crackme seria mucho mas duro.  ;)
En línea

-[ CrAcKiNg 4 PaSsIoN ]-
Mi GoogleSite dedicado a la Programación y al Cracking
http://sites.google.com/site/thundercrackslatinos/Home
_Enko


Desconectado Desconectado

Mensajes: 301



Ver Perfil
Re: Crackme 05 consola obfuscado
« Respuesta #4 en: 24 Octubre 2011, 22:17 »

Por parte de la ofuscacion ha estado bueno, bastante "basura" en medio del camino para despistar y dificultar el traceo. Por parte del serial, como bien dices...es tan sencillo como:

serial + 1 = 45AC34BE
      serial = 45AC34BE - 1
      serial = 45AC34BD


Saludos

PD: Si con ese nivel de ofuscacion se le agrega un algoritmo de registro mas trabajado, el crackme seria mucho mas duro.  ;)
Lo hice asi de facil para que la peña intentara resolverlo, pero por lo visto no hubo muchos voluntarios.

Si quires resolver un keygen interesante, intenta con
http://foro.elhacker.net/ingenieria_inversa/keygenme4_console-t342421.0.html

te aseguro que el algoritmo es super novedoso y el codigo bien prolijo ^^
« Última modificación: 24 Octubre 2011, 22:19 por _Enko » En línea


Servicio tecnico Blackberry http://www.serviciotecnicocelular.com
.:UND3R:.


Desconectado Desconectado

Mensajes: 1.960


Ingeniería inversa


Ver Perfil WWW
Re: Crackme 05 consola obfuscado
« Respuesta #5 en: 28 Octubre 2011, 05:33 »

No había intentado este crackme de _Enko

el código está muy bien ofuscado para tracear, puede complicarnos y despistarnos un poco, traceando llego a la siguiente comparación:


00402536   ?  813D 47104000>CMP DWORD PTR DS:[401047],45AC34BE

en donde si miro en el dump el contenido de 401047 notaré que está el serial introducido incrementado en 1 es decir si mi serial es 989898 aparecerá 989899, por lo que la comprobación correcta, debería ser

CMP 989898,45AC34BE-1

en salto a modificar es:
00402551   ? /74 39         JE SHORT crackme5.0040258C

Si lo invertimos tendremos el serial válido, de todas maneras los créditos son exclusivamente de [ Thunder | CLS ] que lo crackeo mucho antes que yo


Saludos




En línea

_Enko


Desconectado Desconectado

Mensajes: 301



Ver Perfil
Re: Crackme 05 consola obfuscado
« Respuesta #6 en: 28 Octubre 2011, 19:07 »

Para aquellos que lo han intentado resolver, les dejo el source para que vean lo facil que hubiera sido sin la obfuscacion.
[spoiler]
Código
format PE Console
entry start
 
include '%fasminc%\win32a.inc'
include '%fasminc%\macro\if.inc'
 
random_seed = 4234;
 
macro random {
random_seed = ((random_seed*214013+2531011) shr 16) and 0xffffffff
mov eax, random
}
 
macro jmp dest {
   push dest
   retn
   db $74
}
 
 
macro call dest {
   local ..ret
   push ..ret
   jmp  dest
   ..ret:
}
 
macro mov dest,src {
   local .._mov,.._over,.._quit
   jmp  .._over
   db $73
   dd $
 .._mov:
   mov dest,src
   jmp .._quit
 .._over:
   jmp .._mov
   cmp ecx, [$]
   db $74
 
 .._quit:
}
macro add dest,src {
   local .._add,.._over,.._quit
   jmp  .._over
   lea eax, [eax* 2 + $]
   db $75
 .._add:
   add dest,src
   jmp .._quit
   cmp eax, $
 .._over:
   jmp .._add
   cmp eax, $
   db $76
 .._quit:
}
 
 
macro xor dest,src {
   local .._add,.._over,.._quit
   jmp  .._over
   lea eax, [ebx + ecx * 2 + $]
   db $79
 .._add:
   xor dest,src
   jmp .._quit
 .._over:
   jmp .._add
   lea eax, [ebx + ecx * 2 + $]
   db $7a
 .._quit:
}
 
macro lea dest,src {
   local .._add,.._over,.._quit
   jmp  .._over
   db $7b
 .._add:
   lea dest,src
   jmp .._quit
 .._over:
   jmp .._add
   db $7c
 .._quit:
}
 
macro je dest {
local ..over
   jmp ..over
   db $75
   ..over:
   je dest
}
 
macro push op {
local ..over
   jmp ..over
   cmp eax, [$]
   db $7d
 
   ..over:
   push op
}
 
 
section '.data' data readable writeable
szPause  db 'PAUSE',0
szInt db '%i',0
szStr db '%s',0
szHex db '%X',0
szNewStr db '%s',10,13,0
szValid db 'serial valido',10,13,0
szNotValid db 'serial no valido',10,13,0
szInput db 16 dup ?
iSerial dd ?
_printf dd ?
_scanf dd ?
_sscanf dd ?
 
 
 
 
section '.code' code readable executable
start:
push ebp
mov ebp, esp
 
mov eax, [printf]
mov [_printf], eax
mov eax, [scanf]
mov [_scanf], eax
mov eax, [sscanf]
mov [_sscanf], eax
 
xor ebx, ebx
mov esi, 0xFF
push szInput
xor ebx, ebx
push szStr
call [ebx + _scanf]
add esp, 8
 
 
push iSerial
push szHex
push szInput
call [_sscanf]
add esp, 12
 
inc [iSerial]
lea eax, [ebx + szValid + esi * 2]
cmp [iSerial], 0x45AC34BD + 0x1
je end_validation
lea eax, [ebx + szNotValid + esi * 2]
end_validation:
push eax
sub [esp], esi
push szStr
sub [esp + 4], esi
call [ebx + _printf]
add esp, 8
 
push szPause
call [system]
add esp, 4
 
pop ebp
retn
 
 
 
 
 
section '.idata' import data readable writeable
 
library kernel32,'kernel32.dll',\
user32,'user32.dll',\
msvcrt,'msvcrt.dll'
 
include '%fasminc%\api\kernel32.inc'
include '%fasminc%\api\user32.inc'
include '%fasminc%\api\msvcrt.inc'
 
 
[/spoiler]
felicitacion under por resolverlo tambien cosa que no es para nada facil el traceo.
En línea


Servicio tecnico Blackberry http://www.serviciotecnicocelular.com
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Consola pero sin consola
Programación General
Zarathustra 3 575 Último mensaje 31 Mayo 2005, 04:16
por Slasher-K
Os dejo un crackme, mi primer crackme ^^
Ingeniería Inversa
frankener1986 14 4,178 Último mensaje 14 Agosto 2006, 00:59
por sircid
[APORTE] Usando consola con Threads (aka: consola estilo quake) :D
.NET
raul338 0 1,350 Último mensaje 6 Marzo 2010, 17:27
por raul338
[CrackMe] - D-CrackMe by .:WindHack:.
Ingeniería Inversa
.:WindHack:. 3 1,170 Último mensaje 26 Julio 2010, 23:45
por .:WindHack:.
[CRACKME] Crackme 3 por MCKSys Argentina « 1 2 »
Ingeniería Inversa
MCKSys Argentina 28 2,529 Último mensaje 27 Noviembre 2011, 14:57
por chEEtos
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines