easyhook.h头文件有此函数声明。
typedef void __stdcall REMOTE_ENTRY_POINT(REMOTE_ENTRY_INFO* InRemoteInfo);
easyhook创作者说:
您注入的本机DLL必须将REMOTE_ENTRY_POINT导出为" NativeInjectionEntryPoint"。请查看easyhook.h以获取该导出的签名。
假设我的dll看起来像这样:
void __stdcall NativeInjectionEntryPoint(REMOTE_ENTRY_INFO* InRemoteInfo);
INT WINAPI DllMain(HMODULE hDLL, DWORD Reason, LPVOID Reserved){
switch(Reason){
case DLL_PROCESS_ATTACH:
case DLL_PROCESS_DETACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
break;
}
return TRUE;
}
void _stdcall NativeInjectionEntryPoint(REMOTE_ENTRY_INFO* InRemoteInfo)(){
}
我的dll应该是什么样的?
对于反馈,我想知道我是否已经清楚地说出了这个问题,以便得到回答。我的最后一个被投了票,我不知道为什么。
任何帮助将不胜感激。
答案 0 :(得分:0)
我知道这个问题已经过时了,但由于我也遇到了这个问题,并且花了一些时间修复,我在这里回答。
首先,正如Harry Johnston所说,你应该添加__declspec(dllexport)
。
其次,如果您的项目是C ++项目,那么您也应该添加extern "C"
。
因此,您的方法定义应如下所示:
extern "C" __declspec(dllexport) void __stdcall NativeInjectionEntryPoint(REMOTE_ENTRY_INFO* InRemoteInfo)
{
// ...
}