Muchas gracias. Primeras dudas
Hola,
Muchas gracias por el aporte.
Efectivamente es muy similar a lo que ya conocía de esa técnica, y la complejidad luce mayor a la copia directa de memoria a memoria. Voy a analizarlo con bastante calma; pero te adelanto dos temas que me saltan a la vista:
1. Veo que la memoria alocada en el proceso remoto no la liberas con VirtualFreeEx sino con FreeMem, como es posible si se supone que están en espacios de direcciones diferentes ?
2. No mencionas nada acerca de la función que se va a ejecutar remotamente. Lo que indicas es ejecutar la carga de la librería como tal. Que hay de las observaciones que yo hacía en mi primera nota acerca de las condiciones que debe cumplir una rutina para ejecutarse en el proceso remoto ?. Es que acaso aquí la lógica es que lo único que se ejecuta es la rutina de inicialización del DLL ?. Si es así, que hay del paso de parámetros desde el proceso principal a la rutina remota ?, sería solo vía mensajes registrados?
Bueno, aunque como obvio interes profesional pienso detallar tú código, sigo con mi idea de corregir el problema con lo que tengo, que funcionalmente ya me está trabajando bien. Alguna idea de porque puede fallar después de haber ejecutado bien todas las instrucciones en el cuerpo de la rutina ?. Quizás es algún problema por la convención de llamadas stdcall, tal como la limpieza de la pila ?
Una vez más muchas gracias y seguiremos en contacto.
Muchos saludos
|