首页 > 代码库 > 非常简单的利用CreateProcess注入DLL的方法

非常简单的利用CreateProcess注入DLL的方法

[cpp] view plain copy
 
  1. TCHAR szDll[] = TEXT("d:\\test.dll");  
  2. STARTUPINFO si = {0};  
  3. PROCESS_INFORMATION pi = {0};  
  4. si.cb = sizeof(si);  
  5. si.dwFlags = STARTF_USESHOWWINDOW;  
  6. si.wShowWindow = SW_SHOW;  
  7. TCHAR szCommandLine[MAX_PATH] = TEXT("C:\\WINDOWS\\notepad.exe");  
  8.   
  9. CreateProcess(NULL, szCommandLine, NULL, NULL, FALSE, CREATE_SUSPENDED, NULL, NULL, &si, &pi);  
  10. LPVOID Param = VirtualAllocEx(pi.hProcess, NULL, MAX_PATH, MEM_COMMIT, PAGE_EXECUTE_READWRITE);  
  11. WriteProcessMemory(pi.hProcess, Param, (LPVOID)szDll, _tcslen(szDll)*2+sizeof(TCHAR), NULL);  
  12.   
  13. HANDLE hThread = CreateRemoteThread(pi.hProcess, NULL, NULL, (LPTHREAD_START_ROUTINE)LoadLibraryW,Param, CREATE_SUSPENDED, NULL);  
  14. ResumeThread(pi.hThread);  
  15.   
  16. if (hThread)  
  17. {  
  18.     ResumeThread(hThread);  
  19.     WaitForSingleObject(hThread, INFINITE);  
  20. }  

 

http://blog.csdn.net/zwfgdlc/article/details/8827116

非常简单的利用CreateProcess注入DLL的方法