Windows Live Messenger (2011 15.4.x ) me esta dando dolores de cabeza.
Hasta ahora, lo que se es lo siguiente:
a) El menu NO es HMENU, es un ToolbarWindow32. Esto lo descubri usando Spy++, que me lo recomendaron en un canal de IRC, pero no se como seguir. O sea, veo el Handle, pero me es poco util.
b) Es muy probable que tenga que injectar una DLL, el tema es como trabajo con ese objeto una vez que este dentro del proceso?
En si, tengo un hecho un injector de DLL que hice siguiendo un tutorial, pero la verdad que hay muchas cosas que no me quedaron muy claras que digamos.
Por ejemplo, esto:
Código:
hilo_del_programa_injectado = CreateRemoteThread(proceso_a_injectar,NULL,0,direccion_de_loadlibrary,direccionBaseEnElProceso,0,NULL);
O sea, veamos, la idea es en el proceso_a_injectar tengo el handle del proceso, el primer NULL es para que agarre los parametros de seguridad por default, el cero es para que use el tamaño de pila estandar para ese hilo, direccion_de_loadlibrary es en realidad un puntero a la funcion definida que en este caso es LoadLibrary desde kernel32.dll, aca empieza mi problema, el proximo es el puntero a la direccion de memoria que reserve en el proceso remoto, pero para que? acaso mi DLL despues va a ir a terminar en esa direccion? si es asi, el offset puesto en cero que le sigue esta bien porque no deberia correrla y dejar que lo ajuste a la pagina el sistema, y el ultimo NULL porque no me interesa saber cuantos bytes copio antes de fallar, sino que falle directamente.