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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Solución crackme v2 ASM cibergolen
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Solución crackme v2 ASM cibergolen  (Leído 5,864 veces)
.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Solución crackme v2 ASM cibergolen
« en: 16 Noviembre 2011, 00:10 am »

Datos importantes:
El Usuario debe cumplir los siguientes requisitos:
-6 caracteres como mínimo
-letras solo en mayúsculas
-letras entre la "A" a la "K"

Si traceamos un poco notaremos funciones muy importantes dentro del crackme:
Citar
004015A5  |.  E8 0AFDFFFF   |CALL CrackMe_.004012B4
004012BD  |.  83E8 30       SUB EAX,30                         ; resta a cada valor de ID 30
004015AA  |.  35 4D000000   |XOR EAX,4D                        ; realiza un XOR 4D con el resultado de la resta anterior
004015AF  |.  8981 C8404000 |MOV DWORD PTR DS:[ECX+4040C8],EAX ; mueve el resultado

Esto quiere decir que si introducimos como serial ABCDEF

Ocurrirá lo siguiente:
A    B   C    D    E    F   (Serial introducido)
41  42  43   44  45  46  (Serial en hexadecimal)

Resta a cada valor del ID 30

41-30 42-30 43-30 44-30 45-30 46-30  (Operación)
11      12     13      14      15      16       (Resultado)

Luego realiza un xor con cada valor modificado(- 30) de la ID con 4D
x XOR 4D

XOR 11,4D
XOR 12,4D
XOR 13,4D
XOR 14,4D
XOR 15,4D
XOR 16,4D

Nos dará como resultado lo siguiente:

A  B  C  D  E  F
5C 5F 5E 59 58 5B

Si seguimos traceando llegaremos a otra función muy interesante:
Citar
004015CB  |.  E8 F8FCFFFF   |CALL CrackMe_.004012C8
004012D1  |.  83F0 4A       XOR EAX,4A                         ; realiza un XOR 4A con el contenido de [ECX+4040C8] (izquierda a derecha)
004015D1  |.  8882 48414000 |MOV BYTE PTR DS:[EDX+404148],AL   ; mueve el resultado
*En los comentarios podemos ver que realizará

XOR 5C,4A

XOR 5F,4A

XOR 5E,4A

XOR 59,4A

XOR 58,4A

XOR 5B,4A

obtendremos como resultado:
5C 5F 5E 59 58 5B
15 14 13 12 11 4A

Suma todos los caracteres=A9 (15 14 13 12 11 4A)

Suma todos los caracteres=195 (A B C D E F)
(41+42+43+44+45+46)

Fórmula del serial:

Usuario: ABCDEF
Clave: 6566676869706656667-87-1071

-Cada carácter es pasado de hexadecimal a decimal:
ABCDEF:
41=65
42=66
43=67
44=68
45=69
46=70

65 66 67 68 69 70

concatena (strcat) el número de caracteres del USUARIO

65 66 67 68 69 70 6

concatena las tres primeras letras del USUARIO

65 66 67 68 69 70 6 65 66 67

*NOTA: Copia hasta 70 (F) y lo concatena como 07
explicación:
si introducimos como serial DFGHJK el serial hasta lo explicado será de la siguiente manera:

68 70 71 72 74 75 6 68 7

verde=usuario convertido a decimal
naranja=nº de caracteres del usuario
rojo=concatena 68 7 lo lógico sería 68 70 71 pero concatena hasta 70 y no considera el 0 es decir 68 07.

Si el tercer carácter fuese una F quedaría de la siguiente forma:
ABFDEF 656670686970 6 65 66 7

luego concatena A9 en decimal (suma de todas los caracteres modificados, explicado anteriormente)

*Aclaramos que los números hexadecimales menores o iguales a 7 son positivos y mayor o igual a 8 son negativos por lo que A9 es un número negativo

FFFFFFA9 (DWORD)

por lo que quedará en negativo, nunca había visto un serial que utilizara el signo de un número como guiones intermedios.

quedando:
6566676869706656667-87

últimamente concatena FFFFF195 en decimal:
obteniendo:
6566676869706656667-87-1071

NOTA:Si el primer carácter es una F cambia queda de la siguiente manera la fórmula

ID usuario en decimal+último carácter de ID de usuario en decimal+suma de caracteres mod + suma de caracteres.

Gráfico de fórmula general:
00404010  41 42 43 44 45 46 06 41 42 43  A9 95 01 
ID......................................|
                                  LEN ID..|
                                  3 Dígitos ID........|
                                                  Suma MOD|suma ID|

KEYGEN:

El keygen está hecho en OllyScript tiene un solo error y es que cuando muestra el serial antepone un 0, solo permite 6 caracteres, ni más ni menos (el error y la restricción se debe a que OllyScript no es un lenguaje muy fuerte), una vez mostrado el ID y SERIAL, estos son guardados en un documento .txt (ubicado en el path del mismo crackme) para su fácil copia al crackme

Código
  1. VAR VAR70
  2. VAR VF
  3. VAR VALLOC3
  4. VAR LEN_AUX
  5. VAR AUX_N
  6. VAR AUX_W
  7. VAR CONTADORU
  8. VAR CONT_FIN
  9. VAR AUX_Z
  10. VAR VALLOC9_
  11. VAR AUX__2
  12. VAR VALLOC_TAM2
  13. VAR VALLOC_TAM
  14. VAR VALLOC___
  15. VAR COMPS
  16. VAR CONT4_
  17. VAR AUX_3
  18. VAR AUX_2
  19. VAR CONTMOD
  20. VAR VALLOC_
  21. VAR AUX_
  22. VAR AUX
  23. VAR AUX2
  24. VAR VALLOC
  25. VAR VALLOC
  26. VAR CARACTERES
  27. VAR RESP
  28. PREGUNTA:
  29. ASK "Introduzca su ID (en mayúsculas, solo letras de la A a la K, seis caracteres)."
  30. MOV RESP,$RESULT
  31. CMP RESP,0
  32. JE EXIT
  33. EVAL "{RESP}"
  34. LEN $RESULT
  35. MOV CARACTERES,$RESULT
  36. CMP CARACTERES,6
  37. JNE ERROR1
  38. ALLOC 50
  39. MOV VALLOC,$RESULT
  40. MOV VALLOC2,VALLOC
  41. MOV VALLOC3,VALLOC
  42. CMP 0,VALLOC
  43. JE ERROR2
  44. EVAL "{RESP}"
  45. MOV [VALLOC],$RESULT,CARACTERES
  46. BUCLE:
  47. MOV AUX2,[VALLOC2],1
  48. CMP AUX2,0
  49. JE CONTINUAR
  50. ADD AUX,AUX2
  51. INC VALLOC2
  52. JMP BUCLE
  53. CONTINUAR:
  54. CMP [VALLOC],46,1
  55. JE CONTINUAR2
  56. MOV [VALLOC2],CARACTERES,1
  57. JMP CONTINUAR2_
  58. CONTINUAR2:
  59. ADD VALLOC3,CARACTERES
  60. DEC VALLOC3
  61. MOV VALLOC3,[VALLOC3],1
  62. MOV [VALLOC2],VALLOC3,1
  63. MOV VF,1
  64. JMP CONTINUAR3
  65. CONTINUAR2_:
  66. INC VALLOC2
  67. MOV [VALLOC2],[VALLOC],3
  68. CONTINUAR3:
  69. MOV VALLOC2,VALLOC
  70. ALLOC 50
  71. MOV VALLOC_,$RESULT
  72. MOV VALLOC_2,VALLOC_
  73. SUB CARACTERES,1
  74. INC VALLOC2
  75. CONTINUAR3_:
  76. MOV AUX_,[VALLOC2],1
  77. CMP CONTMOD,CARACTERES
  78. JE CONTINUAR4
  79. SUB AUX_,30
  80. XOR AUX_,4D
  81. XOR AUX_,4A
  82. MOV [VALLOC_],AUX_
  83. INC VALLOC2
  84. INC VALLOC_
  85. INC CONTMOD
  86. JMP CONTINUAR3_
  87. CONTINUAR4:
  88. MOV [VALLOC_],4A
  89. INC CARACTERES
  90. CONTINUAR4_:
  91. CMP CONT4_,CARACTERES
  92. JE CONTINUAR5
  93. MOV AUX_2,[VALLOC_2],1
  94. ADD AUX_3,AUX_2
  95. INC VALLOC_2
  96. INC CONT4_
  97. JMP CONTINUAR4_
  98. CONTINUAR5:
  99. ALLOC 50
  100. MOV VALLOC_TAM,$RESULT
  101. MOV VALLOC_TAM2,VALLOC_TAM
  102. MOV [VALLOC_TAM2],AUX
  103. MOV AUX,[VALLOC_TAM2],1
  104. INC VALLOC_TAM2
  105. MOV AUX__2,[VALLOC_TAM2],1
  106. CONTINUAR5_:
  107. ALLOC 50
  108. MOV VALLOC___,$RESULT
  109. MOV [VALLOC___],#FFFFFF#,6
  110. ADD VALLOC___,3
  111. MOV [VALLOC___],AUX
  112. SUB VALLOC___,3
  113. MOV AUX,[VALLOC___]
  114. REV AUX
  115. MOV AUX,$RESULT
  116. ITOA AUX, 10.
  117. MOV AUX,$RESULT
  118. CONTINUAR6:
  119. ALLOC 50
  120. MOV VALLOC9_,$RESULT
  121. MOV [VALLOC9_],#FFFFFF#,6
  122. ADD VALLOC9_,3
  123. MOV [VALLOC9_],AUX_3
  124. SUB VALLOC9_,3
  125. MOV AUX_3,[VALLOC9_]
  126. REV AUX_3
  127. MOV AUX_3,$RESULT
  128. ITOA AUX_3, 10.
  129. MOV AUX_3,$RESULT
  130. MOV VALLOC2,VALLOC
  131. MOV CARACTERES2,CARACTERES
  132. CMP VF,1
  133. JE CONTINUAR6_
  134. ADD CARACTERES2,4
  135. JMP CONTINUAR7
  136. CONTINUAR6_:
  137. INC CARACTERES2
  138. CONTINUAR7:
  139. CMP CONT_FIN,CARACTERES2
  140. JE SALIR_
  141. MOV AUX_Z,[VALLOC2],1
  142. ITOA AUX_Z, 10.
  143. MOV AUX_Z,$RESULT
  144. EVAL "#{AUX_Z}#"
  145. MOV [VALLOC2],$RESULT,1
  146. INC VALLOC2
  147. INC CONT_FIN
  148. MOV AUX_Z,0
  149. JMP CONTINUAR7
  150. SALIR_:
  151. SUB VALLOC2,2
  152. MOV VAR70,[VALLOC2],1
  153. CMP VAR70,70
  154. JNE SALIR__
  155. MOV [VALLOC2],#07#
  156. DEC CARACTERES2
  157. JMP SALIR
  158. SALIR__:
  159. INC VALLOC2
  160. MOV VAR70,[VALLOC2],1
  161. CMP VAR70,70
  162. JNE SALIR
  163. MOV [VALLOC2],#07#
  164. SALIR:
  165. CMP CARACTERES2,CONTADORU
  166. JE SALIR2
  167. MOV AUX_N,[VALLOC],1
  168. ITOA AUX_N
  169. MOV AUX_N,$RESULT
  170. ADD AUX_W,AUX_N
  171. INC CONTADORU
  172. INC VALLOC
  173. MOV AUX_N,0
  174. JMP SALIR
  175. SALIR2:
  176. EVAL "Usuario:{RESP} Clave:{AUX_W}{AUX_3}{AUX}{AUX__2}"
  177. MSG $RESULT
  178. FREE VALLOC
  179. FREE VALLOC_
  180. FREE VALLOC_TAM
  181. FREE VALLOC___
  182. WRT "Serial.txt", $RESULT
  183. MSG "Se ha creado un .txt con el ID y SERIAL en el path del crackme"
  184. JMP EXIT
  185. ERROR1:
  186. MSG "Error:el ID debe ser de seis caracteres!!"
  187. JMP PREGUNTA
  188. ERROR2:
  189. MSG "Error inesperado"
  190. EXIT:
  191. RET

Comentario:
Primero que todo darles las gracias a cibergolen por compartir tal crackme que debe haberle quitado su buena cantidad de tiempo, considerando que utilizó ASM, también decirle que es bienvenido por todos los usuarios de este subforo, será entretenido contar con su ayuda. También disculparme por la falta de tutorial pero codear el keygen en OllyScript me quitó demasiado tiempo ya que tuve que inventar muchas ideas para poder hacer que OllyScript hiciera lo que yo quisiera.
También decirle a MCKSys Argentina que es un desesperado, le dije que me esperara un poco que estaba haciendo el keygen pero no se aguantó  :xD aun espero su tutorial de como injertar una DLL en visualbasic en fin saludos para el y para todos los que se tomaron la molestia de leer este mini tutorial y un saludo para mi.
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Solución crackme v2 ASM cibergolen
« Respuesta #1 en: 16 Noviembre 2011, 00:51 am »

También decirle a MCKSys Argentina que es un desesperado, le dije que me esperara un poco que estaba haciendo el keygen pero no se aguantó
;D

Muy buen tute. Me gusto mucho el "lenguaje" del keygen  :)

PD: Estoy tratando de armar el tute de la DLL. Paciencia...  :P
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

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

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Solución crackme v2 ASM cibergolen
« Respuesta #2 en: 16 Noviembre 2011, 01:42 am »

;D

Muy buen tute. Me gusto mucho el "lenguaje" del keygen  :)

PD: Estoy tratando de armar el tute de la DLL. Paciencia...  :P

Muchas gracias MCKSys Argentina, saludos :D
En línea


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


Desconectado Desconectado

Mensajes: 668



Ver Perfil
Re: Solución crackme v2 ASM cibergolen
« Respuesta #3 en: 16 Noviembre 2011, 02:38 am »

Dale Culiu! Que quiero leer eso!
En línea

karmany
Moderador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: Solución crackme v2 ASM cibergolen
« Respuesta #4 en: 16 Noviembre 2011, 16:27 pm »

Muy muy bueno, felicidades y gracias por tu trabajo.

Como bien te habrás dado cuenta, el "lenguaje" de los scripts en Olly tiene muchas limitaciones. Es mejor programar tú mismo eso en ensamblador directamente.
En línea

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

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Solución crackme v2 ASM cibergolen
« Respuesta #5 en: 16 Noviembre 2011, 18:34 pm »

Muy muy bueno, felicidades y gracias por tu trabajo.

Como bien te habrás dado cuenta, el "lenguaje" de los scripts en Olly tiene muchas limitaciones. Es mejor programar tú mismo eso en ensamblador directamente.

Muchas gracias Karmany, efectivamente creo que lo mejor será ASM, Saludos
En línea


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


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: Solución crackme v2 ASM cibergolen
« Respuesta #6 en: 16 Noviembre 2011, 21:41 pm »

Muy bueno Under, no te alcanzo mas con el ritmo que llevas jaja, ya la semana que viene empiezo las vacaciones y continuare pero cada tanto te necesitare en el msn :P Saludos!
En línea

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

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Solución crackme v2 ASM cibergolen
« Respuesta #7 en: 16 Noviembre 2011, 22:05 pm »

Muy bueno Under, no te alcanzo mas con el ritmo que llevas jaja, ya la semana que viene empiezo las vacaciones y continuare pero cada tanto te necesitare en el msn :P Saludos!
Muchas gracias $edu, pero no es difícil solo debes dedicarle tiempo, en cuanto al msn a la derecha del mi baner en el foro podrás ver mi disponibilidad en msn

Saludos
En línea


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


Desconectado Desconectado

Mensajes: 1.051


crack, crack y mas crack...


Ver Perfil WWW
Re: Solución crackme v2 ASM cibergolen
« Respuesta #8 en: 17 Noviembre 2011, 00:21 am »

felisidades und3r buen trabajo
yo ya abia encontrado el serial para ABCDEFG antes que tu publicaras tu tutorial pero hastai lo deje y lo pase a la carpeta de solucionados no le busque al keygen medio flojera
pero bueno buen trabajo espero tu primer crackme para darle matarile jajajaja

saludos flamer y sus angeles del infierno
En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

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

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Solución crackme v2 ASM cibergolen
« Respuesta #9 en: 17 Noviembre 2011, 04:11 am »

felisidades und3r buen trabajo
yo ya abia encontrado el serial para ABCDEFG antes que tu publicaras tu tutorial pero hastai lo deje y lo pase a la carpeta de solucionados no le busque al keygen medio flojera
pero bueno buen trabajo espero tu primer crackme para darle matarile jajajaja

saludos flamer y sus angeles del infierno

Muchas gracias, jajaja si crackme habrá que hacer uno cuando tenga los conocimientos necesarios lo haré (estoy en ello), por lo demás podrías haber hecho el tutorial para sacar aunque sea la clave de ABCDEF jeje en fin muchas gracias nuevamente esperamos un crackme nuevo por parte tuya, Saludos
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
MIS RESPETOS PARA QUIEN LOGRE HACER UN TUTE DE SOLUCION DEL CRACKME
Ingeniería Inversa
pERICOTE 2 2,476 Último mensaje 11 Diciembre 2005, 18:31 pm
por pERICOTE
Os dejo un crackme, mi primer crackme ^^ « 1 2 »
Ingeniería Inversa
frankener1986 14 12,883 Último mensaje 14 Agosto 2006, 00:59 am
por sircid
[CRACKME] Crackme 3 por MCKSys Argentina « 1 2 3 »
Ingeniería Inversa
MCKSys Argentina 29 18,578 Último mensaje 18 Enero 2013, 20:48 pm
por SITEA
Crackme Edu [Solución]
Ingeniería Inversa
WarezMask 2 2,721 Último mensaje 14 Mayo 2012, 19:56 pm
por $Edu$
Solución Ly-Crackme Java
Ingeniería Inversa
rub'n 2 4,042 Último mensaje 28 Enero 2018, 17:23 pm
por .:UND3R:.
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines