hThread = CreateRemoteThread(hProcess, NULL, NULL, \
(LPTHREAD_START_ROUTINE)&RmoteThread, NULL, NULL, NULL);
if (hThread == NULL)
{
#ifdef debug
MessageBoxA(NULL, "CreateRemoteThread failed", NULL, 64);
#endif
goto Err;
}
// WaitForSingleObject(hThread, INFINITE);
CloseHandle(hThread);
CloseHandle(hProcess);
status = TRUE;
return status; //自己返回就行,不要VirtualFreeEx;,否则宿主就挂了!
Err:
if (pBaseAddr != NULL)
VirtualFreeEx(hProcess, pBaseAddr, 0, MEM_RELEASE);
if (hProcess != NULL)
CloseHandle(hProcess);
return status;
}
//
int main()
{
char aa[]="aBcDdddFFFF asfd";
strupr((char*)aa);
printf(aa);
if (!InjectExe(GetProcessID(ProcessName)))
Beep(1800,500);
return 0;
}