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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Safebox Crackme
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Safebox Crackme  (Leído 2,469 veces)
sadfud

Desconectado Desconectado

Mensajes: 25


Ver Perfil WWW
Safebox Crackme
« en: 6 Mayo 2016, 17:26 pm »

Buenas
Vengo a dejar un crackme algo mas innovador de lo que se suele encontrar por ahí, la idea se me ocurrió hace un rato al volver de clase, tenia al lado un chaval jugando a un juego en android con el mismo concepto, aunque estéticamente mucho mas bonito xD

Como se ve en la imagen en este crackme hay que manejar las barras laterales hasta dar con la combinación correcta que abra la caja fuerte.
La idea es interpretar el funcionamiento desde algún debugger, ya que no tiene protección ninguna, lo único que esta limitado a 10 intentos, quizás alguien tenga suerte y lo acierte en esos primeros 10 intentos, aunque hay 100000 posibles combinaciones. Por tanto hay una posibilidad entre 10000 de acertar aleatoriamente. [size=85]Suerte xD.[/size]
Como dato añadir que esta escrito en .net y el código no esta ofuscado.  Ademas los valores aleatorios, que evidentemente oscilan entre 0 y 9 se generan diferentes en cada ejecución.
http://www.mediafire.com/download/unswaz6tj2isat7/SafeBox+Crackme.zip
analisis
https://www.virustotal.com/en/file/eabcd80079a217a5c2efbb8bf1afa28981fc152c532eb97e76cfa00532743794/analysis/1462548587/
« Última modificación: 6 Mayo 2016, 17:33 pm por sadfud » En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Safebox Crackme
« Respuesta #1 en: 6 Mayo 2016, 18:17 pm »

Como dato añadir que esta escrito en .net y el código no esta ofuscado.  Ademas los valores aleatorios, que evidentemente oscilan entre 0 y 9 se generan diferentes en cada ejecución.

La verdad, el tema no me cierra: cual es el reto? Adivinar un codigo que nadie va a poder comprobar, ya que cambia con cada ejecucion?

Creo que ese aspecto deberias repensarlo.

Aunque, bueno, es mi opinión...  :P

Saludos!
En línea

MCKSys Argentina

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

ThunderCls


Desconectado Desconectado

Mensajes: 455


Coder | Reverser | Gamer


Ver Perfil WWW
Re: Safebox Crackme
« Respuesta #2 en: 6 Mayo 2016, 20:29 pm »

Ademas de lo que ya ha dicho MCKSys (valores aleatorios como valores de comprobación mmmmm...no, a ver, es impensable usar eso en un sistema de registro en la vida real, así que por lo de innovador...mmm como que no, sin que te lo tomes a mal)
Luego esta el tema de que ademas cometes un error muy grande en el código para generar los cinco valores aleatorios, a ver, usas:

Código
  1. this.numAleatorio1 = new Random();
  2. this.valor1 = this.numAleatorio1.Next(0, 9);
  3. this.numAleatorio2 = new Random();
  4. this.valor2 = this.numAleatorio2.Next(0, 9);
  5. this.numAleatorio3 = new Random();
  6. this.valor3 = this.numAleatorio3.Next(0, 9);
  7. this.numAleatorio4 = new Random();
  8. this.valor4 = this.numAleatorio4.Next(0, 9);
  9. this.numAleatorio5 = new Random();
  10. this.valor5 = this.numAleatorio5.Next(0, 9);

Lo que siempre te dará cinco valores "aleatorios" idénticos, pues estas usando cinco clases Random que daran el mismo numero inicial  :-\. La cosa deberia ser algo como:

Código
  1. int valor1, valor2, valor3, valor4, valor5;
  2. Random numAleatorio;
  3.  
  4. numAleatorio = new Random();
  5. valor1 = numAleatorio.Next(0, 9);
  6. //numAleatorio2 = new Random();
  7. valor2 = numAleatorio.Next(0, 9);
  8. //numAleatorio3 = new Random();
  9. valor3 = numAleatorio.Next(0, 9);
  10. //numAleatorio4 = new Random();
  11. valor4 = numAleatorio.Next(0, 9);
  12. //numAleatorio5 = new Random();
  13. valor5 = numAleatorio.Next(0, 9);

Debido a ese error, la fuerza bruta se hace mas que sencilla, pues solo deberemos probar 10 combinaciones idénticas en los controles hasta dar con la correcta, y ya que recortas la cantidad de intentos a 10, pues en el peor de los casos (valores 9-9-9-9-9), lo solucionaríamos en el ultimo intento :P

Resumiendo, debes pensar bien cuando desees hacer un sistema de registro, el algoritmo o método que utilizas, pues al final puede que crees algo "inviable". Todo repito, con buen rollo, no te tomes a mal las criticas  :rolleyes:
Igual en este caso, aun si se quiere una solución al reto, solo puede crearse un selfkey, no hay mas opciones. En mi caso dejo una versión parchada de tu binario
Saludos y espero que sigas practicando

http://www.mediafire.com/download/2m4edpk8sv88h99/SafeBox_Crackme.SelfKey.rar
« Última modificación: 6 Mayo 2016, 20:34 pm por [ Thunder | CLS ] » 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/
sadfud

Desconectado Desconectado

Mensajes: 25


Ver Perfil WWW
Re: Safebox Crackme
« Respuesta #3 en: 7 Mayo 2016, 21:55 pm »

Noo, para nada me tomo a mal las criticas, todo lo contrario jaja
La verdad que el fallo en el codigo ha sido una mancada, eso me pasa por no comprobar el funcionamiento completo :$
La soluciion para esto que habia pensado en un principio era usar el olly o cualquier debugger y cada vez que se hiciese un intento ver que valores habia comparado el programa y asi se sabrian los valores aleatorios.

Un saludo a ambos!!
En línea

ThunderCls


Desconectado Desconectado

Mensajes: 455


Coder | Reverser | Gamer


Ver Perfil WWW
Re: Safebox Crackme
« Respuesta #4 en: 7 Mayo 2016, 23:09 pm »

La verdad que el fallo en el codigo ha sido una mancada, eso me pasa por no comprobar el funcionamiento completo :$

Hombre eso sí, no te vendría mal depurar antes de liberar jeje, pero igual no te tienes q complicar tanto la vida, VS tiene depurador integrado  ;D
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/
Páginas: [1] 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 12,885 Último mensaje 14 Agosto 2006, 00:59 am
por sircid
[CrackMe] - D-CrackMe by .:WindHack:.
Ingeniería Inversa
.:WindHack:. 3 3,988 Ú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,582 Último mensaje 18 Enero 2013, 20:48 pm
por SITEA
[CRACKME] Crackme 4 por MCKSys Argentina « 1 2 »
Ingeniería Inversa
MCKSys Argentina 14 12,907 Ú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,112 Último mensaje 17 Abril 2016, 03:45 am
por Flamer
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines