Guest User

Untitled

a guest
Mar 26th, 2018
332
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. #include <Windows.h>
  2. #include <iostream>
  3. #include <string>
  4. #include <vector>
  5.  
  6. class WoWObject
  7. {
  8. public:
  9. WoWObject()
  10. {
  11. Guid = 0;
  12. SummonedBy = 0;
  13. XPos = 0;
  14. YPos = 0;
  15. ZPos = 0;
  16. Rotation = 0;
  17. BaseAddress = 0;
  18. UnitFieldsAddress = 0;
  19. Type = 0;
  20. Name = "";
  21. CurrentHealth = 0;
  22. }
  23. long long int* Guid;
  24. long long int SummonedBy;
  25. float* XPos;
  26. float YPos;
  27. float ZPos;
  28. float Rotation;
  29. int* BaseAddress;
  30. int* UnitFieldsAddress;
  31. int16_t Type;
  32. std::string Name;
  33. int* CurrentHealth;
  34.  
  35. };
  36.  
  37. WoWObject* LocalPlayer = new WoWObject();
  38. WoWObject* TempObject = new WoWObject();
  39.  
  40. DWORD* currentManager_Pre = (DWORD*)(0x00D43318);
  41. int* currentManager = (int*)(*currentManager_Pre + 0x2218);
  42.  
  43. int GetObjectBaseByGuid(long long int* Guid)
  44. {
  45. //int* nextObject = (int*)(*currentManager + 0xAC);
  46. std::cout << "Current manager: " << *currentManager << std::endl;
  47. TempObject->BaseAddress = (int*)(*currentManager + 0xAC);
  48.  
  49. while (*TempObject->BaseAddress != NULL)
  50. {
  51. std::cout << "Object: " << *TempObject->BaseAddress << std::endl;
  52.  
  53. TempObject->Guid = (long long int*)(*TempObject->BaseAddress + 0x30);
  54.  
  55. if (TempObject->Guid == Guid)
  56. {
  57. std::cout << "Reached!" << std::endl;
  58. return *TempObject->BaseAddress;
  59. }
  60.  
  61. TempObject->BaseAddress = (int*)(TempObject->BaseAddress + 0x3C);
  62. }
  63.  
  64. std::cout << "Outside Loop!" << std::endl;
  65. }
  66.  
  67. DWORD WINAPI hackthread(LPVOID param)
  68. {
  69. FILE *pFile = nullptr;
  70. AllocConsole();
  71. freopen_s(&pFile, "CONOUT$", "w", stdout);
  72. std::cout << "------------------------------------------"
  73. << std::endl;
  74. LocalPlayer->Guid = (long long int*)(*currentManager + 0xC0);
  75. std::cout << "GUID " << *LocalPlayer->Guid << std::endl;
  76.  
  77. if (*LocalPlayer->Guid == 0)
  78. std::cout << "Something went wrong!" << std::endl;
  79.  
  80. std::cout << *LocalPlayer->Guid << std::endl;
  81.  
  82. LocalPlayer->BaseAddress = (int*)GetObjectBaseByGuid(LocalPlayer->Guid);
  83.  
  84. LocalPlayer->XPos = (float*)(*LocalPlayer->BaseAddress + 0xBF0);
  85. std::cout << LocalPlayer->XPos << std::endl;
  86.  
  87. FreeLibraryAndExitThread((HMODULE)param, NULL);
  88.  
  89. return NULL;
  90. }
  91.  
  92. BOOL WINAPI DllMain(HINSTANCE hModule, DWORD dwReason, LPVOID lpReserved)
  93. {
  94. switch (dwReason)
  95. {
  96. case DLL_PROCESS_ATTACH:
  97. CreateThread(0, 0, hackthread, hModule, 0, 0); // Added hModule to be passed to hackthread
  98. break;
  99.  
  100. case DLL_PROCESS_DETACH:
  101. break;
  102. }
  103. return TRUE;
  104. }
Advertisement
Add Comment
Please, Sign In to add comment