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?