3,882
社区成员




void BBB()
{
}
void main (int argc, char *argv[])
{
HWND hwnd = ::FindWindow(NULL, _T("计算器"));
if (hwnd == NULL)
{
//AfxMessageBox("找不到程序");
return;
}
DWORD tid=NULL;
GetWindowThreadProcessId(hwnd, &tid);
HANDLE pid = OpenProcess(PROCESS_ALL_ACCESS, FALSE, tid);
if (pid == 0)
{
//AfxMessageBox("打不开进程");
return;
}
LPVOID taddr=VirtualAllocEx(pid, NULL, 1024 , MEM_COMMIT, PAGE_EXECUTE_READWRITE);
WriteProcessMemory(pid, taddr,BBB,1024 ,0);
HANDLE tmpHandle;
tmpHandle = CreateRemoteThread(pid, NULL, 0, (LPTHREAD_START_ROUTINE)taddr, 0, 0,0);
if (tmpHandle == NULL)
{
return;
}
WaitForSingleObject(tmpHandle,INFINITE);
VirtualFreeEx(pid,taddr,2048,MEM_RELEASE);
CloseHandle(pid);
}