में कॉलिंग फ़ंक्शन मैं एक इंजेक्शन डीएलएल की रिमोट प्रक्रिया में एक फ़ंक्शन को कॉल करना चाहता हूं।इंजेक्शन डीएलएल
CreateRemoteThread(pHandle, NULL, 0, (LPTHREAD_START_ROUTINE)GetProcAddress(GetModuleHandle("kernel32"), "LoadLibraryA"), pLibRemote, 0, NULL);
DllMain निष्पादित किया जाता है और DLL एक स्टैंड-बाई मोड में चल रहा है:
मैं सफलतापूर्वक के साथ मेरी DLL इंजेक्शन है। मैं कुछ काम करने के लिए दूरस्थ रूप से लोड डीएलएल को कॉल करना चाहता हूं।
मैं इस तरह समारोह के निर्यात की कोशिश की है:
extern "C" __declspec(dllexport) void MyFunc(void)
और उसके बाद इस तरह फ़ंक्शन को निष्पादित:
CreateRemoteThread(pHandle, NULL, 0, (LPTHREAD_START_ROUTINE)GetProcAddress(GetModuleHandle("mydll"), "MyFunc"), NULL, 0, NULL);
लेकिन यह एक दुर्घटना का परिणाम है।
मैं इसे कैसे हल कर सकता हूं?
GetModuleHandle वापस क्या करता है? GetProcAddress वापस क्या करता है? –
दोनों वापसी 0। GetModuleHandle मेजबान प्रक्रिया में एक मॉड्यूल के हैंडल प्राप्त करने का प्रयास करता है जहां मैंने इसे लोड नहीं किया है। –