timus221

Untitled

Mar 2nd, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. #include <windows.h>
  2. #include <stdio.h>
  3. #include <tchar.h>
  4. #include <psapi.h>
  5.  
  6.  
  7. void processesModule(DWORD processIn);
  8. void printProcessModule(HANDLE process, DWORD space, HMODULE* processModule, BOOL option);
  9.  
  10. int main(void)
  11. {
  12.  
  13. DWORD proceses[2048];
  14. DWORD procesesSize;
  15. if (!(EnumProcesses(proceses, sizeof(proceses), &procesesSize)))
  16. {
  17. return 1;
  18. }
  19.  
  20. int procesesAmount = procesesSize / sizeof(DWORD);
  21. printf("Proceses Size = %lu\nProceses Amount = %ld", procesesSize, procesesAmount);
  22. putchar('\n');
  23. for (int i = 0; i < procesesAmount; i++)
  24. {
  25. printf("proceses[%d] = %u\n", i, proceses[i]);
  26. processesModule(proceses[i]);
  27. }
  28.  
  29.  
  30. return 0;
  31. }
  32.  
  33. void processesModule(DWORD processIn) {
  34. HANDLE process = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processIn);
  35. HMODULE processModule[1024];
  36. DWORD spaceModulesNeed;
  37. TCHAR processName[128] = L"<UNKNOWN>";
  38. if (EnumProcessModules(process, processModule, sizeof(processModule), &spaceModulesNeed))
  39. {
  40. GetModuleBaseName(process, processModule[0], processName, sizeof(processName) / sizeof(TCHAR));
  41. printProcessModule(process, spaceModulesNeed, processModule, TRUE);
  42. }
  43. wprintf(L"ProcessName = %s\n", processName);
  44. putchar('\n');
  45. CloseHandle(process);
  46. }
  47.  
  48. void printProcessModule(HANDLE process, DWORD space, HMODULE* processModule, BOOL option)
  49. {
  50. puts("\n------------------------MODULY---------------------------------\n");
  51. for (unsigned int i = 0; i < (space / sizeof(HMODULE)); i++)
  52. {
  53. wprintf(L"processModule[%u] = 0x%X\n", i, processModule[i]);
  54. if (option && i)
  55. {
  56. TCHAR processName[128] = L"<UNKNOWN>";
  57. GetModuleBaseName(process, processModule[i], processName, sizeof(processName) / sizeof(TCHAR));
  58. wprintf(L"ProcessDLL = %s\n", processName);
  59. }
  60. }
  61. puts("\n---------------------------------------------------------------\n");
  62. }
Advertisement
Add Comment
Please, Sign In to add comment