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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Temas
Páginas: 1 ... 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [27] 28 29 30 31 32 33 34 35 36 37 38 39
261  Programación / Ingeniería Inversa / [Tutorial]Crack Me 0.2 by Red Mx-Simple packer MEW 1.2 en: 1 Septiembre 2011, 09:54 am
Crack Me 0.2 by Red Mx
Autor: Red Mx
Nombre: Crack Me 0.2
Fecha: 26 de mayo de 2009
Tamaño: 8,44 KB
Compilador y/o Packer: MEW 1.2 / Visual Basic (código nativo)
Objetivos: Conseguir la clave correcta.
Dificultad: 1-2 (1-10).

Realizamos un análisis con RDG Packer Detector:


Notamos que está comprimido con MEW 1.2 intentemos descomprimirlo abramos el crackme con OllyDBG, Nos avisa que está comprimido:


Intentemos buscar el OEP con el método de memory breakpoint on execution, esto se puede hacer a través de de un pluguin o ollydbg parcheado 5:


Presionamos M y colocamos un Memory breakpoint on access en la sección CODE
*En realidad es un MBPX por el pluguin:


Le damos RUN, esperamos un poco y se detiene en 00401210:


removamos el análisis del código y nos quedará:


Dumpeamos con ollydump:


Vamos a reparar la IAT, Nos vamos search->all intermodular call's y buscamos una que apunte a la IAT, en este caso rtcMsgBox:


Le damos doble click y nos aparecerá lo siguiente:


ahora Follow in dump->Memory Address y buscamos el Inicio y el final en la IAT en este caso:
Inicio:00401000
Final:004010C0
Largo:C0

colocamos los datos en ImportREC:


No hay ninguna IAT redireccionada :


presionamos fix dump, seleccionamos el archivo dumpeado previamente por Ollydump, intentemos ver si se ha desempaquetado correctamente:



Funciona de maravilla, ahora intentemos colocar un serial:


Antes de presionar OK nos dirigimos a la sección code y colocamos un Memory Break point on execution (Con el pluguins), ahora le damos OK y se detendrá a continuación:

004025C0   .  816C24 04 3B0>SUB DWORD PTR SS:[ESP+4],3B
004025C8   .  E9 A3050000   JMP dmp_.00402B70

Si seguimos traceando llegaremos hasta el siguiente OP code:


en el cual deberemos cambiar el FLAG S para que salte, debido a que notoriamente se puede visualizar una string que no es conveniente pushear

Si seguimos traceando una vez modificado el flag s llegaremos a un call encargado de devolver la fecha:

en mi caso 01/09/2011, luego de esto elimina los /:


si seguimos traceando pasando por la concatenación de dos series de string muy llamativas y un conjunto de otras operaciones llegaremos a la siguiente call:


si entramos con F7 a la call llegaremos a la siguiente call encargado de revertir la string:


Luego de seguir traceando llegaremos a una comparación a través de __vbaVarTstEq:


Entremos a la call con F7 llegando hasta el push 0, una vez detenidos ahí hacemos click derecho en EAX y presionamos follow in stack y veremos lo siguiente:


esto es comparado con edx (follow in stack) en mi caso UND3R es decir compara:
5642345645648784564156116456456110290104164214614321777407216721791241671010

con

UND3R

__vbaVarTstEq devuelve en EAX un número distinto de 0 si las dos string comparadas son iguales, notaremos que el resultado se dirige a ESI y luego se realiza un TEST SI,SI luego la comparación final JE SHORT en la cual si __vbaVarTstEq devuelve 0 en EAX JE saltará


Probemos con la string comparada:



pero, ¿para qué el crackme obtuvo la fecha?

Recordamos que la fecha en mi caso era: 01/09/2011, luego se eliminaron los /
01092011 luego se concatenó con las string llamativas y luego se revirtió la string:
 
5642345645648784564156116456456110290104164214614321777407216721791241671010

por lo cual lo que está con rojo debería ser la variable del serial del crackme
262  Programación / Ingeniería Inversa / [Tutorial]Crackeando Zen Marketing en: 1 Septiembre 2011, 05:51 am
Zen Marketing
Página:http://plandemarketing.info/  
Descarga:http://plandemarketing.info/descarga-aforcod
Autor:UND3R

Conociendo a el programa:
Abrimos Zen Marketing y nos aparece lo siguiente:


Si introducimos un serial falso u verdadero nos pedirá el segundo serial:

 
Si erramos nos mostrará el siguiente mensaje:


si intentamos nuevamente y volvemos a fallar nos mostrará lo siguiente:


Crackeando:
Atachamos el programa:
File->Attach


Intentemos buscar referencias de texto (*primera imagen):


Se detendrá por primera vez en:


por lo que no nos sirve intentemos de nuevo con find next o Control+L:



Si bajamos un poco veremos lo siguiente:


Sin saber programar notaremos que clave1+clave2=ClaveCompleta y ClaveCompleta=9131174656

por lo que intentemos que de alguna forma clave1+clave2=9131174656

probemos dividiendo 9131174656 en 2:


nos da como resultado: 4565587328
por lo que 4565587328+4565587328=9131174656

una sencilla fórmula, probemos si funcionó:


ya está registrado, por lo que en resumen la suma de los dos serial siempre debe ser: 9131174656

esto demuestra la vulnerabilidad que poseen los ejecutables en memoria virtual

Saludos a todos aquellos que se tomaron el tiempo de leer este tutorial
263  Programación / Ingeniería Inversa / duda ollyscript, saber si saltó o no en: 31 Agosto 2011, 22:02 pm
como puedo hacer para que el script sepa si con un je jne ja,etc saltó o no?

Saludos
264  Programación / Ingeniería Inversa / Api para aumentar el size de un address? en: 31 Agosto 2011, 16:51 pm
Hola a todos, bueno en memoria tengo lo siguiente:
Address size
140000 9000
240000 6000

Por lo que entre 149000 y 240000 hay address faltantes como
150000
160000

con que API se puede agregar?

Saludos
265  Programación / Ingeniería Inversa / duda con VirtualAlloc en: 31 Agosto 2011, 07:23 am
si, tengo una duda, quiero crear una sección virtual en el address 160000 en donde luego pueda introducirle datos, pero no he podido lograrlo no sé que parámetros tengo que pushear. Sí investigué la API pero EAX siempre me devuelve 0000 por lo que la sección no se ha creado, como puedo hacer eso?

Saludos
266  Programación / Ingeniería Inversa / algún pluguins para tracear más rápido? en: 29 Agosto 2011, 17:53 pm
eso, la idea no es usar ollydg 2 alpha no se cuanto, si no seguir usando el mismo olly
Saludos
267  Informática / Software / hacer copias de disco virtual vmware player? en: 29 Agosto 2011, 05:38 am
Como puedo hacerlo?  :o
No he podido descargar programas para hacerlo
268  Programación / Ingeniería Inversa / Duda con simple script en: 26 Agosto 2011, 22:11 pm
en el tutorial de introducción a olly se comienza con este script:


Citar
inicio:

bphws 12ffc4, "r"

trabajo:

eob pirulo
run

pirulo:
cmp eip, 77aa6298
je quitar
cmp eip, 77aa62b0
je restaurar
jmp final

quitar:
bphwc 12ffc4
jmp trabajo

restaurar:
jmp inicio

final:
MSGYN "Continuar?"
cmp $RESULT,1
je inicio
ret

en donde las comparaciones que se realiza son en (se pone bp ahí) KiUserExceptionDispatcher y en ZwContinue (se pone bp)

la idea del script es poder saltear la detección de de los hadware breakpoint, este funciona correctamente pero me surge una duda:

Supongamos que está detenido en
77aa6298 (KiUserExceptionDispatcher)
al encontrar una excepción o breakpoint

por el comando eob saltará a pirulo

pirulo:
cmp eip, 77aa6298
je quitar
cmp eip, 77aa62b0
je restaurar
jmp final

aquí al ser la primera comprobación cierta, este va a quitar

quitar:
bphwc 12ffc4
jmp trabajo

por lo que luego va a trabajo mi duda es que no entiendo cuando se ejecuta run, ya que este está debajo de eob por lo que para mi entender nunca se ejecutaría y no haría nunca avanzar al programa, pero este si lo hace

iría a trabajo y denuevo encontraría un BP 77aa6298 o el RUN se ejecuta junto con el EOB? No sé si se entiende

Saludos
269  Programación / Ingeniería Inversa / Máquina virtual con xp que funcione 100% ollydbg? en: 26 Agosto 2011, 21:43 pm
Pues eso, tengo virtualbox, pero me está dando problemas con los hadware breakpoints, hay alguno que les esté funcionando excelente con xp emulado?

Saludos
270  Programación / Ingeniería Inversa / Duda con comprobación CRC en: 26 Agosto 2011, 07:13 am
Hola a todos, bueno tengo una duda encontré un programa que tiene tal comprobación, es decir al momento de cambiar un flag de una sección, este me lo detecta, mi duda es como puedo evitar este chequeo? si al momento de descomprimirlo este me crea más secciones y con nombres distintos? Saludos
Páginas: 1 ... 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [27] 28 29 30 31 32 33 34 35 36 37 38 39
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines