#include /* ms-help://MS.VSCC.2003/MS.MSDNQTR.2004JAN.1033/dndebug/html/msdn_debugEH.htm */ int main(int argc, char**argv){ if (argc < 2) return 1; DWORD dwProcessId = atoi(argv[1]); DWORD dwDesiredAccess = PROCESS_CREATE_THREAD || PROCESS_QUERY_INFORMATION || PROCESS_VM_OPERATION || PROCESS_VM_WRITE || PROCESS_VM_READ; dwDesiredAccess = PROCESS_ALL_ACCESS; BOOL bInheritHandle = 0; HANDLE hProcess = OpenProcess( dwDesiredAccess, bInheritHandle, dwProcessId ); LPSECURITY_ATTRIBUTES lpThreadAttributes = 0; SIZE_T dwStackSize = 1; LPTHREAD_START_ROUTINE lpStartAddress = 0; LPVOID lpParameter = 0; DWORD dwCreationFlags = 0; DWORD lpThreadId = 0; HANDLE newThread = CreateRemoteThread( hProcess, lpThreadAttributes, dwStackSize, lpStartAddress, lpParameter, dwCreationFlags, &lpThreadId ); CloseHandle(hProcess); return 0; }