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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Delete
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Delete  (Leído 6,791 veces)
Nicolas995

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Delete
« en: 24 Diciembre 2015, 14:31 pm »

.....delete please
« Última modificación: 31 Diciembre 2015, 22:19 pm por Nicolas995 » En línea

.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Ollydbg iniciar automaticamente un .EXE?
« Respuesta #1 en: 24 Diciembre 2015, 15:49 pm »

Debes entender sobre TranslateMessage. Tiene que ver como el programa actúa tras presionar el botón, generalmente cada botón tiene un identificador único (ensamblador .rc, c#, c, java, trabajan así, desconozco si existe algún lenguaje que no trabaje con identificadores en los botones). Ese identificador, junto con toda acción que realices en la ventana (inclusive hasta mover el mouse) llega es pasado a una función en donde se evalúa en grupo de condiciones tanto el mensaje enviado (acción) como sus parámetros (identificador u otro dependiendo del mensaje) en caso que no se cumpla la condición (por ejemplo un programa que solo tiene un botón de aceptar, y tu mueves el mouse, ese mensaje no está dentro de la programación del programa) se envía el mensaje a Windows para que este lo procese. Como simple resumen si posees el código de fuente, que lo dudo, simplemente llama a la función SendMessage:

https://msdn.microsoft.com/en-us/library/windows/desktop/ms644950(v=vs.85).aspx

en caso contrario debes hacer un injerto una vez cargado todo el programa y llamar a la función anteriormente comentada.

No sé si me he explicado bien, saludos.
« Última modificación: 24 Diciembre 2015, 20:20 pm por MCKSys Argentina » En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
Nicolas995

Desconectado Desconectado

Mensajes: 7


Ver Perfil
...
« Respuesta #2 en: 24 Diciembre 2015, 18:22 pm »

...
« Última modificación: 31 Diciembre 2015, 22:20 pm por Nicolas995 » En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Ollydbg iniciar automaticamente un .EXE?
« Respuesta #3 en: 24 Diciembre 2015, 20:20 pm »

Hola!

No te entiendo bien qué quieres hacer:

1) Quieres que se ejecute "metin2panamera.bin" apenas inicias el exe?

ó

2) Quieres que se ejecute "metin2panamera.bin" una vez que se ha terminado de descargar?

Como te dijo .:UND3R:., si vas a modificar el ejecutable necesitas entender cómo funciona todo el tema de botones, mensajes, etc. de Windows.

Este programa está hecho en C/C++. La función que te ineteresa ejecutar está en 407F20.
La referencia a dicha función, se asigna en 407EBC. Imagino que en esa posición está el puntero a función que se ejecuta al hacerle click al botón.

Ahora, si miras al principio, verás un CreateDialogBoxParamW. Esa es la API que crea el formulario/ventana que ves. Y con eso ya tienes algo desde donde comenzar.

El link de .:UND3R:., te permitiría hacerle "click" al botón, desde una aplicación exterior, pero eso ya es otra historia.

Saludos!
En línea

MCKSys Argentina

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

Nicolas995

Desconectado Desconectado

Mensajes: 7


Ver Perfil
...
« Respuesta #4 en: 24 Diciembre 2015, 23:09 pm »

...
« Última modificación: 31 Diciembre 2015, 22:20 pm por Nicolas995 » En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Ollydbg iniciar automaticamente un .EXE?
« Respuesta #5 en: 24 Diciembre 2015, 23:29 pm »

1) Quieres que se ejecute "metin2panamera.bin" apenas inicias el exe?

Exactamente eso quiero que haga , ya estuve dias buscando como hacerlo pero no encuentro la forma por que no tengo conocimiento de C++, no quiero sonar aprovechado pero si me pueden guiar como hacer eso estaré muy agradecido es muy importante para mi

Puedes hacer el que WinMain llame a la función que te interesa.

Ábrelo con IDA y verás cuál es el WinMain. Luego, puedes hacer la modificación con Olly y probar si funciona bien.

Saludos!

PD: El lenguaje en que fue escrito el programa parece ser C/C++, pero lo que ves ahora es assembly...  :P
En línea

MCKSys Argentina

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

Nicolas995

Desconectado Desconectado

Mensajes: 7


Ver Perfil
...
« Respuesta #6 en: 25 Diciembre 2015, 01:22 am »

...
« Última modificación: 31 Diciembre 2015, 22:21 pm por Nicolas995 » En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Ollydbg iniciar automaticamente un .EXE?
« Respuesta #7 en: 25 Diciembre 2015, 01:58 am »

me da verguneza pedir esto pero puedes hacerlo por mi porfavor llevo 2 horas intentando lo que me dijiste y buscando en google pero no logro nada u_u

En qué parte te trabas?

Saludos!
En línea

MCKSys Argentina

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

.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Ollydbg iniciar automaticamente un .EXE?
« Respuesta #8 en: 25 Diciembre 2015, 04:36 am »

En qué parte te trabas?

Saludos!

Ayúdalo, pareciera que tiene algo de interés, yo lo ayudaría pero me limita tanto el tiempo  :-\
En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Ollydbg iniciar automaticamente un .EXE?
« Respuesta #9 en: 25 Diciembre 2015, 07:13 am »

Ayúdalo, pareciera que tiene algo de interés, yo lo ayudaría pero me limita tanto el tiempo  :-\

OK, un parche rápido:

WinMain empieza en 00407880. Si cambiamos la función principal del programa por la que queremos, debería ejecutar el proggie sin problemas. En otras palabras cambiamos:

Código:
00407880 <WinMain(x,x,x,x)>     /$  55                PUSH EBP
00407881                        |.  8BEC              MOV EBP,ESP
00407883                        |.  8B45 08           MOV EAX,DWORD PTR SS:[EBP+8]
00407886                        |.  53                PUSH EBX
00407887                        |.  56                PUSH ESI
00407888                        |.  BB 01000000       MOV EBX,1
0040788D                        |.  33F6              XOR ESI,ESI
0040788F                        |.  A3 34914A00       MOV DWORD PTR DS:[4A9134],EAX
00407894                        |.  841D D0904A00     TEST BYTE PTR DS:[4A90D0],BL
0040789A                        |.  75 18             JNZ SHORT <Mt2.loc_4078B4>
0040789C                        |.  091D D0904A00     OR DWORD PTR DS:[4A90D0],EBX
004078A2                        |.  E8 59000000       CALL <Mt2.sub_407900>
004078A7                        |.  68 40C54800       PUSH <Mt2.sub_48C540>                    ; /func = <Mt2.sub_48C540>
004078AC                        |.  E8 7FEF0400       CALL <Mt2._atexit>                       ; \_atexit
004078B1                        |.  83C4 04           ADD ESP,4
004078B4 <loc_4078B4>           |>  68 D8904A00       PUSH Mt2.004A90D8                        ; <== Este PUSH rompe el stack
004078B9                            E8 62010000       CALL <Mt2.sub_407A20>                    ; <== CALL al programa principal

Nuestra función está en 407F20, entonces nos queda:

Código:
00407880 <WinMain(x,x,x,x)>     /$  55                PUSH EBP
00407881                        |.  8BEC              MOV EBP,ESP
00407883                        |.  8B45 08           MOV EAX,DWORD PTR SS:[EBP+8]
00407886                        |.  53                PUSH EBX
00407887                        |.  56                PUSH ESI
00407888                        |.  BB 01000000       MOV EBX,1
0040788D                        |.  33F6              XOR ESI,ESI
0040788F                        |.  A3 34914A00       MOV DWORD PTR DS:[4A9134],EAX
00407894                        |.  841D D0904A00     TEST BYTE PTR DS:[4A90D0],BL
0040789A                        |.  75 18             JNZ SHORT <Mt2.loc_4078B4>
0040789C                        |.  091D D0904A00     OR DWORD PTR DS:[4A90D0],EBX
004078A2                        |.  E8 59000000       CALL <Mt2.sub_407900>
004078A7                        |.  68 40C54800       PUSH <Mt2.sub_48C540>                    ; /func = <Mt2.sub_48C540>
004078AC                        |.  E8 7FEF0400       CALL <Mt2._atexit>                       ; \_atexit
004078B1                        |.  83C4 04           ADD ESP,4
004078B4 <loc_4078B4>               90                NOP                                      ; <== Este era el PUSH que rompia el stack
004078B5                            90                NOP
004078B6                            90                NOP
004078B7                            90                NOP
004078B8                            90                NOP
004078B9                            E8 62060000       CALL <Mt2.sub_407F20>                    ; <== CALL a nuestra función.

Osea, cambiamos 5 bytes; y con eso debería funcionar...  :P

Saludos!
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:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines