Empenzando y con muchas dudas

Iniciado por ziqabo, 11 Marzo 2009, 15:18 PM

0 Miembros y 2 Visitantes están viendo este tema.

ziqabo

Hola a todos, hace tiempo que voy leyendo los post para intentar entender un poco como va esto dela ingenieria inversa, he leido algunos tutoriales y todo esta mas o menos claro, pero tengo un programa antiguo que me gustaria revertir que me tiene loco. Este software tiene la peculiaridad de obtener la licencia de varios modos. 1º Mediante una tarjeta de viedo especial, 2º mediante un fichero con el key, 3º mediante la conexion a un servidor de desarrollo, y no se si alguna mas. Esto lo he sacado del Oly por los diferentes mensajes que devuelve. Si no obtiene la licencia el software arranca pero a los 20 segundos empieza a minimizar la imagen y a moverla por la pantalla. Con el RDG he optenido esto:

Compiler: Microsoft Visual C++ 6.0
Detected: UPX (Advanced UPX scrambler)

Luego en CryptoDetector:
MD5 % offset 0x6E8CE
RIJNDAEL [Encriptacion] % offset 0x2aff8
DES [Encriptacion] % offset 0x305881
SHA-1 [Compresion] % offset 0x6e4f2

Algoritmos detectados 4

Bueno a ver que me podeis decir, no se pordonde tirar.

Mil Gracias. Alberto.


karmany

Bueno, lo primero de todo yo te recomiendo que desempaques UPX que es muy sencillo.
Léete este tutorial:
Desempacar UPX para Newbies por Shaddy

ziqabo

Ok, voy a intentarlo y ya os comentare, muchas gracias.

Alberto.

ziqabo

Hola de nuevo, ahora me surge un dilema, si ejecuto el rdg packet detector 0.5.6 que viene con el crackkit me dice que tiene UPX perooooooooo si lo abro con el 0.6.6 que he descargado me dice que no tiene nada, ¿a cual hago caso?, si no tuviera UPX cual seria el siguiente paso?, entiendo que deberia ser la localizacion de la validacion por hardware encontrado, osea que tiene la tarjeta de video correcta, la creacion de un fichero o key idonea y descarto la comprobacion por conexion a servidor, ya que he leido que es lo mas dificil. Con respecto al fichero con la key tengo un key de otro ordenador que es el siguiente: s:10ad2f91-r:4.1-g:e0890091 
Como esta licencia es solo para un equipo entiendo que saca de la configuracion hardware algo para saber cual es cada equipo, como el serial number del disco duro, luego haciendo un debug del programa con oly vi como separaba de ese key las dos partes despues de s: y g: y las comparaba con algo, hice una prueba, como buen novato que soy y que no sirvio de nada, donde entra a comprobar este serial encontre un salto condicional, lo modifique y el resultado fue que no aparece el  "No tiene licencia", el programa arranca pero a los 20 segundos se pone en mnodo demo. El programa es en modo consola y hace un full screen al iniciarse, si se minimiza da un error y se para, digo esto por que es un coñññazo el ejecutarlo, ejejejejej para el debug....

La pregunta: Cual es el sigueinte paso?
Mil gracias, Alberto.

KJD

que tal ziqabo, creo que te has contestado la pregunta a ti mismo, si no tiene UPX lo habres en Olly y si no te aparece un mensaje dicendo que no encuentra el oep o que esta fuera de la sección de codigo, el programa no esta paquetao.

Ahora, has encontrado el salto condicional que quita la NAG (asi se llama a las ventanas de recordatorio de demo o trial) , fijate en ese salto si compara algun valor de registro como EAX con alguna pocicion de memoria, de ser asi anota esa pocicion de memoria y fijate si hay mas comparaciones en otros lados del programa, casi siempre se usa una pocicion de memoria para saber si estas registrado o no asignandole un valor.

Si esto se te complica mucho, trata de ver como el programa interrumpe su funcionamiento a los 20 segundos, fijate si el programa hace algo antes de minimizarce, si cambia el titulo a demo o algo por el estilo y despues traceas.
"Solo hay 10 tipos personas que saben leer binario, los que si y los que no"

"Keyboard not Found, press F1 To Continue" WTF???

ziqabo

Hola KJD, gracias por responder. Bueno este programa se ejecuta por consola por lo que no tiene ventanas, lo que he encontrado es un texto donde pone que no tiene licencia. Este programa no tiene ventana de windows y cuando se ejecuta se maximiza, es un sistema visual. Cuando se cumple el tiempo de demo los que hace es que en la pantalla que por ejemplo es de 1024x768 se convierte en 300x300 y el resto de la pantalla en negro, luego empieza a moverse por la pantalla con el fondo en negro. No tiene ningun formulario ni ventanas lo comprobe con el Resource Hacker. CUando hago el debug lee un fichero que tengo con otra licencia que no es para este equipo, veo donde lee el fichero pero en un momento dado salta al mensaje de key erroneo, he intentado ir para atras para ver donde hace la comprobacion pero no encuentro nada. Estoy mas perdio......... ejjeejejje bueno siempre los inicios son dificiles....

Un saludo y mil gracias. Alberto.

KJD

#6
Interesante proteccion la de este programa. Una consulta el programa en que lenguaje esta echo??

Intenta lo siguiente, fijate en la rutina que lee el fichero, si hay un salto despues de comprar los datos extraidos, cambia este salto a ver si no aparece el mensaje de trial.

Tambien podrias intentar encontrar la rutina que cambia de tamaño la ventana o que la mueve, o ver si hay un contador de 20 segundos o algopor el estilo.

Sube el archivo a rapidshare o megaupload, o dinos de donde bajarlo, eso si no pongas en ningun lado el nombre del programa, si es una web del programa mandala por privado.
"Solo hay 10 tipos personas que saben leer binario, los que si y los que no"

"Keyboard not Found, press F1 To Continue" WTF???