DLL线程注入问题
问题如图所示,能编译,编译后也能运行,但是有绿色的报错提示。请问哪里写错了吗?
代码如下:
BOOL DLL线程注入(HANDLE 进程句柄,const char * DLL完整路径)
{
LPVOID 地址 = 0;
DWORD 实际写入大小 = 0;
HANDLE 线程句柄 = 0;
地址 = VirtualAllocEx(进程句柄, NULL, 256, MEM_COMMIT, PAGE_READWRITE);//分配内存空间
if (地址 == 0)
{
CloseHandle(进程句柄);
return FALSE;
}
WriteProcessMemory(进程句柄, 地址, DLL完整路径, strlen(DLL完整路径) + 1, &实际写入大小);//写入
if (实际写入大小 < strlen(DLL完整路径))
{
VirtualFreeEx(进程句柄, 地址, 256, MEM_DECOMMIT);
CloseHandle(进程句柄);
return FALSE;
}
线程句柄 = CreateRemoteThread(进程句柄, NULL, NULL, (LPTHREAD_START_ROUTINE)LoadLibraryA, 地址, NULL, NULL);//创建远程线程
if (线程句柄 == 0)
{
VirtualFreeEx(进程句柄, 地址, 256, MEM_DECOMMIT);
CloseHandle(进程句柄);
return FALSE;
}
WaitForSingleObject(线程句柄, 0xFFFFFFF);//等待线程
CloseHandle(线程句柄);
VirtualFreeEx(进程句柄, 地址, 256, MEM_DECOMMIT);//释放内存空间
CloseHandle(进程句柄);
return TRUE;
}