Hola a todos, éste es mi primer mensaje en este foro... varios usuarios me comentaron por privado: "tú sabes programar bastante, seguro que tus crackme's son complicados..." así que con éste comentario decidí programar mi primer crackme para vosotros:
(http://img83.imageshack.us/img83/7481/madcrackxo5.jpg)
Programado en
VB6Ejecutable
empacado (se escribe así, no?)
Ejecutable
protegido: Tiene 2 métodos de protección anti-debug
Dificultad:
fácil------------------------------
Este crackme es del tipo:
KeyFile-crackme. Necesitas crear un fichero en la misma raíz del crackme para registrarlo. Es parecido al método que Kaspersky utiliza con su keyfile, pero en éste caso el keyfile sólo tiene que estar en la misma carpeta del ejecutable.
Hay 2 formas para completar este crackme
Método 1: Parchear el ejecutable para que acepte cualquier keyfile (o sencillamente hacerlo funcionar sin keyfile)
Método 2: Encontrar el KeyFile correcto, sin parchear ni modificar el ejecutable
Evidentemente, el segundo método tiene más mérito, los usuarios que completen éste crackme pondré su nick al final y pondré si lo han resuelto por el método 1, 2 o los dos.
Usuarios que lo han resuelto:
- karmany: Método 2 -> Lo ha resuelto sin parchear el ejecutable!!
El crackme está adjunto al final de este primer mensaje, sólo visible a los usuarios registrados
Para que se entienda mejor, una foto con el crackme resuelto por el método 2:
(http://img301.imageshack.us/img301/7407/respuestayt5.jpg)
El ejecutable está sin modificar, y se ha hallado el nombre correcto del keyfile con su contenido correcto, convirtiendo el cuadro en color verde.
Ojo, la foto es un ejemplo, el keyfile correcto no se llama "filekey"
Otra pista, el crackme tiene 2 protecciones activas, una de ellas conocidas por todos vosotros, la otra función es casera (programada por mi), a ver si os la saltáis!! xD (No le gusta demasiado el Ollydbg a mi crackme...) Os recomiendo que lo probéis con el Antivirus deshabilitado, mi protección es algo agresiva y algunos antivirus finalizan la ejecución del propio crackme.exe
Podéis estar tranquilos que el ejecutable no modifica en ningún momento vuestro sistema.
;)
Qué sorpresa. MadAntrax...
Cierto, buen programador, yo he visto algunas aportaciones que has hecho en elhacker.
Bueno, yo te prometo que le echaré un vistazo cuando pueda.
Ahora no puedo descargarlo.
Un saludo
karmany
saludos, creeme que ollydbg encuentra 2 cosas interesantes, antes de comenzar todo
desempacar un upx relativamente y quizas tenga alguna funcion que es comun.., no dare mayor detalle hasta ejecutarlo
ahora consejo para quienes lo vean es un vb que tiene similitud de ser vb-pcode
y que usa scripts de vbs
a mi me aparece
---------------------------
Proyecto1
---------------------------
Run-time error '429':
ActiveX component can't create object
---------------------------
Aceptar
---------------------------
eso debe pasar porque quizas hace referencia a un vbs
CreateObject("scripting.filesystemobject"
pero bueno, intentare en la semana encontrar un S.O con mas privilegios
Call splet()
DoEvents
Check_KeyFile()
Exit Sub
por lo demas el clsCRC es puro algoritmo de conversiones y todo eso
creo que no tendre tiempo de verlo pero
OpenProcess
Process32Next
No es problema para el olly , con plugins
saludos Apuromafo
y mis felicidades al programador
verde /color;green
Shape1.Backcolor = RGB(CInt(crypt("1")), CInt(crypt("344")), CInt(crypt("1")))
rojo /color;red
Shape1.Backcolor = RGB(CInt(crypt("344")), CInt(crypt("1")), CInt(crypt("1")))
saludos y creeme que este es solo el primer paso para el metodo 1
aun veo si ese xor sera el metodo 2
pero para el 2 tb influye el
Hex(CVar("edoc***" & StrReverse))
If (var_100 = crypt("2@G8***"))
coloque 3 asteriscos ademas..
y aun nisiquiera se ejecuta en mi pc
saludos Apuromafo
lo baje hoy sabado 30/08
veamos si mañana lo veo en otro S.O.
espero este mini apunte sea util para quien tenga animos de resolverlo por el metodo 1
Cita de: apuromafo en 30 Agosto 2008, 20:49 PM
Run-time error '429':
ActiveX component can't create object
eso debe pasar porque quizas hace referencia a un vbs
CreateObject("scripting.filesystemobject"
Desde que SO lo estas ejecutando? Cualquier Windows ha de poder crear el objeto: Scripting.FileSystemObject ... :S Si utilizas Vista... desactiva UAC o eleva privilegios de Admin.
Por cierto, vas muy bien encaminado, el
método 1 (parchear el fichero) lo sacarás seguro, anímate con el
método 2Saludos!! :)
mi windows es una variante de suricata
con bloqueo de wscript y bat script y autorun.inf sin permisos de crss y algunas mas
no existe windows como este, pues esta alterado para mi uso y evitar cualquier troyano desconocido que moleste cuando estoy en estudios
ahora solo comentaba eso, pues solo dedico al cracking o ingenieria inversa unos 3 minutos y despues sigo con mis tareas y trabajos que son larguisimos
ahora bien, es un XP sp2
pero de ahi me cambio de S.O para acceder a este..
aunque no lo creas como el pc de Apuromafo no hay..
Bueno, yo he conseguido de momento crackearlo.
No voy a hacer el "crack" porque hay que evitar unas cuantas comparaciones (CRC etc...) y quedaría muy "feo" para mi gusto, así que voy a examinar el "keyfile" a ver si lo consigo.
PD. Odio el P-Code.
Cita de: karmany en 1 Septiembre 2008, 07:36 AM
PD. Odio el P-Code.
Jejejeje, realmente no es un P-Code... son 2 P-Code. Mirar en un editor hexadecimal y buscar el string: {UPX#!
Justo después de ese string encontrareis otro ejecutable.... (¿será una pista? xD)
Saludos!!
Cita de: ||MadAntrax|| en 1 Septiembre 2008, 09:20 AM
Mirar en un editor hexadecimal y buscar el string: {UPX#!
Sí ya lo vi, porque aunque odio los P-Code, una de las desventajas que tiene trabajar con opcodes es que cuando "traduces" esos opcodes obtienes todo el código que tú has utilizado.
Por ejemplo, yo he desempacado UPX solamente para analizar tu programa y he utilizado VB Decompiler Lite y sale todo lo que has utilizado. Incluso a las funciones las has llamado de forma entendible: clsCRC, add_bytes, check_Keyfile etc... sólo es cuestión de seguir analizando un poco.
PD. Me está gustando mucho la forma en que lo has programado. Aunque no parece muy difícil, es una protección muy interesante. Buen trabajo, aunque no tengo tiempo seguiré analizándolo. Recomendado a todo usuario que quiera aprender.
Cita de: karmany en 1 Septiembre 2008, 10:19 AM
PD. Me está gustando mucho la forma en que lo has programado. Aunque no parece muy difícil, es una protección muy interesante. Buen trabajo, aunque no tengo tiempo seguiré analizándolo. Recomendado a todo usuario que quiera aprender.
Gracias por los comentarios, estoy preparando la segunda versión del CrackMe que será del tipo:
Multi-CrackMe, es decir:
- NAG Screen
- KeyFile
- Nombre de Usuario y Password
- Habilitar Controles
- y alguna sorpresa más...
Para hacerlo más dirvetido, simularé un
entorno real de aplicación, es decir, un ejecutable con sus librerias, DLL's y controles ActiveX programados por mi :)
Para rematar, usaré
CactusMetamorph para modificar el binario y evitar que lo decompileis con VB Decompiler o similares... espero que salga bien mi idea y disfruteis crackeando
Saludos!! (este crackme ya casi lo teneis solucionado!!)
Le eché un vistazo ayer y vi que no era un vb normal, así que de momento, hasta que que no aprenda más sobre estructura de programas en vb, no intentaré siquiera resolverlo. En fin, este post inútil es para agradecerte el aporte.
Ayer tuve tiempo de echarle un vistazo y primeramente quiero decirte MadAntrax que me has sorprendido muchísimo. ¿Quién iba a pensar que desde VB pudieses hacer tal cosa? muy bien.
Ya he destripado el crackme MadCrack y ya sé cómo analiza el "filekey" y cuál es el algoritmo para que sea correcto. Aún me quedan algunas lagunas por descubrir pero bueno...
Como has hecho una tabla tan grande (tú ya sabes a qué me refiero) tengo que hacer Fuerza Bruta y ahora cuando tenga tiempo estoy creando en ensamblador un programa que encuentre por Fuerza Bruta un keyfile correcto. Espero que no hayas puesto muchos caracteres o espero encontrar cualquier keyfile correcto. Sólamente voy a utilizar en principio caracteres desde 20h (espacio) hasta 7A (Z mayúscula). Veré si va rápido.
Un saludo
karmany
Cita de: karmany en 4 Septiembre 2008, 07:15 AM
Espero que no hayas puesto muchos caracteres o espero encontrar cualquier keyfile correcto. Sólamente voy a utilizar en principio caracteres desde 20h (espacio) hasta 7A (Z mayúscula). Veré si va rápido.
Vas bien encaminado, el keyfile es de pocos caracteres. Pero yo de ti ampliaría la búsqueda desde Ascii 0 hasta el Ascii 255
Saludos y felicidades...
Bueno conseguí (si no me equivoco) crear un filekey correcto.
Yo sólo he necesitado 4 caracteres, así que es asequible por fuerza bruta.
Para los que quieran analizarlo, recomiendo descomprimir el UPX solamente para analizarlo por ej. con VB Decompiler Lite o con P32Dasm. Después cargar el original crackme en el OllyDBG e ir poniendo Breakpoints en los offsets que se crea convenientes... poco a poco ya que requiere mucho análisis
Un saludo
PD. Como lo que yo quiero es que la gente aprenda, dejaremos un tiempo este programa para que la gente lo intente resolver y sino sacaré tiempo para hacer un pequeño tute de cómo lo he resuelto y también mostraré el programa que he hecho en ASM para Fuerza Bruta.
Jod....
hace 60 días xd , bueno intetaré resolverlo y saludos te quedo buenisimo!!!