概述
远程注入大致可分为8步
01给自己提权
int DebugPrivilege =EnableDebugPrivilege(SE_DEBUG_NAME);
02获取目标窗口句柄
CWnd* hWnd = FindWindow(L"Notepad", NULL);
03获取目标窗口ID
GetWindowThreadProcessId(hWnd->m_hWnd, &Win_ID);
04获取目标进程句柄
HANDLE hWnd_Pro = OpenProcess(PROCESS_ALL_ACCESS, FALSE, Win_ID);
05在目标进程内申请内存空间
LPVOID lpAddr = VirtualAllocEx(hWnd_Pro, NULL, 0x1000, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
6.拼接出dll的绝对路径,而这个绝对路径是给第8步loadLibrary的地址
要点一:GetCurrentDirectory获取到的是当前路径,***必须***提前把需要注入的dll手动复制过来
因为debug的时候这里是没有dll的,写错地址是最常出现的错误
要点二:loadLibrary需要2字节的LPCWSTR类型,我们这里也要把一个字节的char*改为LPCWSTR
获取到的szBuf已经是LPCWSTR类型了,添加dll名称时,每个char后面多加一个'