SoloCodigo

Programación General => ASM (Ensamblador) => Mensaje iniciado por: jsoldi en Sábado 10 de Mayo de 2003, 17:10

Título: Re: ¿Es posible llamar a una función de un programa en ejecu
Publicado por: jsoldi en Sábado 10 de Mayo de 2003, 17:10
¿Existe la posibilidad, por cualquier medio, de llamar a una función de un programa que se está ejecutando desde otro programa? ¿Y si es así, se puede "engañar" a Windows para que piense que es el mismo programa el que la llama?
Esto viene a que he encontrado unas funciones de encriptación y desencriptación en el API de Windows. Estas funciones guardan en un "lugar seguro" (según la ayuda del API de Windows) la contraseña con la cual se encripta y desencripta mientras el programa se ejecuta, y éste sólo tiene un Handle a dicha contraseña. Entonces el problema está en si otra aplicación puede llamar a, p.e. la función de mi programa que llama a la función desencriptadora de Windows para desencriptar datos que quiero mantener en secreto....
Título: ¿Es posible llamar a una función de un programa en ejecución
Publicado por: Astor en Sábado 2 de Agosto de 2003, 17:28
Siempre y cuando vos conozcas el punto de entrada a la funcion, podrias llamarla.
En el caso de Windows hay un problema adicional, el funciona en modo protegido en el cual cada "pedazo" de memoria asignada a un proceso esta descripto por un descriptor, valga la redundancia, el cual probablemente se guarde en una LDT a la cual vos desde afuera de Windows no vas a poder acceder. Cuando intentes hacerlo Windows va a poner esa hermosa pantalla azul diciendo "Error de Proteccion General".
Para poder lograr esto deberias programar en modo kernel, con lo cual debes conocer un poco del manejo interno de windows.