非常简单的利用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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM