elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  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 2,609 veces)
_Enko


Desconectado Desconectado

Mensajes: 538



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

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 pm por _Enko » En línea

Tinkipinki

Desconectado Desconectado

Mensajes: 242



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

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 pm por Tinkipinki » En línea

_Enko


Desconectado Desconectado

Mensajes: 538



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

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 pm por _Enko » En línea

ThunderCls


Desconectado Desconectado

Mensajes: 455


Coder | Reverser | Gamer


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

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

-[ "…I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/
_Enko


Desconectado Desconectado

Mensajes: 538



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

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 pm por _Enko » En línea

.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


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

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


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
_Enko


Desconectado Desconectado

Mensajes: 538



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

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
  1. format PE Console
  2. entry start
  3.  
  4. include '%fasminc%\win32a.inc'
  5. include '%fasminc%\macro\if.inc'
  6.  
  7. random_seed = 4234;
  8.  
  9. macro random {
  10. random_seed = ((random_seed*214013+2531011) shr 16) and 0xffffffff
  11. mov eax, random
  12. }
  13.  
  14. macro jmp dest {
  15.    push dest
  16.    retn
  17.    db $74
  18. }
  19.  
  20.  
  21. macro call dest {
  22.    local ..ret
  23.    push ..ret
  24.    jmp  dest
  25.    ..ret:
  26. }
  27.  
  28. macro mov dest,src {
  29.    local .._mov,.._over,.._quit
  30.    jmp  .._over
  31.    db $73
  32.    dd $
  33.  .._mov:
  34.    mov dest,src
  35.    jmp .._quit
  36.  .._over:
  37.    jmp .._mov
  38.    cmp ecx, [$]
  39.    db $74
  40.  
  41.  .._quit:
  42. }
  43. macro add dest,src {
  44.    local .._add,.._over,.._quit
  45.    jmp  .._over
  46.    lea eax, [eax* 2 + $]
  47.    db $75
  48.  .._add:
  49.    add dest,src
  50.    jmp .._quit
  51.    cmp eax, $
  52.  .._over:
  53.    jmp .._add
  54.    cmp eax, $
  55.    db $76
  56.  .._quit:
  57. }
  58.  
  59.  
  60. macro xor dest,src {
  61.    local .._add,.._over,.._quit
  62.    jmp  .._over
  63.    lea eax, [ebx + ecx * 2 + $]
  64.    db $79
  65.  .._add:
  66.    xor dest,src
  67.    jmp .._quit
  68.  .._over:
  69.    jmp .._add
  70.    lea eax, [ebx + ecx * 2 + $]
  71.    db $7a
  72.  .._quit:
  73. }
  74.  
  75. macro lea dest,src {
  76.    local .._add,.._over,.._quit
  77.    jmp  .._over
  78.    db $7b
  79.  .._add:
  80.    lea dest,src
  81.    jmp .._quit
  82.  .._over:
  83.    jmp .._add
  84.    db $7c
  85.  .._quit:
  86. }
  87.  
  88. macro je dest {
  89. local ..over
  90.    jmp ..over
  91.    db $75
  92.    ..over:
  93.    je dest
  94. }
  95.  
  96. macro push op {
  97. local ..over
  98.    jmp ..over
  99.    cmp eax, [$]
  100.    db $7d
  101.  
  102.    ..over:
  103.    push op
  104. }
  105.  
  106.  
  107. section '.data' data readable writeable
  108. szPause  db 'PAUSE',0
  109. szInt db '%i',0
  110. szStr db '%s',0
  111. szHex db '%X',0
  112. szNewStr db '%s',10,13,0
  113. szValid db 'serial valido',10,13,0
  114. szNotValid db 'serial no valido',10,13,0
  115. szInput db 16 dup ?
  116. iSerial dd ?
  117. _printf dd ?
  118. _scanf dd ?
  119. _sscanf dd ?
  120.  
  121.  
  122.  
  123.  
  124. section '.code' code readable executable
  125. start:
  126. push ebp
  127. mov ebp, esp
  128.  
  129. mov eax, [printf]
  130. mov [_printf], eax
  131. mov eax, [scanf]
  132. mov [_scanf], eax
  133. mov eax, [sscanf]
  134. mov [_sscanf], eax
  135.  
  136. xor ebx, ebx
  137. mov esi, 0xFF
  138. push szInput
  139. xor ebx, ebx
  140. push szStr
  141. call [ebx + _scanf]
  142. add esp, 8
  143.  
  144.  
  145. push iSerial
  146. push szHex
  147. push szInput
  148. call [_sscanf]
  149. add esp, 12
  150.  
  151. inc [iSerial]
  152. lea eax, [ebx + szValid + esi * 2]
  153. cmp [iSerial], 0x45AC34BD + 0x1
  154. je end_validation
  155. lea eax, [ebx + szNotValid + esi * 2]
  156. end_validation:
  157. push eax
  158. sub [esp], esi
  159. push szStr
  160. sub [esp + 4], esi
  161. call [ebx + _printf]
  162. add esp, 8
  163.  
  164. push szPause
  165. call [system]
  166. add esp, 4
  167.  
  168. pop ebp
  169. retn
  170.  
  171.  
  172.  
  173.  
  174.  
  175. section '.idata' import data readable writeable
  176.  
  177. library kernel32,'kernel32.dll',\
  178. user32,'user32.dll',\
  179. msvcrt,'msvcrt.dll'
  180.  
  181. include '%fasminc%\api\kernel32.inc'
  182. include '%fasminc%\api\user32.inc'
  183. include '%fasminc%\api\msvcrt.inc'
  184.  
  185.  
[/spoiler]
felicitacion under por resolverlo tambien cosa que no es para nada facil el traceo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Crackme
Ingeniería Inversa
byebye 8 5,653 Último mensaje 6 Julio 2003, 11:12 am
por shoulck
Os dejo un crackme, mi primer crackme ^^ « 1 2 »
Ingeniería Inversa
frankener1986 14 12,862 Último mensaje 14 Agosto 2006, 00:59 am
por sircid
[APORTE] Usando consola con Threads (aka: consola estilo quake) :D
.NET (C#, VB.NET, ASP)
raul338 0 3,909 Último mensaje 6 Marzo 2010, 17:27 pm
por raul338
[CrackMe] - D-CrackMe by .:WindHack:.
Ingeniería Inversa
.:WindHack:. 3 3,971 Último mensaje 26 Julio 2010, 23:45 pm
por .:WindHack:.
[CRACKME] Crackme 3 por MCKSys Argentina « 1 2 3 »
Ingeniería Inversa
MCKSys Argentina 29 18,513 Último mensaje 18 Enero 2013, 20:48 pm
por SITEA
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines