Advertisement
Guest User

Untitled

a guest
Jan 17th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <windows.h>
  5. #include <TlHelp32.h>
  6.  
  7. using namespace std;
  8.  
  9. DWORD GetProcessIdByName(const string&);
  10. DWORD_PTR GetModule(const string&);
  11.  
  12. int main()
  13. {
  14. DWORD pId
  15. {
  16. GetProcessIdByName("KillingFloor.exe")
  17. };
  18.  
  19. HANDLE hProc
  20. {
  21. OpenProcess(PROCESS_ALL_ACCESS, FALSE, pId)
  22. };
  23.  
  24. vector<string> strVec
  25. {
  26. "Nickname1", "Nickname2",
  27. "Nickname3", "Nickname4",
  28. "Nickname5", "Nickname6",
  29. };
  30.  
  31. HWND hwnd
  32. {
  33. FindWindowA(NULL, "Killing Floor")
  34. };
  35.  
  36. while(true)
  37. {
  38. for (const auto& i : strVec)
  39. {
  40. WriteProcessMemory
  41. (
  42. hProc,
  43. (LPVOID)(GetModule("steamclient.dll") + 0x681F50),
  44. i.c_str(),
  45. i.size(),
  46. NULL
  47. );
  48.  
  49. SendMessage(hwnd, WM_KEYUP, 0x50, NULL);
  50. SendMessage(hwnd, WM_KEYDOWN, 0x50, NULL);
  51.  
  52. Sleep(1000);
  53. }
  54. }
  55.  
  56. CloseHandle(hProc);
  57.  
  58. system("pause");
  59. }
  60.  
  61. DWORD GetProcessIdByName(const string& processName)
  62. {
  63. DWORD pid = 0;
  64.  
  65. // Create toolhelp snapshot
  66. HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  67. PROCESSENTRY32 process;
  68. ZeroMemory(&process, sizeof(process));
  69. process.dwSize = sizeof(process);
  70.  
  71. // Walkthrough all processes
  72. if (Process32First(snapshot, &process))
  73. {
  74. do
  75. {
  76. // Compare process.szExeFile based on format of name, i.e., trim file path
  77. // trim .exe if necessary, etc
  78. if (processName == static_cast<std::string>(process.szExeFile))
  79. {
  80. pid = process.th32ProcessID;
  81. break;
  82. }
  83. } while (Process32Next(snapshot, &process));
  84. }
  85.  
  86. CloseHandle(snapshot);
  87. return pid;
  88. }
  89.  
  90. DWORD_PTR GetModule(const string& lpModuleName)
  91. {
  92. MODULEENTRY32 lpModuleEntry = { 0 };
  93. HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, GetProcessIdByName("KillingFloor.exe"));
  94.  
  95. if (!hSnapShot)
  96. return NULL;
  97. lpModuleEntry.dwSize = sizeof(lpModuleEntry);
  98. BOOL bModule = Module32First(hSnapShot, &lpModuleEntry);
  99. while (bModule)
  100. {
  101. if (lpModuleName == static_cast<std::string>(lpModuleEntry.szModule))
  102. {
  103. CloseHandle(hSnapShot);
  104. return (DWORD_PTR)lpModuleEntry.modBaseAddr;
  105. }
  106. bModule = Module32Next(hSnapShot, &lpModuleEntry);
  107. }
  108. CloseHandle(hSnapShot);
  109. return NULL;
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement