Por cierto se inyecta la DLL, pero solo la ejecuta esa vez, es decir, al ejecutar la calculadora de nuevo ¿no tendria que volver a cargar la dll?
Bueno no se, ahora me pongo a estudiarme bien todo este tema, muchas gracias en serio
Ostia (?), obviamente estás inyectando una sola vez en el proceso en ejecución, si abres una nueva calculadora tendrías que inyectar en esta ya que toda la memoria de la calculadora es "nueva", no tiene ningún módulo adicional cargado, en este caso el de la .dll del MessageBox.
Ahora si quieres que cada vez que se ejecute la calculadora, se cargue la .dll, deberás modificar el ejecutable, creo que tiene que ver con la estructura PEB, pero ni idea... nunca profundicé ese tema. Google te puede ayudar ahí, por otro lado... busca primero conceptos y luego ve a la práctica, si no... imagina.
Salud.