Autor
|
Tema: Delete (Leído 6,848 veces)
|
Nicolas995
Desconectado
Mensajes: 7
|
|
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:.
|
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).aspxen 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
Mensajes: 7
|
|
...
« 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
|
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
Mensajes: 7
|
|
...
« 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
|
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...
|
|
|
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
Mensajes: 7
|
|
...
« 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
|
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:.
|
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
|
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: 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: 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... Saludos!
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
|
|