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)
| | |-+  ayuda con el crackme 8 de enigmagroup
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: ayuda con el crackme 8 de enigmagroup  (Leído 7,937 veces)
Flamer


Desconectado Desconectado

Mensajes: 1.052


crack, crack y mas crack...


Ver Perfil WWW
ayuda con el crackme 8 de enigmagroup
« en: 8 Mayo 2019, 04:40 am »

Bueno no quería recurrir a ustedes pero no me quedo de otra

El problema con que me tope es el siguiente....el crackme pide nombre y serial.....hasta donde yo veo el nombre no es de mucha importancia...el serial es el difícil ya que este pasa por 2 fases y las dos fases tienen  que ser validas o true (para que me entiendan) para que el crackme muestre el mensaje correcto....otra cosa el serial tiene que ser mayor de 8 dígitos

================================================================

La primera fase toma todos los dígitos del serial.... los convierte en su valor ascii y les resta 32 a cada uno y los ira sumando y el resultado de la primera fase tiene que ser 522 para que sea true o validad

===============================================================

La segunda fase (esta es la buena) toma todos los dígitos del serial y les resta 32 hasta qui todo bien

Ahora haremos una pausa y explicare un detalle para continuar....si tenemos un serial "flamer007"

llamaremos posiciones impares del serial a las siguientes:   "f a e 0 7"  a las pares  "l m r 0"   bueno espero hallan entendido ese detalle

ahora en la segunda fase como dije ira tomando cada dígito del serial después le resta 32 y pregunta si la posición del serial es par o impar....bueno el primer dígito de todo serial sera impar así que lo toma en este caso es la "f"....le resta 32 y luego lo divide entre 100......luego lo multiplica por el resultado del dígito anterior del serial pero como es el primer dígito lo multiplica por 1

luego toma la "l" del serial anterior....le resta 32 y como la posición es par lo multiplica por el resultado del dígito anterior que en este caso fue la "f"

luego toma el tercer dígito que es "a"....le resta 32 y como la posición es impar lo divide entre 100 y luego lo multiplica por el resultado del dígito anterior

=========================================

Bueno creo que ya entendieron que ira asiendo con cada dígito.....el resultado de la segunda fase tiene que ser igual a   

112000.0636339199991

con todo y la parte fraccionaria

así que yo me las ingenie para hacer un programa por fuerza bruta(le digo fuerza bruta por que no se como llamarle)..... pero no es el típico programa que intenta clave por clave es diferente.... ya que tu iras escribiendo la clave y te muestra si te vas a cercando o alejando
del serial correcto


Código
  1. <title>BruteForce Crackme 8 De EnigmaGroup   ...:::By Flamer:::...</title>
  2. </head>
  3. <font color="WHITE"><marquee direction="left" style="background:black;font-size:15pt;">BruteForce Crackme 8 De EnigmaGroup   ...:::By Flamer:::...</marquee></font><br><br>
  4. Serial:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp <input type="text" id="100" size='50' style="text-align:center;" onkeyup="generar()">
  5. <br><br><br><br>
  6. 522<div id="101" style="color:red;font-size:15pt;"></div>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
  7. 112000.0636339199991<div id="102" style="color:red;font-size:15pt;"></div>
  8. <script language="vbscript">
  9. dim s,c,d,x,caden
  10.  
  11. function generar
  12.  s = document.getElementById("100").value
  13.  c = 0
  14.  for x = 1 to len(s)
  15.    d = asc(mid(s,x,1)) - 32
  16.    c = c + d
  17.  next
  18.  
  19.  document.getElementById("101").innerHTML =  c
  20.  
  21.  c = 1
  22.  for x = 1 to len(s)
  23.     d = asc(mid(s,x,1)) - 32
  24.     if (x mod 2) = 1 then
  25.        d = d / 100
  26.    c = c * d
  27.   else
  28.        c = c * d
  29.     end if
  30.  next
  31.  
  32.  document.getElementById("102").innerHTML = c
  33.  
  34. end function
  35. </body>
  36. </html>
  37.  
  38.  



pueden probarlo para que lo intenten solo copean y pegan en bloc de notas y lo aguardan con la extensión hta

otra solución que se me ocurrió para este crackme es lograr imprimir todos los números que sumen 522 del 1 al 90....si se preguntan por que del 1 al 90.... es simple 1 + 32 = 33......90 + 32 = 122 

el 122 es la z en ascii  y el 33 !

es el rango que elegí



bueno a ver quien me hecha la mano saludos Flamer y si se pregunta si are vídeo de esto si lo are


En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: ayuda con el crackme 8 de enigmagroup
« Respuesta #1 en: 8 Mayo 2019, 07:56 am »

hola Flamer:
                    3 cosas:
1)¿pódes poner un link al crackme? no me pongo a buscarlo ni loco y prefiero ver que hace
2)tengo la curiosidad ¿los valores son en hexa o decimales? porque supongo que si los pusiste tal cual el debugger que uses están en hexa, pero por las dudas pregunto.
3)¿el serial tiene límite de largo?

en fin por si acaso quiero saber más, es que te pido poder verlo.
la primer parte es fácil conseguir un serial valido en hexa, pero quiero estar seguro para seguir con la segunda.

Saludos 
En línea

apuromafo CLS


Desconectado Desconectado

Mensajes: 1.441



Ver Perfil WWW
Re: ayuda con el crackme 8 de enigmagroup
« Respuesta #2 en: 8 Mayo 2019, 14:58 pm »

hola Flamer:
                    3 cosas:
1)¿pódes poner un link al crackme? no me pongo a buscarlo ni loco y prefiero ver que hace
2)tengo la curiosidad ¿los valores son en hexa o decimales? porque supongo que si los pusiste tal cual el debugger que uses están en hexa, pero por las dudas pregunto.
3)¿el serial tiene límite de largo?

en fin por si acaso quiero saber más, es que te pido poder verlo.
la primer parte es fácil conseguir un serial valido en hexa, pero quiero estar seguro para seguir con la segunda.

Saludos 
el link
Citar
En línea

Apuromafo
Flamer


Desconectado Desconectado

Mensajes: 1.052


crack, crack y mas crack...


Ver Perfil WWW
Re: ayuda con el crackme 8 de enigmagroup
« Respuesta #3 en: 8 Mayo 2019, 18:46 pm »

hola Flamer:
                    3 cosas:
1)¿pódes poner un link al crackme? no me pongo a buscarlo ni loco y prefiero ver que hace
2)tengo la curiosidad ¿los valores son en hexa o decimales? porque supongo que si los pusiste tal cual el debugger que uses están en hexa, pero por las dudas pregunto.
3)¿el serial tiene límite de largo?

en fin por si acaso quiero saber más, es que te pido poder verlo.
la primer parte es fácil conseguir un serial valido en hexa, pero quiero estar seguro para seguir con la segunda.

Saludos  

todos los valores que puse son en decimal

el serial debe de ser de 8 dígitos en adelante....al parecer no tiene limite

el crackme al descargarlo viene empacado con upx pero con la opción de -d se puede desempacar


esta es la parte de la fase 1

Código
  1. 00401E44 | 55                       | push ebp                                     |
  2. 00401E45 | 89E5                     | mov ebp,esp                                  |
  3. 00401E47 | 83EC 18                  | sub esp,18                                   |
  4. 00401E4A | 66:C745 FE 0000          | mov word ptr ss:[ebp-2],0                    |
  5. 00401E50 | C645 FD 00               | mov byte ptr ss:[ebp-3],0                    |
  6. 00401E54 | 0FBE45 FD                | movsx eax,byte ptr ss:[ebp-3]                |
  7. 00401E58 | 894424 04                | mov dword ptr ss:[esp+4],eax                 |
  8. 00401E5C | 8B45 08                  | mov eax,dword ptr ss:[ebp+8]                 |
  9. 00401E5F | 83C0 08                  | add eax,8                                    |
  10. 00401E62 | 890424                   | mov dword ptr ss:[esp],eax                   |
  11. 00401E65 | E8 7AE10200              | call app8.42FFE4                             |
  12. 00401E6A | 8038 00                  | cmp byte ptr ds:[eax],0                      |
  13. 00401E6D | 74 2F                    | je app8.401E9E                               |
  14. 00401E6F | 0FBE45 FD                | movsx eax,byte ptr ss:[ebp-3]                |
  15. 00401E73 | 894424 04                | mov dword ptr ss:[esp+4],eax                 |
  16. 00401E77 | 8B45 08                  | mov eax,dword ptr ss:[ebp+8]                 |
  17. 00401E7A | 83C0 08                  | add eax,8                                    |
  18. 00401E7D | 890424                   | mov dword ptr ss:[esp],eax                   |
  19. 00401E80 | E8 5FE10200              | call app8.42FFE4                             |
  20. 00401E85 | 66:0FBE10                | movsx dx,byte ptr ds:[eax]                   |
  21. 00401E89 | 0FB745 FE                | movzx eax,word ptr ss:[ebp-2]                |
  22. 00401E8D | 8D0402                   | lea eax,dword ptr ds:[edx+eax]               |
  23. 00401E90 | 83E8 20                  | sub eax,20                                   |
  24. 00401E93 | 66:8945 FE               | mov word ptr ss:[ebp-2],ax                   |
  25. 00401E97 | 8D45 FD                  | lea eax,dword ptr ss:[ebp-3]                 |
  26. 00401E9A | FE00                     | inc byte ptr ds:[eax]                        |
  27. 00401E9C | EB B6                    | jmp app8.401E54                              |
  28. 00401E9E | 66:817D FE 0A02          | cmp word ptr ss:[ebp-2],20A                  |
  29. 00401EA4 | 0F94C0                   | sete al                                      |
  30. 00401EA7 | 0FB6C0                   | movzx eax,al                                 |
  31. 00401EAA | C9                       | leave                                        |
  32. 00401EAB | C3                       | ret                                          |
  33.  
  34.  



y haca la segunda fase

Código
  1. 00401EAC | 55                       | push ebp                                     |
  2. 00401EAD | 89E5                     | mov ebp,esp                                  |
  3. 00401EAF | 83EC 18                  | sub esp,18                                   |
  4. 00401EB2 | D9E8                     | fld1                                         |
  5. 00401EB4 | DD5D F8                  | fstp qword ptr ss:[ebp-8],st(0)              |
  6. 00401EB7 | C645 F7 00               | mov byte ptr ss:[ebp-9],0                    |
  7. 00401EBB | 0FBE45 F7                | movsx eax,byte ptr ss:[ebp-9]                |
  8. 00401EBF | 894424 04                | mov dword ptr ss:[esp+4],eax                 |
  9. 00401EC3 | 8B45 08                  | mov eax,dword ptr ss:[ebp+8]                 |
  10. 00401EC6 | 83C0 08                  | add eax,8                                    |
  11. 00401EC9 | 890424                   | mov dword ptr ss:[esp],eax                   |
  12. 00401ECC | E8 13E10200              | call app8.42FFE4                             |
  13. 00401ED1 | 8038 00                  | cmp byte ptr ds:[eax],0                      |
  14. 00401ED4 | 74 76                    | je app8.401F4C                               |
  15. 00401ED6 | 0FB645 F7                | movzx eax,byte ptr ss:[ebp-9]                |
  16. 00401EDA | 24 01                    | and al,1                                     |
  17. 00401EDC | 84C0                     | test al,al                                   |
  18. 00401EDE | 75 36                    | jne app8.401F16                              |
  19. 00401EE0 | 0FBE45 F7                | movsx eax,byte ptr ss:[ebp-9]                |
  20. 00401EE4 | 894424 04                | mov dword ptr ss:[esp+4],eax                 |
  21. 00401EE8 | 8B45 08                  | mov eax,dword ptr ss:[ebp+8]                 |
  22. 00401EEB | 83C0 08                  | add eax,8                                    |
  23. 00401EEE | 890424                   | mov dword ptr ss:[esp],eax                   |
  24. 00401EF1 | E8 EEE00200              | call app8.42FFE4                             |
  25. 00401EF6 | 0FBE00                   | movsx eax,byte ptr ds:[eax]                  |
  26. 00401EF9 | 83E8 20                  | sub eax,20                                   |
  27. 00401EFC | 50                       | push eax                                     |
  28. 00401EFD | DB0424                   | fild st(0),dword ptr ss:[esp]                |
  29. 00401F00 | 8D6424 04                | lea esp,dword ptr ss:[esp+4]                 |
  30. 00401F04 | DD05 40104400            | fld st(0),qword ptr ds:[441040]              |
  31. 00401F0A | DEF9                     | fdivp st(1),st(0)                            |
  32. 00401F0C | DD45 F8                  | fld st(0),qword ptr ss:[ebp-8]               |
  33. 00401F0F | DEC9                     | fmulp st(1),st(0)                            |
  34. 00401F11 | DD5D F8                  | fstp qword ptr ss:[ebp-8],st(0)              |
  35. 00401F14 | EB 2C                    | jmp app8.401F42                              |
  36. 00401F16 | 0FBE45 F7                | movsx eax,byte ptr ss:[ebp-9]                |
  37. 00401F1A | 894424 04                | mov dword ptr ss:[esp+4],eax                 |
  38. 00401F1E | 8B45 08                  | mov eax,dword ptr ss:[ebp+8]                 |
  39. 00401F21 | 83C0 08                  | add eax,8                                    |
  40. 00401F24 | 890424                   | mov dword ptr ss:[esp],eax                   |
  41. 00401F27 | E8 B8E00200              | call app8.42FFE4                             |
  42. 00401F2C | 0FBE00                   | movsx eax,byte ptr ds:[eax]                  |
  43. 00401F2F | 83E8 20                  | sub eax,20                                   |
  44. 00401F32 | 50                       | push eax                                     |
  45. 00401F33 | DB0424                   | fild st(0),dword ptr ss:[esp]                |
  46. 00401F36 | 8D6424 04                | lea esp,dword ptr ss:[esp+4]                 |
  47. 00401F3A | DD45 F8                  | fld st(0),qword ptr ss:[ebp-8]               |
  48. 00401F3D | DEC9                     | fmulp st(1),st(0)                            |
  49. 00401F3F | DD5D F8                  | fstp qword ptr ss:[ebp-8],st(0)              |
  50. 00401F42 | 8D45 F7                  | lea eax,dword ptr ss:[ebp-9]                 |
  51. 00401F45 | FE00                     | inc byte ptr ds:[eax]                        |
  52. 00401F47 | E9 6FFFFFFF              | jmp app8.401EBB                              |
  53. 00401F4C | DD45 F8                  | fld st(0),qword ptr ss:[ebp-8]               |
  54. 00401F4F | DD05 48104400            | fld st(0),qword ptr ds:[441048]              |
  55. 00401F55 | DAE9                     | fucompp                                      |
  56. 00401F57 | DFE0                     | fnstsw ax                                    |
  57. 00401F59 | 9E                       | sahf                                         |
  58. 00401F5A | 0F94C0                   | sete al                                      |
  59. 00401F5D | 0F9BC2                   | setnp dl                                     |
  60. 00401F60 | 20D0                     | and al,dl                                    |
  61. 00401F62 | 0FB6C0                   | movzx eax,al                                 |
  62. 00401F65 | C9                       | leave                                        |
  63. 00401F66 | C3                       | ret                                          |
  64.  
  65.  



no me queda otra opción creo que tengo que hacer un algoritmo para imprimir todos los números que sumen 522 desde el 1 al 90.....revertir el salto es fácil pero creo que ese no es el chiste

Saludos Flamer
« Última modificación: 8 Mayo 2019, 18:47 pm por Flamer » En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

Geovane

Desconectado Desconectado

Mensajes: 207



Ver Perfil
Re: ayuda con el crackme 8 de enigmagroup
« Respuesta #4 en: 8 Mayo 2019, 22:26 pm »

Atualizei adiante.
« Última modificación: 11 Mayo 2019, 23:58 pm por Geovane » En línea

Para servicios, envíe un mensaje privado, sólo para servicios en curso hasta fecha de 10/06/2019
Flamer


Desconectado Desconectado

Mensajes: 1.052


crack, crack y mas crack...


Ver Perfil WWW
Re: ayuda con el crackme 8 de enigmagroup
« Respuesta #5 en: 8 Mayo 2019, 23:50 pm »

Ola, encontré, aquí es el punto de oro.

Una sugerencia
Saludos.



https://screenshot.net/pt/9x161uz

si ingreso eso de serial en la primera fase me da 680 y tiene que ser 522 no cumple la condicion

y en la segunda fase me da lo siguiente



no cumple tampoco....a lo cual no es el serial tampoco

saludos y gracias por intentarlo

MOD: Imagen adaptada a lo permitido.
« Última modificación: 9 Mayo 2019, 15:02 pm por MCKSys Argentina » En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.513


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: ayuda con el crackme 8 de enigmagroup
« Respuesta #6 en: 9 Mayo 2019, 01:22 am »

Con 9 "Z" (ZZZZZZZZZ) cumples la 1era condicion. Lo encontre haciendo (522 / 9) + 32 = 90 (Z).
Si lo haces por 8, te da con decimal.

La segunda condicion no la cumple, pero ves que ese valor es mucho mas grande que el que quieres comparar.

Para un bruteforcer, deberias evaluar que la proporcion de los caracteres que vas probando, sea la correcta. Por ejemplo, si pruebas con 9 chars, por cada char menos a 90, vas a tener que compensar lo que le falte para llegar. Sinó, no pasarás la sumatoria.

Sacando conclusiones rapidamente, el serial valido tiene 8 o 9 chars.

Saludos!
En línea

MCKSys Argentina

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

Flamer


Desconectado Desconectado

Mensajes: 1.052


crack, crack y mas crack...


Ver Perfil WWW
Re: ayuda con el crackme 8 de enigmagroup
« Respuesta #7 en: 9 Mayo 2019, 03:21 am »

Con 9 "Z" (ZZZZZZZZZ) cumples la 1era condicion. Lo encontre haciendo (522 / 9) + 32 = 90 (Z).
Si lo haces por 8, te da con decimal.

La segunda condicion no la cumple, pero ves que ese valor es mucho mas grande que el que quieres comparar.

Para un bruteforcer, deberias evaluar que la proporcion de los caracteres que vas probando, sea la correcta. Por ejemplo, si pruebas con 9 chars, por cada char menos a 90, vas a tener que compensar lo que le falte para llegar. Sinó, no pasarás la sumatoria.

Sacando conclusiones rapidamente, el serial valido tiene 8 o 9 chars.

Saludos!

Ni loco me pongo a crear un brute force de 8 a 9 dígitos tardaría mucho intentar clave por clave.......el programa que quiero hacer que estoy haciendo mejor dicho... me imprimiría si acaso menos de 3000 contraseñas según yo si mis cálculos no están mal..... es el siguiente pero lo haremos con cifras menores para que me entiendan

para obtener todos los números que sumen 8 usando los digitos del 1 al 5 serian estos

11111111
2111111
311111
41111
5111

221111
23111
2411
251
22211
2231
224
2222
2321
233
242

32111
3311
341
35
3221
323
332

4211
431
44
422

521
53


ese es un ejemplo pero lo quiero hacer con 522 usando los números del 1 al 90 y ya después verificamos cual serial es el que cumple las 2 condiciones
« Última modificación: 9 Mayo 2019, 03:22 am por Flamer » En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

Geovane

Desconectado Desconectado

Mensajes: 207



Ver Perfil
Re: ayuda con el crackme 8 de enigmagroup
« Respuesta #8 en: 11 Mayo 2019, 23:57 pm »

Solución parcial 2 de 3

La contraseña pasa por 3 comprobaciones
https://1drv.ms/u/s!Atrdu75vJCB1iCBeRgvNqBTNTA1M

prueba 1, igual o mayor que 8 Bytes

prueba 2, suma.    Nuevo valor = N  X= resultado   >   X=X+(N+10)
suma valor del nuevo byte + 10, ejemplo:
55000000000000000000000000000000

Byte  Value
01    15
02    2A
...........
..........   Finalmente en el último byte, última suma, necesita 0x20A, entonces será True
https://1drv.ms/u/s!Atrdu75vJCB1iCE1_jFEtAJIGntE

Falta prueba 3, trabaja con datos del coprocesador.
https://1drv.ms/u/s!Atrdu75vJCB1iB-WmvQcjnQ08QZ_

Si nadie resuelve, edito el resultado aquí.
Saludos
« Última modificación: 12 Mayo 2019, 00:00 am por Geovane » En línea

Para servicios, envíe un mensaje privado, sólo para servicios en curso hasta fecha de 10/06/2019
Flamer


Desconectado Desconectado

Mensajes: 1.052


crack, crack y mas crack...


Ver Perfil WWW
Re: ayuda con el crackme 8 de enigmagroup
« Respuesta #9 en: 14 Mayo 2019, 05:38 am »

Espero tu serial?
En línea

Mi Canal De Youtube y Blog

https://elblogdeflamer.blogspot.com

Páginas: [1] 2 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Os dejo un crackme, mi primer crackme ^^ « 1 2 »
Ingeniería Inversa
frankener1986 14 13,632 Ú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 19,725 Último mensaje 18 Enero 2013, 20:48 pm
por SITEA
[CRACKME] Crackme 4 por MCKSys Argentina « 1 2 »
Ingeniería Inversa
MCKSys Argentina 14 13,801 Último mensaje 6 Diciembre 2011, 02:46 am
por PeterPunk77
[Planificación] Concurso Tu Crackme Contra Mi Mejor Crackme
Ingeniería Inversa
Flamer 6 4,565 Último mensaje 17 Abril 2016, 03:45 am
por Flamer
Resolviendo El Crackme 3 De EnigmaGroup Con IDA-Pro
Ingeniería Inversa
Flamer 0 5,192 Último mensaje 6 Mayo 2017, 05:10 am
por Flamer
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines