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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


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

Desconectado Desconectado

Mensajes: 31



Ver Perfil
Problemas con SendMessage
« en: 16 Julio 2010, 00:03 am »

Estoy teniendo problemas con la función SendMessage. Os cuento
Estos días estaba haciendo unas pruebas de simulacion depulsaciones mediante una dll inyectada. Estos días, para hacer la prueba utilizé simplemente Notepad en un Windows XP sp2. El caso es que anteayer tube que formatear el ordenador y me cambie a windows 7. La misma prueba me funcionó correctamente con el Notepad.
El problema me vino cuando decidí probar con el GuildWars. El caso es que envía el mensaje correctamente (retorna bien y GetLastError == 0) pero parece que no llegan pasar por TranslateMessage (esto lo comprobé depurando).
Al principio, pensé que podía ser la UIPI, pero luego me di cuenta de que no podía ser porque como la funcionalidad está inyectada en el propio proceso, no debería dar problemas. Me equivoco en este razonamiento?

Alguien tiene alguna pista?

Os dejo la función que utilizo para enviar los mensajes, no creo que esté mal porque con otros programas funciona a la perfeción, pero nunca se sabe:
Código:
void send_char(char c) {
unsigned vkcode, scancode, keydata;

vkcode = LOBYTE(VkKeyScan(c));
scancode = MapVirtualKey(vkcode,0);

keydata = scancode << 16;
keydata += 1;
SendMessage(h_main_window, WM_CHAR, (WPARAM) c, (LPARAM) keydata);
}
h_main_window contiene el valor correcto.
En línea

Y creó Dios el Bit y el Byte y vio Dios que era bueno.
Y bendiciéndolos dijo: "creced y multiplicaos".
Genesis 1:21,22
bizco


Desconectado Desconectado

Mensajes: 698


Ver Perfil
Re: Problemas con SendMessage
« Respuesta #1 en: 16 Julio 2010, 00:18 am »

creo que es porque usa directinput, por eso puede que se ignore tu pulsacion.
En línea

Eternal Idol
Kernel coder
Colaborador
***
Desconectado Desconectado

Mensajes: 5.958


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Problemas con SendMessage
« Respuesta #2 en: 16 Julio 2010, 10:07 am »

¿Seguro que h_main_window es valido?
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
pepeBocachancla

Desconectado Desconectado

Mensajes: 31



Ver Perfil
Re: Problemas con SendMessage
« Respuesta #3 en: 16 Julio 2010, 17:38 pm »

sip, capturo el valor del handle con un hook en TranslateMessage. Además lo he comprobado con el InmunityDBG y siempre funciona
Código:
BOOL WINAPI fake_TranslateMessage(const MSG *lpMsg) {
if (lpMsg->message == WM_CHAR) {
h_main_window = lpMsg->hwnd;
}
return orig_TranslateMessage(lpMsg);
}
En línea

Y creó Dios el Bit y el Byte y vio Dios que era bueno.
Y bendiciéndolos dijo: "creced y multiplicaos".
Genesis 1:21,22
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
API Sendmessage en una Shell
Programación Visual Basic
Elemental Code 7 4,706 Último mensaje 8 Enero 2011, 02:13 am
por Karcrack
SendMessage
Programación C/C++
calk9 5 3,662 Último mensaje 14 Septiembre 2011, 19:52 pm
por Eternal Idol
SendMessage
Programación Visual Basic
calk9 6 2,890 Último mensaje 20 Septiembre 2011, 00:53 am
por calk9
[C] Clic (con SendMessage) en una ventana externa
.NET (C#, VB.NET, ASP)
GonzaFz 3 3,654 Último mensaje 23 Mayo 2012, 01:37 am
por GonzaFz
Clic en imagebox externo sendmessage « 1 2 »
Programación Visual Basic
Cromatico 15 6,847 Último mensaje 9 Noviembre 2012, 00:03 am
por Cromatico
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines