VC++实现DLL注入(二)

2013-07-22 18:13:34 · 作者: · 浏览: 256

 

  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;

  }