Función de llamada en DLL inyectado

Quiero llamar a una función en un proceso remoto de un DLL inyectado que he creado.

He inyectado con éxito mi DLL con:

<code>CreateRemoteThread(pHandle, NULL, 0, (LPTHREAD_START_ROUTINE)GetProcAddress(GetModuleHandle("kernel32"), "LoadLibraryA"), pLibRemote, 0, NULL);
</code>

El DllMain se ejecuta y la DLL se ejecuta en modo de espera. Lo que me gustaría hacer es llamar a la DLL cargada de forma remota para hacer algún trabajo.

He intentado exportar la función de esta manera:

<code>extern "C" __declspec(dllexport) void MyFunc(void)
</code>

y luego ejecutando la función así:

<code>CreateRemoteThread(pHandle, NULL, 0, (LPTHREAD_START_ROUTINE)GetProcAddress(GetModuleHandle("mydll"), "MyFunc"), NULL, 0, NULL);
</code>

pero resulta en un accidente.

¿Como puedo resolver esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta