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] ¿Imposible?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Crackme] ¿Imposible?  (Leído 5,181 veces)
Høl¥

Desconectado Desconectado

Mensajes: 100


Ver Perfil
[Crackme] ¿Imposible?
« en: 12 Agosto 2010, 20:39 pm »

Hola a todos de nuevo.

He abierto este post porque hoy me surgio una duda existencial.

Explicacion:

Resulta que pense en una proteccion que fuera imposible para el cracker, y creo
que he logrado algo similar (o al menos eso creo).

Imaginense un software que un programador ha hecho, y el tiene una tool que cifra todo el codigo del software menos la 1º funcion con una llave (el serial).

El software al iniciarse aparece en la 1º funcion (no cifrada) que se encarga de tomar la llave(el serial) de un archivo y descifrar todo el codigo del software.

Ahora bien, si nosotros no tenemos el serial valido, no se desencriptara el codigo del programa, tampoco se puede parchear porque no hay saltos, ¿entonces como podemos buscar el serial valido?

He pensado en fuerza bruta (brute-forcing) pero ¿a que le haces fuerza bruta?

Es decir, si no tienes el serial valido vas directo al codigo cifrado, y por tanto te saldran excepciones por todos lados, por lo que crashea el programa.

Quizas haciendo tu propio manejador de excepciones y cada vez que salte una excepcion vaya al manejador de excepciones y de ahi vas otra vez al brute-forcer.

Pero es que aun asi de nada serviria ya que tambien existirian distintas posibilidades, es decir, distintas llaves que den un codigo que no crashee, por lo que el brute-forcer tampoco serviria para nada :S.

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

Espero que hayais entendido el parrafazo que acabo de hacer xD.

He hecho un crackme que en realidad no tengo intencion de que lo crackeen, si no mas bien un reflejo del parrafazo de arriba, asi lo pueden entender mejor.

Descarga:

http://www.mediafire.com/?3yb79z12t8dkqif

Porfavor, necesito que me expliquen si es posible crackear una proteccion de este tipo, y si es asi como.

De otra forma, si no es posible crackearlo, ¿por que las grandes empresas no utilizan protecciones de este tipo? Ya se que en cuanto saquen el serial les servira para todos, pero tambien se podria mejorar con packers y una proteccion por HWID.
« Última modificación: 12 Agosto 2010, 20:46 pm por Høl¥ » En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: [Crackme] ¿Imposible?
« Respuesta #1 en: 12 Agosto 2010, 22:34 pm »

Hola!

El problema consiste en cuanta gente usara el soft. Si es mucha, creo que solo venderas 1 o 2 licencias.

Una vez que se consiga un archivo "llave" y desencripte el codigo del programa, solo queda dumpear el EXE y anular la "primera funcion". Y con eso, estas en el horno.

Por otro lado, tambien puede analizarse la rutina de encriptacion. Dependiendo de la misma, puede (o no ) haber vulnerabilidades...

Piensa que lo que estas tratando de hacer, es algo parecido a las famosas "dongles" o llaves por hardware. Y a esas, tambien se las puede crackear!  :P

Espero haberte ayudado...

Saludos!
En línea

MCKSys Argentina

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

apuromafo CLS


Desconectado Desconectado

Mensajes: 1.441



Ver Perfil WWW
Re: [Crackme] ¿Imposible?
« Respuesta #2 en: 12 Agosto 2010, 23:12 pm »

te comento algo real, conoces Armadillo?
eso es la evolucion de todo lo que estas diciendo, cada version de armadillo es diferente, pero la practica es la misma
tengo un programa que sin llave no puede correr, con 1 llave demo dura 10 dias
con 1 llave y un unpacker =desempacado =sin proteccion

ahora bien normalmente se hace bp de acceso en los dialogos y se rastrea donde compara o donde cifra o descifra..

lo mismo pasa en los dongles, pero la diferencia es que dongle, ejecuta dll con servicios que buscan ciertos parametros verdaderos y falsos, y termina siendo casi igual que la anterior
descifrar el servicio con su llave, llega al oep y unpacked.

si vemos themida, ejecuta un driver, luego chequea centenas de cosas, y luego verifica si es registrado o no
si es registrado, pasa ok, si no es registrado nag y todo lo demas

asprotect, y obsidium, entre otras lo mismo, una llave con encriptacion, que llega a ser dificil de desproteger, pero no descifrar el archivo real. aunque no tengas llave, puede intentar, pero tardaras por la virtualizacion de codigo


execryptor puede ser crackeado, pero no hay entendimiento completo de todo el algoritmo, porque las llaves no son suficientes para desencriptarse, y por ende aunque desempaques igual tienes el execryptor ahi..

zprotect y otras idem..hiw+virtualizacion y luego unpacked y nada..

voy a bajar el exe, pero no aseguro nada..

saludos Apuromafo
En línea

Apuromafo
Høl¥

Desconectado Desconectado

Mensajes: 100


Ver Perfil
Re: [Crackme] ¿Imposible?
« Respuesta #3 en: 14 Agosto 2010, 00:01 am »

Muchas gracias a los dos por la info :D
No sabia que ya habian aplicado ideas parecidas, si es que...cada dia
se aprende algo nuevo ^^.
En línea

jackgris

Desconectado Desconectado

Mensajes: 149



Ver Perfil
Re: [Crackme] ¿Imposible?
« Respuesta #4 en: 14 Agosto 2010, 00:42 am »

Que buena respuesta apuromafo
En línea

apuromafo CLS


Desconectado Desconectado

Mensajes: 1.441



Ver Perfil WWW
Re: [Crackme] ¿Imposible?
« Respuesta #5 en: 15 Agosto 2010, 21:30 pm »

creo que deberia ser imposible, segun reviso, es un bloque que se realiza un xor con la palabra ingresada, pudiendo escribir lo que se quiera

cual seria el objetivo, descifrar o crear lo que uno quiera? hace un tiempo hubo un reto similar que se llamaba f7 crackme,. y al final paso eso,
tambien paso en un crackme llamado pushme y otros reverseme

porque comienza en un codigo  que uno mismo puede crear.. y termina en ret.

en este caso al igual que IDA (la licencia)
es saber, cuales son los codigos que quieres crear y te dire la llave que realizaras el xor..

si fuera con 1 sola llave, bastaria cryptool, si fuera 1 dword o mas , podria ser posible, pero igual de todas las posibilidades en ese bloque, es como grande

los crackmes educativos para esto, para mi fueron HSN un unpackme, el cual usaba add y sub al,bl

el otro crackme fue el seven, eight , no recuerdo del origen pero si fue dificil encontrar el DWORD correcto, se uso 1 llave para descifrar el bloque mas comun y lo demas crearlo a como uno queria...

saludos Apuromafo
En línea

Apuromafo
karmany
Moderador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: [Crackme] ¿Imposible?
« Respuesta #6 en: 17 Agosto 2010, 16:29 pm »

Además fíjate una cosa: tendrás que hacer un programa demo aparte si quieres que la gente lo testee y eso con cada versión nueva que saques, también si un cracker encuentra la contraseña símplemente con descifrar todo ya lo tiene límpio. Recuerda los nanomites de armadillo, que encriptan y desencriptan.

Yo creo que las protecciones de software están muy estudiadas y todas tienen sus pros y sus contras.
Yo he conocido algún programa como lo que quieres hacer, que sólo lo utilizan unas pocas personas y para crackearlo se necesita obligatoriamente el serial porque la fuerza bruta es practicamente imposible con mi ordenador.

En línea

Yurix

Desconectado Desconectado

Mensajes: 72


Paz para la guerra y guerra por la paz


Ver Perfil
Re: [Crackme] ¿Imposible?
« Respuesta #7 en: 26 Agosto 2010, 17:56 pm »


Bueno , en teoria se pudiera optimizar la fuerza bruta para que sea mas rapida , si lo que dice Apuromafo es verdad :

"segun reviso, es un bloque que se realiza un xor con la palabra ingresada, pudiendo escribir lo que se quiera"

Se pudiera probar muchas cosas , se pudiera montar un Handle de excepciones e intenar descifrar los primeros 20 o 15 bytes y ejecutar ese codigo , si el codigo "descifrado" se manda a ejecutar y la clave es incorrecta , no se debe avanzar mucho en la ejecucion y se saltara con una excepcion , despues la excepcion (por ejemplo , de codigo incorrecto) se le busca el offset donde salto el error , si esta en el mismo inicio se descarta.

Tambien se pueden descifrar una pequeña porcion de codigo y buscar Numeros Hexadecimales de instrucciones de ASm como un CALL + una direccion que seguro tiene un 00 etc ..

No es imposible.

Saludos

Yuri Grille


En línea



http://kapetres.wordpress.com/ < Mi blog sobre ASM

Parece que alguien no quiere que la info sea liebre >

Alguien lo movio a ese lugar.
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: [Crackme] ¿Imposible?
« Respuesta #8 en: 26 Agosto 2010, 19:40 pm »

"If it runs, it can be defeated"

+ORC

PD: Pienso lo mismo  ;D
En línea

MCKSys Argentina

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

Yurix

Desconectado Desconectado

Mensajes: 72


Paz para la guerra y guerra por la paz


Ver Perfil
Re: [Crackme] ¿Imposible?
« Respuesta #9 en: 26 Agosto 2010, 19:46 pm »


Gracias por penzar lo mismo , estamos en sincraknia  ;-)
En línea



http://kapetres.wordpress.com/ < Mi blog sobre ASM

Parece que alguien no quiere que la info sea liebre >

Alguien lo movio a ese lugar.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines