Guest User

Untitled

a guest
Apr 23rd, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. DWORD GetModuleBase(HANDLE hProc)
  2. {
  3. LPWSTR sModuleName = 0;
  4. LPWSTR szBuf = 0;
  5. DWORD cModules;
  6. DWORD dwBase = -1;
  7. HMODULE* hModules = NULL;
  8.  
  9. EnumProcessModules(hProc, hModules, 0, &cModules);
  10. hModules = new HMODULE[cModules / sizeof(HMODULE)]; // <--- Ошибка!!!!!
  11.  
  12. if (EnumProcessModules(hProc, hModules, cModules / sizeof(HMODULE), &cModules))
  13. {
  14. for (int i = 0; i < cModules / sizeof(HMODULE); i++)
  15. {
  16. if (GetModuleBaseName(hProc, hModules[i], (LPSTR)szBuf, sizeof(szBuf)))
  17. {
  18. if (wcscmp(sModuleName, szBuf) == 0)
  19. {
  20. dwBase = (DWORD)hModules[i];
  21. break;
  22. }
  23. }
  24. }
  25. }
  26.  
  27. delete[] hModules;
  28.  
  29. return dwBase;
  30. }
Add Comment
Please, Sign In to add comment