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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Desempaquetando Enigma (versión personalizada / moddeada)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Desempaquetando Enigma (versión personalizada / moddeada)  (Leído 7,881 veces)
Shout

Desconectado Desconectado

Mensajes: 191


Acid


Ver Perfil
Desempaquetando Enigma (versión personalizada / moddeada)
« en: 10 Febrero 2015, 23:34 pm »

Buenas!

Un amigo me pasó un ejecutable que está empaquetado con Enigma, y estoy intentando desempaquetarlo para practicar.

Estoy usando Olly 1.10 con StrongOD y Phant0m; así no me detecta el anti-debug.

Sin embargo, al buscar información en internet (soy bastante nuevo desempaquetando), lo único que encontré fue cómo desempaquetar Enigma 4.10, pero es que la versión usada en este ejecutable es Enigma moddeado, por lo tanto, aún si me miro el vídeo, no me servirá de mucho.

El ejecutable es, básicamente, un loader con dos inputs (name / serial).
Al clickear en "Register license", sale una ventana (CreateWindowExA), y te dice que es incorrecto, y se cierra.

Obviamente, strings no hay.

Mi progreso:
no mucho, la verdad. he puesto un breakpoint en CreateWindowExA y me fijo en el stack para ver quién lo llama, y he encontrado el WndProc, pero de ahí no estoy seguro de cómo puedo encontrar la función que se encarga de comprobar el serial.
he mirado, pero parece ser que no puedo diferenciar el código que decide si decir si el serial está bien o no (o quién sabe, a lo mejor no sale un dialog cuando está bien...)

Tampoco puedo fijarme en la función que comprueba el serial y hacer un keygen, ya que esa está virtualizada, y hasta ahora no he trabajado con máquinas virtuales...

En otras palabras:
esta es la primera vez que hago unpack de algo, hasta ahora siempre he hecho análisis estático, y alguna idea de hacia donde ir me vendría muy bien. :P

Gracias!
En línea

I'll bring you death and pestilence, I'll bring you down on my own
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.518


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Desempaquetando Enigma (versión personalizada / moddeada)
« Respuesta #1 en: 11 Febrero 2015, 00:59 am »

Hola!

Revisa este link.

Saludos!
En línea

MCKSys Argentina

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

Shout

Desconectado Desconectado

Mensajes: 191


Acid


Ver Perfil
Re: Desempaquetando Enigma (versión personalizada / moddeada)
« Respuesta #2 en: 11 Febrero 2015, 02:21 am »

Hola!

Revisa este link.

Saludos!
Gracias, pero...

...lo que me gustaría saber es cómo puedo, por ejemplo, encontrar el callback cuando clickeas el botón de registrar.
Me pierdo en el WndProc, ya que se supone que debe de haber una referencia a éste en  la función que lo asigna, pero Olly no encuentra nada... (CTRL+R)

La verdad es que no he hecho mucho live debugging, y me parece que me faltan ideas.

A parte de ir a saco y quitar la VM completamente, qué otra cosa podría hacer?

Mientras, iré revisando el código, parece ser una burrada, en el buen sentido.  ;-)
En línea

I'll bring you death and pestilence, I'll bring you down on my own
tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Desempaquetando Enigma (versión personalizada / moddeada)
« Respuesta #3 en: 11 Febrero 2015, 03:14 am »

pues sin sacar el packer, podrías cuando pone el msj de incorrecto pausar con F12 Alt F9 y dar click en el msj de incorrecto para ver a donde vuelve
En línea

Shout

Desconectado Desconectado

Mensajes: 191


Acid


Ver Perfil
Re: Desempaquetando Enigma (versión personalizada / moddeada)
« Respuesta #4 en: 11 Febrero 2015, 15:13 pm »

pues sin sacar el packer, podrías cuando pone el msj de incorrecto pausar con F12 Alt F9 y dar click en el msj de incorrecto para ver a donde vuelve
es que no es tan fácil, miro a dónde devuelve pero me acaba enviando a código virtualizado, y es que ahí ya no puedo hacer nada sin quitar la VM :/
En línea

I'll bring you death and pestilence, I'll bring you down on my own
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.518


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Desempaquetando Enigma (versión personalizada / moddeada)
« Respuesta #5 en: 11 Febrero 2015, 15:16 pm »

No estoy seguro de que podrás quitar la VM. No conozco las últimas versiones de Enigma, pero, por ej. la VM de VMProtect no puede quitarse.

Podrías buscar los datos que ingresas y ponerle BPs de acceso, a ver si por ese lado puedes encontrar algo.

Saludos!
En línea

MCKSys Argentina

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

Shout

Desconectado Desconectado

Mensajes: 191


Acid


Ver Perfil
Re: Desempaquetando Enigma (versión personalizada / moddeada)
« Respuesta #6 en: 11 Febrero 2015, 16:01 pm »

No estoy seguro de que podrás quitar la VM. No conozco las últimas versiones de Enigma, pero, por ej. la VM de VMProtect no puede quitarse.

Podrías buscar los datos que ingresas y ponerle BPs de acceso, a ver si por ese lado puedes encontrar algo.

Saludos!
cómo que no puede quitarse? significa eso que es imposible de desempaquetar sin crear un devirtualizer como el que has linkeado?

y... el problema con los datos es que si una vez pones la licencia mal, se cierra, y tengo que empezar de nuevo; ahí ya todas las direcciones han cambiado.

lo que sí he intentado es poner el breakpoint en CreateWindowExA, y el programa pausa al poner un serial cualquiera (justo antes de abrir la ventana de "serial inválido"), pero es que para entonces la información ya ha sido usada, y no puedo poner un breakpoint antes, ya que el programa se cierra, y la próxima vez, la dirección de las funciones es diferente.
En línea

I'll bring you death and pestilence, I'll bring you down on my own
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.518


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Desempaquetando Enigma (versión personalizada / moddeada)
« Respuesta #7 en: 12 Febrero 2015, 00:20 am »

cómo que no puede quitarse? significa eso que es imposible de desempaquetar sin crear un devirtualizer como el que has linkeado?

Ojo que dije que la VM de VMProtect no puede quitarse. No conozco la de Enigma.

Los unpacking de VMProtect que tienen VM, meten la VM dentro del unpacked. Por supuesto, la parchean toda para que funcione.
Pero quitar la VM 100% es imposible: no puedes restaurar las instrucciones originales (ni hablar que previamente se ofuscan, se virtualizan y se ofusca la VM!  :xD)

Saludos!
En línea

MCKSys Argentina

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

Shout

Desconectado Desconectado

Mensajes: 191


Acid


Ver Perfil
Re: Desempaquetando Enigma (versión personalizada / moddeada)
« Respuesta #8 en: 12 Febrero 2015, 00:40 am »

Ojo que dije que la VM de VMProtect no puede quitarse. No conozco la de Enigma.

Los unpacking de VMProtect que tienen VM, meten la VM dentro del unpacked. Por supuesto, la parchean toda para que funcione.
Pero quitar la VM 100% es imposible: no puedes restaurar las instrucciones originales (ni hablar que previamente se ofuscan, se virtualizan y se ofusca la VM!  :xD)

Saludos!
pero... qué clase de magia negra es esa?  :huh: :huh:

creía que cualquier ofuscación podía quitarse.

por cierto, no sé si te acuerdas, pero una vez yo puse un 'reto' packeado con enigma, crees que podré usar la misma técnica que tú para desempaquetar lo que ahora estoy intentando? o al menos algo parecido?
En línea

I'll bring you death and pestilence, I'll bring you down on my own
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.518


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Desempaquetando Enigma (versión personalizada / moddeada)
« Respuesta #9 en: 12 Febrero 2015, 00:46 am »

creía que cualquier ofuscación podía quitarse.

Si, pero codigo ofuscado virtualizado es MUY dificil de volver atrás.

por cierto, no sé si te acuerdas, pero una vez yo puse un 'reto' packeado con enigma, crees que podré usar la misma técnica que tú para desempaquetar lo que ahora estoy intentando? o al menos algo parecido?

No recuerdo siquiera cuál fue el reto... Pero, en principio, puedes probar. No pierdes nada.
En línea

MCKSys Argentina

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

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

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Desempaquetando UPX manualmente.
Ingeniería Inversa
Nanocity 3 4,511 Último mensaje 4 Junio 2010, 01:15 am
por Nanocity
The Enigma Protector
Ingeniería Inversa
estebanito 2 4,692 Último mensaje 20 Junio 2010, 08:20 am
por estebanito
Enigma 1.02 Unpackme
Ingeniería Inversa
pertican2010 0 2,162 Último mensaje 1 Enero 2012, 12:51 pm
por pertican2010
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines