Advertisement
includeBRAIN

BDO Retail 30.01.2021 (377751)

Jan 30th, 2021 (edited)
436
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.03 KB | None | 0 0
  1. typedef __int64(__fastcall* t_Anticheat)(__int64 a1, __int64 a2); //hook and return a2
  2. typedef Vector3(__stdcall* t_WorldToScreen)(float x, float y, float z);
  3. typedef char(__fastcall* t_ProcessInteraction)(unsigned __int8 type, __int64 a2, int a3, int a4); //8 collect
  4. typedef void(__fastcall* t_PickUpAllItems)(unsigned __int8 type); //0 player, 4 or 1 servant
  5.  
  6. t_Anticheat g_Anticheat = nullptr;
  7. t_WorldToScreen g_WorldToScreen = nullptr;
  8. t_ProcessInteraction g_ProcessInteraction = nullptr;
  9. t_RequestLoot g_RequestLoot = nullptr;
  10. t_PickUpAllItems g_PickUpAllItems = nullptr;
  11.  
  12. uintptr_t temp = FindPatternIDA(0, "48 8B C4 48 89 58 08 57 48 81 EC ? ? ? ? 0F 29 70 E8 48 8B D9 0F 29 78 D8 0F 28 F3");
  13. if (temp == -1) MessageBox(0, "Failed Find WorldToScreen", "Error", MB_OK);
  14. else g_WorldToScreen = (t_WorldToScreen)temp;
  15. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  16. temp = FindPatternIDA(0, "48 83 EC 28 0F B6 D1 48 8D 0D ? ? ? ? E8 ? ? ? ? 84 C0");
  17. if (temp == -1) MessageBox(0, "Failed Find ProcessInteraction", "Error", MB_OK);
  18. else g_ProcessInteraction = (t_ProcessInteraction)temp;
  19. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  20. temp = FindPatternIDA(0, "45 33 C0 48 8B C1 48 85 D2");
  21. if (temp == -1) MessageBox(0, "Failed Find RequestLoot", "Error", MB_OK);
  22. else g_RequestLoot = (t_RequestLoot)temp;
  23. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  24. temp = FindAddressFromCallOpcode(0, "E8 ? ? ? ? 48 8B CB 40 84 F6");
  25. if (temp == -1) MessageBox(0, "Failed Find PickUpAllItems", "Error", MB_OK);
  26. else g_PickUpAllItems = (t_PickUpAllItems)temp;
  27. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  28. std::get<1>(limits) = FindPatternIDA(0, "42 89 B4 BF ? ? ? ?");  //player
  29. if (std::get<1>(limits) == -1)
  30. MessageBox(0, "Failed Find LimitsPlayer", "Error", MB_OK);
  31. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  32. std::get<2>(limits) = FindPatternIDA(0, "41 89 84 8B ? ? ? ?");  //mount
  33. if (std::get<2>(limits) == -1)
  34. MessageBox(0, "Failed Find LimitsMount", "Error", MB_OK);
  35. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  36. auto temp = FindPatternIDA(0, "33 C0 4C 8B D1 48 89 02");
  37. if (temp == -1)
  38.     MessageBox(0, "Failed Find Anticheat", "Error", MB_OK);
  39. else if (MH_CreateHook((void*)temp, h_Anticheat, (void**)&g_Anticheat) != MH_OK || MH_EnableHook((void*)temp) != MH_OK)
  40.     MessageBox(0, "Failed Hook Anticheat", "Error", MB_OK);
  41. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  42.  
  43.  
  44. LocalGameClient* localClient = Read<LocalGameClient*>(0x143F02C00);
  45. LocalPlayer* localPlayer = Read<LocalPlayer*>(0x143F596E0);
  46.  
  47. uintptr_t entity_list = Read<uintptr_t>(0x143F59248);
  48. uintptr_t entity_list_end = Read<uintptr_t>(0x143F59250);
  49. if (entity_list && entity_list_end) {
  50.     for (uintptr_t i = entity_list; i != entity_list_end; i += 0x8) {
  51.         Actor* actor = Read<Actor*>(i);
  52.         /*...*/
  53.     }
  54.  
  55. class Actor {
  56. public:
  57.     char pad_0000[8]; //0x0000
  58.     Vector3 PositionGround; //0x0008
  59.     char pad_0014[72]; //0x0014
  60.     int32_t Type; //0x005C
  61.     char pad_0060[8]; //0x0060
  62.     wchar_t* Name; //0x0068
  63.     char pad_0070[8]; //0x0070
  64.     int32_t Something; //0x0078
  65.     char pad_007C[4]; //0x007C
  66.     int32_t Id; //0x0080
  67.     char pad_0084[908]; //0x0084
  68.     Vector3 PositionHead; //0x0410
  69. };
  70.  
  71. class ShapePhantom {
  72. public:
  73.     char pad_0000[288]; //0x0000
  74.     Vector3 Position; //0x0120
  75. }; //Size: 0x012C
  76.  
  77. class PlayerData {
  78. public:
  79.     char pad_0000[408]; //0x0000
  80.     class ShapePhantom* pShapePhantom; //0x0198
  81. }; //Size: 0x01A0
  82.  
  83. class AnimationControl {
  84. public:
  85.     char pad_0000[1216]; //0x0000
  86.     float AnimationSpeed[2]; //0x04C0
  87. }; //Size: 0x04C8
  88.  
  89. class AnimationData {
  90. public:
  91.     char pad_0000[8]; //0x0000
  92.     int32_t AnimationID; //0x0008
  93. }; //Size: 0x000C
  94.  
  95. class CharacterControl {
  96. public:
  97.     char pad_0000[8]; //0x0000
  98.     class PlayerData* pPlayerData; //0x0008
  99.     class AnimationControl* pAnimationControl; //0x0010
  100.     char pad_0018[32]; //0x0018
  101.     class AnimationData* pAnimationData; //0x0038
  102.     char pad_0040[2032]; //0x0040
  103.     float Gravity; //0x0830
  104. }; //Size: 0x0834
  105.  
  106. class LocalPlayer {
  107. public:
  108.     char pad_0000[8]; //0x0000
  109.     Vector3 PositionGround; //0x0008
  110.     char pad_0014[84]; //0x0014
  111.     wchar_t* Name; //0x0068
  112.     char pad_0070[952]; //0x0070
  113.     class CharacterControl* pCharacterControl; //0x0428
  114.     char pad_0430[100]; //0x0430
  115.     int32_t Stance; //0x0494
  116.     char pad_0498[1808]; //0x0498
  117.     int32_t MoveSpeed; //0x0BA8
  118.     int32_t AttackSpeed; //0x0BAC
  119.     int32_t CastSpeed; //0x0BB0
  120.     char pad_0BB4[844]; //0x0BB4
  121.     int32_t Rage[2]; //0x0F00
  122.     char pad_0F08[520]; //0x0F08
  123.     int32_t Resists[4]; //0x1110
  124.     char pad_1120[112]; //0x1120
  125.     int32_t Level; //0x1190
  126.     char pad_1194[19564]; //0x1194
  127.     Vector3 Crosshair; //0x5E00
  128.     char pad_5E0C[4980]; //0x5E0C
  129.     int32_t Crit; //0x7180
  130.     int32_t CritMax; //0x7184
  131.     int32_t Luck; //0x7188
  132.     int32_t LuckMax; //0x718C
  133.     int32_t Fishing; //0x7190
  134.     int32_t FishingMax; //0x7194
  135.     int32_t Gathering; //0x7198
  136.     int32_t GatheringMax; //0x719C
  137.     char pad_71A0[2344]; //0x71A0
  138.     float Mastery[44]; //0x7AC8
  139. }; //Size: 0x7B78
  140.  
  141. class LocalMount {
  142. public:
  143.     char pad_0000[8]; //0x0000
  144.     Vector3 PositionGround; //0x0008
  145.     char pad_0014[84]; //0x0014
  146.     wchar_t* Name; //0x0068
  147.     char pad_0070[10920]; //0x0070
  148.     int32_t Accel; //0x2B18
  149.     int32_t Speed; //0x2B1C
  150.     int32_t Turn; //0x2B20
  151.     int32_t Brake; //0x2B24
  152. }; //Size: 0x2B28
  153.  
  154. class Camera {
  155. public:
  156.     char pad_0000[88]; //0x0000
  157.     float Roll; //0x0058
  158.     float Pich; //0x005C
  159.     char pad_0060[8]; //0x0060
  160.     float Yaw; //0x0068
  161.     char pad_006C[880]; //0x006C
  162.     float Distance; //0x03DC
  163. }; //Size: 0x03E0
  164.  
  165. class LocalGameClient {
  166. public:
  167.     char pad_0000[56]; //0x0000
  168.     class Camera* pCamera; //0x0038
  169. }; //Size: 0x0040
  170.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement