├── 1.png ├── 2.png ├── Console.h ├── ESP.cpp ├── ESP.h ├── Entity.cpp ├── Entity.h ├── GameState.cpp ├── GameState.h ├── LICENSE ├── LocalPlayer.cpp ├── LocalPlayer.h ├── Math.h ├── Menu.cpp ├── Peb.h ├── README.md ├── Search.cpp ├── Search.h ├── Ults.cpp ├── Ults.h ├── Vector.cpp ├── Vector.h ├── XAnan CG Intern.vcxproj ├── XAnan CG Intern.vcxproj.filters ├── XAnan CG Intern.vcxproj.user ├── XAnan CG Intern ├── Address.cpp ├── Address.h ├── Aimbot.cpp ├── Aimbot.h ├── Bone.cpp ├── Bone.h ├── CS2_Dumper │ ├── animationsystem.dll.hpp │ ├── buttons.hpp │ ├── client.dll.hpp │ ├── engine2.dll.hpp │ ├── host.dll.hpp │ ├── interfaces.hpp │ ├── materialsystem2.dll.hpp │ ├── networksystem.dll.hpp │ ├── offsets.hpp │ ├── panorama.dll.hpp │ ├── particles.dll.hpp │ ├── pulse_system.dll.hpp │ ├── rendersystemdx11.dll.hpp │ ├── resourcesystem.dll.hpp │ ├── scenesystem.dll.hpp │ ├── schemasystem.dll.hpp │ ├── server.dll.hpp │ ├── soundsystem.dll.hpp │ ├── vphysics2.dll.hpp │ └── worldrenderer.dll.hpp ├── Cheat.cpp ├── Cheat.h ├── Console.cpp ├── Console.h ├── ESP.cpp ├── ESP.h ├── Entity.cpp ├── Entity.h ├── GameState.cpp ├── GameState.h ├── LocalPlayer.cpp ├── LocalPlayer.h ├── Math.h ├── Menu.cpp ├── Peb.h ├── Search.cpp ├── Search.h ├── Ults.cpp ├── Ults.h ├── Vector.cpp ├── Vector.h ├── XAnan CG Intern.vcxproj ├── XAnan CG Intern.vcxproj.filters ├── XAnan CG Intern.vcxproj.user ├── dllmain.cpp ├── imgui │ ├── color.h │ ├── font.h │ ├── imconfig.h │ ├── imgui.cpp │ ├── imgui.h │ ├── imgui_demo.cpp │ ├── imgui_draw.cpp │ ├── imgui_impl_dx11.cpp │ ├── imgui_impl_dx11.h │ ├── imgui_impl_win32.cpp │ ├── imgui_impl_win32.h │ ├── imgui_internal.h │ ├── imgui_settings.h │ ├── imgui_tables.cpp │ ├── imgui_widgets.cpp │ ├── imstb_rectpack.h │ ├── imstb_textedit.h │ └── imstb_truetype.h ├── include.h ├── kiero │ ├── kiero.cpp │ ├── kiero.h │ └── minhook │ │ ├── dll_resources │ │ ├── MinHook.def │ │ └── MinHook.rc │ │ ├── include │ │ └── MinHook.h │ │ └── src │ │ ├── buffer.c │ │ ├── buffer.h │ │ ├── hde │ │ ├── hde32.c │ │ ├── hde32.h │ │ ├── hde64.c │ │ ├── hde64.h │ │ ├── pstdint.h │ │ ├── table32.h │ │ └── table64.h │ │ ├── hook.c │ │ ├── trampoline.c │ │ └── trampoline.h ├── menu.h └── offsets.h ├── XAnan.sln ├── client_dll.hpp ├── dllmain.cpp ├── engine2_dll.hpp ├── include.h ├── menu.h ├── offsets.h ├── offsets.hpp ├── 个人跑路声明.jpg └── 圈钱记录.png /1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MitilcC/CS2-Internal-Cheat/15a42a6e282873b1aa43bcf6ab9dd036fb108af2/1.png -------------------------------------------------------------------------------- /2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MitilcC/CS2-Internal-Cheat/15a42a6e282873b1aa43bcf6ab9dd036fb108af2/2.png -------------------------------------------------------------------------------- /Console.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | namespace Console 9 | { 10 | inline FILE* file{ nullptr }; 11 | 12 | // Console info updates 13 | inline bool bLobbyStart{ true }; 14 | inline bool bInGameStart{ true }; 15 | inline bool bConsoleChanged{ true }; 16 | 17 | void InitConsole(); 18 | void DestroyConsole(); 19 | void PrintCheatOptions(const char * a); 20 | void Clear(); 21 | }; -------------------------------------------------------------------------------- /ESP.cpp: -------------------------------------------------------------------------------- 1 | #include "ESP.h" 2 | 3 | //thanks weedptr https://github.com/MitilcC/CS2-Internal-Cheat/issues/2 4 | void ESP::DrawHealth(float MaxHealth, float CurrentHealth, ImVec2 Pos, ImVec2 Size, bool Horizontal) 5 | { 6 | ImDrawList* DrawList = ImGui::GetBackgroundDrawList(); 7 | 8 | float Proportion = CurrentHealth / MaxHealth; 9 | 10 | ImColor FirstStageColor = ImColor(96, 246, 113, 220); 11 | ImColor SecondStageColor = ImColor(247, 214, 103, 220); 12 | ImColor ThirdStageColor = ImColor(255, 95, 95, 220); 13 | ImColor BackGroundColor = ImColor(90, 90, 90, 220); 14 | ImColor Color; 15 | if (Proportion > 0.5) 16 | Color = FirstStageColor; 17 | else if (Proportion > 0.25) 18 | Color = SecondStageColor; 19 | else 20 | Color = ThirdStageColor; 21 | 22 | DrawList->AddRectFilled(Pos, { Pos.x + Size.x, Pos.y + Size.y }, BackGroundColor); 23 | 24 | if (Horizontal) 25 | { 26 | DrawList->AddRectFilled(Pos, { Pos.x + Size.x * Proportion, Pos.y + Size.y }, Color); 27 | } 28 | else 29 | { 30 | float healthHeight = Size.y * Proportion; 31 | DrawList->AddRectFilled({ Pos.x, Pos.y + Size.y - healthHeight }, { Pos.x + Size.x, Pos.y + Size.y }, Color); 32 | } 33 | 34 | ImColor BorderColor = ImColor(45, 45, 45, 220); 35 | DrawList->AddRect(Pos, { Pos.x + Size.x, Pos.y + Size.y }, BorderColor); 36 | 37 | } 38 | 39 | 40 | bool ESP::Start() 41 | { 42 | 43 | Player LocalPlayer{}; 44 | 45 | LocalPlayer.control = Address::GetLocalPlayerControl(); 46 | 47 | if (!LocalPlayer.control) 48 | return false; 49 | 50 | LocalPlayer.pawn = Get::PlayerPawnAddress(LocalPlayer.control); 51 | 52 | if (!LocalPlayer.pawn) 53 | return false; 54 | 55 | LocalPlayer.team = Get::PlayerTeam(LocalPlayer.pawn); 56 | 57 | for (int i{ 0 }; i < 64; ++i) 58 | { 59 | 60 | Vector4 Draw {}; 61 | int distance = 0; 62 | 63 | Player Entity{}; 64 | 65 | Entity.control = Address::GetEntityBase(i); 66 | 67 | if (!Entity.control) 68 | continue; 69 | 70 | if(!Get::PawnAlive(Entity.control)) 71 | { 72 | continue; 73 | } 74 | 75 | Entity.pawn = Get::PlayerPawnAddress(Entity.control); 76 | 77 | if (!Entity.pawn) 78 | continue; 79 | 80 | Entity.team = Get::PlayerTeam(Entity.pawn); 81 | 82 | Entity.health = Get::PlayerHealth(Entity.pawn); 83 | 84 | if(Get::IsDormant(Entity.pawn)) 85 | { 86 | continue; 87 | } 88 | 89 | if (Menu::TeamCheck && Entity.team == LocalPlayer.team) 90 | { 91 | continue; 92 | } 93 | 94 | if (Entity.team != 2 && Entity.team != 3) 95 | { 96 | continue; 97 | } 98 | 99 | if (!Get::PlayerAlive(Entity.pawn)) 100 | { 101 | continue; 102 | } 103 | 104 | Entity.name = Get::PlayerName(Entity.control); 105 | 106 | Entity.pos = Get::PlayerPos(Entity.pawn); 107 | 108 | const float w { ImGui::GetIO().DisplaySize.x }; 109 | const float h { ImGui::GetIO().DisplaySize.y }; 110 | 111 | Vector3 currBotPos = Get::BonePos(Entity.pawn, BoneIndex::ankle_L) ; 112 | 113 | Vector3 currTopPos = Get::BonePos(Entity.pawn, BoneIndex::head) ; 114 | 115 | 116 | Vector3 curr2DBot{}; 117 | Vector3 curr2DTop{}; 118 | 119 | 120 | if (!Utils::WorldToScreen(currBotPos, curr2DBot, Address::GetViewMatrixPtr(), w, h)) 121 | continue; 122 | 123 | 124 | if (!Utils::WorldToScreen(currTopPos, curr2DTop, Address::GetViewMatrixPtr(), w, h)) 125 | continue; 126 | 127 | const float height{ ::abs(curr2DTop.y - curr2DBot.y) * 1.25f }; 128 | const float width{ height / 2.f }; 129 | const float x = curr2DTop.x - (width / 2.f); 130 | const float y = curr2DTop.y - (width / 2.5f); 131 | 132 | 133 | if(Menu::Misc::Rander) 134 | Set::RadarHack(Entity.pawn); 135 | 136 | if(Menu::ESP::Glow) 137 | Set::GlowHack(Entity.pawn); 138 | 139 | if (Menu::ESP::Box) 140 | { 141 | if(Menu::ESP::BoxType == 0) 142 | ImGui::GetBackgroundDrawList()->AddRect(ImVec2(x, y), ImVec2(x + width, y + height), Menu::Color::BoxColor, 3); 143 | else 144 | ImGui::GetBackgroundDrawList()->AddRectFilled(ImVec2(x, y), ImVec2(x + width, y + height), Menu::Color::FilledColor, 3); 145 | } 146 | 147 | if (Menu::ESP::Line) 148 | { 149 | if (Menu::ESP::LineType == 0) 150 | ImGui::GetBackgroundDrawList()->AddLine(ImVec2(w / 2, h), ImVec2(x + height / 2, y + height), Menu::Color::LineColor); 151 | else 152 | ImGui::GetBackgroundDrawList()->AddLine(ImVec2(w / 2, 0), ImVec2(x + height / 2, y), Menu::Color::LineColor); 153 | } 154 | 155 | 156 | if (Menu::ESP::Health) 157 | { 158 | ImVec2 healthBarPos = ImVec2(x - 10, y); // Adjust position as needed 159 | ImVec2 healthBarSize = ImVec2(5, height); // Adjust size as needed 160 | 161 | DrawHealth(100.0f, static_cast(Entity.health), healthBarPos, healthBarSize, false); 162 | } 163 | 164 | if (Menu::ESP::Name) 165 | { 166 | ImGui::PushFont(chinesefont); 167 | ImGui::GetBackgroundDrawList()->AddText(ImVec2(x, y - 10), Menu::Color::NameColor, Entity.name.c_str()); 168 | ImGui::PopFont(); 169 | } 170 | 171 | if(Menu::ESP::Weapon) 172 | { 173 | ImGui::GetBackgroundDrawList()->AddText(ImVec2(x, y + height + 10), Menu::Color::WeaponColor,Get::GetWeaponName(Entity.pawn).c_str()); 174 | } 175 | 176 | if (Menu::ESP::AimCricle) 177 | { 178 | if (Menu::ESP::CricleType == 0) 179 | { 180 | currBotPos = Get::BonePos(Entity.pawn, Menu::Aimbot::AimPos); 181 | if (!Utils::WorldToScreen(currBotPos, curr2DBot, Address::GetViewMatrixPtr(), w, h)) 182 | continue; 183 | 184 | ImGui::GetBackgroundDrawList()->AddCircle(ImVec2(curr2DBot.x, curr2DBot.y), Menu::Aimbot::AimSize, Menu::Color::AimCricleColor, 0, 1.5); 185 | } 186 | else 187 | { 188 | ImGui::GetBackgroundDrawList()->AddCircle(ImVec2(w / 2, h / 2), Menu::Aimbot::AimSize, Menu::Color::AimCricleColor, 0, 1.5); 189 | } 190 | 191 | } 192 | 193 | if (Menu::ESP::Bone) 194 | { 195 | Bone::Start(Entity.pawn, Menu::Color::BoneColor); 196 | } 197 | 198 | 199 | 200 | if (Menu::ESP::HeadCricle) 201 | { 202 | Bone::HeadCricle(Entity.pawn, Menu::Color::HeadCricleColor); 203 | } 204 | 205 | } 206 | 207 | return true; 208 | } 209 | 210 | -------------------------------------------------------------------------------- /ESP.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "imgui/imgui.h" 3 | #include "imgui/imgui_impl_win32.h" 4 | #include "imgui/imgui_impl_dx11.h" 5 | #include "Address.h" 6 | #include "LocalPlayer.h" 7 | #include "Entity.h" 8 | #include "menu.h" 9 | #include "Ults.h" 10 | #include 11 | #include 12 | #include "Console.h" 13 | #include "Bone.h" 14 | 15 | namespace ESP 16 | { 17 | void DrawHealth(float MaxHealth, float CurrentHealth, ImVec2 Pos, ImVec2 Size, bool Horizontal = true); 18 | bool Start(); 19 | }; -------------------------------------------------------------------------------- /Entity.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MitilcC/CS2-Internal-Cheat/15a42a6e282873b1aa43bcf6ab9dd036fb108af2/Entity.cpp -------------------------------------------------------------------------------- /Entity.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "Windows.h" 3 | #include "Offsets.h" 4 | #include "Address.h" 5 | #include "Vector.h" 6 | #include "imgui/imgui.h" 7 | #include "imgui/imgui_impl_win32.h" 8 | #include "imgui/imgui_impl_dx11.h" 9 | #include 10 | #include 11 | #include 12 | 13 | class Player 14 | { 15 | public: 16 | intptr_t control; 17 | intptr_t pawn; 18 | int health; 19 | int team; 20 | Vector3 pos; 21 | std::string name; 22 | }; 23 | 24 | enum BoneIndex 25 | { 26 | head = 6, 27 | neck_0 = 5, 28 | spine_1 = 4, 29 | spine_2 = 2, 30 | pelvis = 0, 31 | arm_upper_L = 8, 32 | arm_lower_L = 9, 33 | hand_L = 10, 34 | arm_upper_R = 13, 35 | arm_lower_R = 14, 36 | hand_R = 15, 37 | leg_upper_L = 22, 38 | leg_lower_L = 23, 39 | ankle_L = 24, 40 | leg_upper_R = 25, 41 | leg_lower_R = 26, 42 | ankle_R = 27, 43 | }; 44 | 45 | namespace Get 46 | { 47 | intptr_t PlayerPawnAddress(intptr_t addr); 48 | bool PawnAlive(intptr_t addr); 49 | bool PlayerAlive(intptr_t addr); 50 | int PlayerTeam(intptr_t addr); 51 | int PlayerHealth(intptr_t addr); 52 | Vector3 PlayerPos(intptr_t addr); 53 | Vector3 BonePos(intptr_t addr, int32_t index); 54 | bool IsDormant(intptr_t addr); 55 | std::string PlayerName(intptr_t addr); 56 | Vector3 WindowSize(); 57 | Vector3 LastCameraPos(intptr_t addr); 58 | std::string GetWeaponName(intptr_t addr); 59 | } 60 | 61 | namespace Set 62 | { 63 | void RadarHack(intptr_t addr); 64 | void GlowHack(intptr_t addr); 65 | } 66 | 67 | struct BoneJoint 68 | { 69 | Vector3 pos{}; 70 | float scale; 71 | float rotation[4]; 72 | }; 73 | -------------------------------------------------------------------------------- /GameState.cpp: -------------------------------------------------------------------------------- 1 | #include "GameState.h" 2 | 3 | bool GameState::IsDeathMatch() 4 | { 5 | const intptr_t* deathMatchPtr{ Address::GetDeathMatchRulesPtr() }; 6 | return deathMatchPtr ? true : false; 7 | } 8 | 9 | int GameState::GetMatchState() 10 | { 11 | const int matchStateId{ *Address::GetMatchStateIdPtr() }; 12 | 13 | return matchStateId; 14 | } 15 | 16 | 17 | bool GameState::IsMatchStarted() 18 | { 19 | const int matchStateId{ *Address::GetMatchStateIdPtr() }; 20 | 21 | //std::cout << matchStateId << '\n'; 22 | 23 | switch (matchStateId) 24 | { 25 | case IN_GAME: return true; 26 | case IN_LOBBY: return false; 27 | case NO_STATE: return false; 28 | case UN_KNOWN: return true; 29 | case NOCONNECT: return false; 30 | default: return false; 31 | } 32 | 33 | return false; 34 | } -------------------------------------------------------------------------------- /GameState.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "Address.h" 4 | #include "Console.h" 5 | 6 | namespace GameState 7 | { 8 | enum GameStateId 9 | { 10 | NO_STATE, 11 | IN_LOBBY = 4, 12 | IN_GAME = 8, 13 | UN_KNOWN = 16, 14 | NOCONNECT = 2, 15 | }; 16 | 17 | inline bool bDefaultChange{ false }; 18 | bool IsDeathMatch(); 19 | bool IsMatchStarted(); 20 | int GetMatchState(); 21 | }; -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Mitil 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /LocalPlayer.cpp: -------------------------------------------------------------------------------- 1 | #include "LocalPlayer.h" 2 | 3 | 4 | bool LocalPlayer::SetViewAngles(const Vector3& targetAngle) 5 | { 6 | 7 | Vector3* viewAnglesPtr{ Address::GetViewAnglesPtr() }; 8 | 9 | if (!viewAnglesPtr) return false; 10 | 11 | viewAnglesPtr->x = targetAngle.x; 12 | viewAnglesPtr->y = targetAngle.y; 13 | 14 | return true; 15 | } 16 | 17 | Vector3 LocalPlayer::GetViewAngles() 18 | { 19 | return *reinterpret_cast(Offset::GPointers::ClientMod + Offset::GPointers::ViewAngles); 20 | } 21 | 22 | bool LocalPlayer::SetSmoothViewAngles(Vector3 pTargetAngle, const int pSmoothValue) 23 | { 24 | Vector3* lpViewAngles{ Address::GetViewAnglesPtr() }; 25 | 26 | Vector3 deltaAngle{ pTargetAngle - *lpViewAngles }; 27 | 28 | Aimbot::NormalizeYaw(deltaAngle.y); 29 | 30 | if (lpViewAngles->x != pTargetAngle.x) 31 | lpViewAngles->x += deltaAngle.x / pSmoothValue; 32 | 33 | if (lpViewAngles->y != pTargetAngle.y) 34 | lpViewAngles->y += deltaAngle.y / pSmoothValue; 35 | 36 | return true; 37 | } 38 | 39 | -------------------------------------------------------------------------------- /LocalPlayer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "Address.h" 3 | #include "Entity.h" 4 | #include "Vector.h" 5 | #include "Aimbot.h" 6 | 7 | namespace LocalPlayer 8 | { 9 | bool SetViewAngles(const Vector3& targetAngle); 10 | bool SetSmoothViewAngles(Vector3 pTargetAngle, const int pSmoothValue); 11 | Vector3 GetViewAngles(); 12 | }; -------------------------------------------------------------------------------- /Math.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace Math 6 | { 7 | inline double distance(float x, float y) 8 | { 9 | return sqrt(pow(x, 2) + pow(y, 2)); 10 | } 11 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # CS2-Internal-Cheat 2 | 抱歉占用大家一些时间,接下来我要介绍一位国内顶级cv 私募崽 3 | 在此之前对不起兄弟 我要让你火一火了! 此人我们就称为CV技术哥 纯废狗 舔完就咬 吃相难看 QQ:1824814791 4 | 你爹好心帮你改源码半夜十二点收你10块钱 舔完转头就成我给你自瞄改废了 圈你十块钱 hhh你木琴真是早s了! 5 | APEX cv了一个月的源码让人远控格盘了 有意思不 还cv不? cv技术哥! 人家找你逆向游戏找数据 你鸽人家一天就改名跑路互联网谁不认识是咋的? 6 | 你不是想出名吗?你爹让你出出名 hhh 7 | 8 | ![image](https://github.com/MitilcC/CS2-Internal-Cheat/blob/main/个人跑路声明.jpg) 9 | 10 | ![image](https://github.com/MitilcC/CS2-Internal-Cheat/blob/main/圈钱记录.png) 11 | 12 | Free and open-source internal cheat for CS2, written in C++, working on Windows 13 | 免费并且开源的CS2内部辅助,它被用于Windows系统 14 | 15 | Thanks to Liv's open source, it helped me a lot. 16 | 感谢Liv的开源源码,它帮助了我很多 17 | 18 | This new menu pasted from unknow~ Thanks open-source 19 | 这个菜单粘贴自unknowcheats的源码 20 | 21 | This project uses Kiero's D3D11 hook support library and uses the imgui-based runtime to draw the game. 22 | 这个项目使用kiero的hook支持库以及使用imgui来绘制在游戏上 23 | 24 | If you like this item you can collect and give me stars 25 | 如果你喜欢可以点亮星星 26 | 27 | The project is now being perfected 28 | 这个项目正在完善中 29 | 30 | My QQ Group (China) : 942217525 31 | 更新QQ群:942217525 32 | 33 | Update Log : 34 | 更新内容: 35 | 36 | 1. Fix crash game // 修复游戏闪退 37 | 2. Fix Rander Hacker // 修复雷达功能 38 | 3. Add Glow Hacker // 添加发光功能 39 | 4. Fix Bone // 修复骨骼存在的问题 40 | 41 | ## Functions 42 | 43 | > 1. BoneESP 44 | > 45 | > 2. BoxESP(two types) 46 | > 47 | > 3. AimBot 48 | > 49 | > 4. HealthESP 50 | > 51 | > 5. NameESP 52 | > 53 | > 6. RanderHack 54 | > 55 | > 7. AimCricle 56 | > 57 | > 8. LinetoEmery(two types) 58 | > 59 | > 9. BoneESP(Draw) 60 | > 61 | > 10. Glow 62 | 63 | ## Features that will be added in the future 64 | 65 | > 1. Aimbot(Rcs Client) 66 | > 67 | > 2. MiscFunction 68 | > 69 | > 3. MoreVisual 70 | > 71 | > 4. RageBot 72 | > 73 | > 5. Hook Createmove and some events 74 | > 75 | > 6. Custom glow color 76 | 77 | ## Waring !!! 78 | The purpose of this project is to learn, please ignore the use for illegal purposes, otherwise at your own risk ! 79 | 这个项目仅用于学习交流,请忽用于非法用途,否则后果自负 80 | 81 | ![image](https://github.com/MitilcC/CS2-Internal-Cheat/blob/main/2.png) 82 | 83 | ## How to use? 84 | > 1.You need c++2024(c++17) and use Realse x64 85 | > 86 | > 2.Find a good inject(manumal map) 87 | > 88 | > 3.Inject the dll to game 89 | > 90 | > 4.Enjoy~ 91 | -------------------------------------------------------------------------------- /Search.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "Offsets.h" 3 | #include "Vector.h" 4 | #include "Peb.h" 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include "Console.h" 10 | class PatternScan 11 | { 12 | private: 13 | std::map pointersState; 14 | 15 | PEB* GetPEB(); 16 | LDR_DATA_TABLE_ENTRY* GetLdrEntry(const wchar_t* pModName); 17 | 18 | void SetViewAngles(LDR_DATA_TABLE_ENTRY* pLdrEntry, const std::string& pPattern); 19 | void SetPrediction(LDR_DATA_TABLE_ENTRY* pLdrEntry, const std::string& pPattern); 20 | void SetViewMatrix(LDR_DATA_TABLE_ENTRY* pLdrEntry, const std::string& pPattern); 21 | void SetGameRules(LDR_DATA_TABLE_ENTRY* pLdrEntry, const std::string& pPattern); 22 | void SetLpController(LDR_DATA_TABLE_ENTRY* pLdrEntry, const std::string& pPattern); 23 | void SetGameEntitySystem(LDR_DATA_TABLE_ENTRY* pLdrEntry, const std::string& pPattern); 24 | 25 | intptr_t GetPatternSize(const std::string& pPattern); 26 | std::vector GetParsedPattern(const std::string& pPattern); 27 | intptr_t GetPatternAddr(char* currRegion, intptr_t pRegionSize, const std::string& pPattern); 28 | intptr_t GetValidMemRegion(LDR_DATA_TABLE_ENTRY* pLdrEntry, const std::string& pPattern); 29 | intptr_t ExtractPointer(intptr_t pPatternResult); 30 | 31 | public: 32 | 33 | void SetClientMod(PVOID pDllBase); 34 | void SetEngine2Mod(PVOID pDllBase); 35 | bool ArePointersInit(); 36 | bool InitPointers(); 37 | std::map GetPtrState(); 38 | }; 39 | 40 | namespace Pattern 41 | { 42 | inline const std::string EntityList{ "48 8B 0D ?? ?? ?? ?? 48 89 7C 24 ?? 8B FA C1 EB" }; 43 | inline const std::string ViewMatrix{ "48 8D 0D ?? ?? ?? ?? 48 C1 E0 06" }; 44 | inline const std::string LP_Controller{ "48 8B ? ? ? ? ? 48 85 ? 74 ? B2 ? E8 ? ? ? ? 45 33" }; 45 | inline const std::string GameRules{ "48 8B ? ? ? ? ? 4C 8B ? 48 8B ? 48 8B ? FF 90 ? ? ? ? 0F B6" }; 46 | inline const std::string Prediction{ "48 8B ? ? ? ? ? B2 ? F3 0F ? ? ? ? 89 6C" }; 47 | inline const std::string CCSGoInput{ "4C 89 ? ? ? ? ? 0F 11 ? ? ? ? ? 48 89 ? ? ? ? ? 4C 89" }; // Dereference 2 times 48 | inline const std::string BoneMatrix{ "4D 8B ? ? ? ? ? 4D 8B ? ? ? ? ? 8B 9F" }; 49 | } 50 | -------------------------------------------------------------------------------- /Ults.cpp: -------------------------------------------------------------------------------- 1 | #include "Ults.h" 2 | 3 | 4 | bool Utils::WorldToScreen(Vector3 pWorldPos, Vector3& pScreenPos, float* pMatrixPtr, const FLOAT pWinWidth, const FLOAT pWinHeight) 5 | { 6 | float matrix2[4][4]; 7 | 8 | memcpy(matrix2, pMatrixPtr, 16 * sizeof(float)); 9 | 10 | const float mX{ pWinWidth / 2 }; 11 | const float mY{ pWinHeight / 2 }; 12 | 13 | const float w{ 14 | matrix2[3][0] * pWorldPos.x + 15 | matrix2[3][1] * pWorldPos.y + 16 | matrix2[3][2] * pWorldPos.z + 17 | matrix2[3][3] }; 18 | 19 | if (w < 0.65f) return false; 20 | 21 | const float x{ 22 | matrix2[0][0] * pWorldPos.x + 23 | matrix2[0][1] * pWorldPos.y + 24 | matrix2[0][2] * pWorldPos.z + 25 | matrix2[0][3] }; 26 | 27 | const float y{ 28 | matrix2[1][0] * pWorldPos.x + 29 | matrix2[1][1] * pWorldPos.y + 30 | matrix2[1][2] * pWorldPos.z + 31 | matrix2[1][3] }; 32 | 33 | pScreenPos.x = (mX + mX * x / w); 34 | pScreenPos.y = (mY - mY * y / w); 35 | pScreenPos.z = 0; 36 | 37 | return true; 38 | } 39 | 40 | bool Utils::WorldToScreen2(Vector3 pWorldPos, Vector4& pScreenPos, float* pMatrixPtr, const FLOAT pWinWidth, const FLOAT pWinHeight, int& distance) 41 | { 42 | float matrix2[4][4]; 43 | 44 | memcpy(matrix2, pMatrixPtr, 16 * sizeof(float)); 45 | 46 | float view = matrix2[2][0] * pWorldPos.x + matrix2[2][1] * pWorldPos.y + matrix2[2][2] * pWorldPos.z + matrix2[2][3] ; 47 | 48 | if (view < 0.01f) return false; 49 | 50 | view = 1 / view; 51 | 52 | float mX = pWinWidth / 2 + (matrix2[0][0] * pWorldPos.x + matrix2[0][1] * pWorldPos.y + matrix2[0][2] * pWorldPos.z + matrix2[0][3]) * view * pWinWidth / 2; 53 | 54 | float mY = pWinHeight / 2 - (matrix2[1][0] * pWorldPos.x + matrix2[1][1] * pWorldPos.y + matrix2[1][2] * (pWorldPos.z + 72) + matrix2[1][3]) * view * pWinHeight / 2; 55 | 56 | float mY2 = pWinHeight / 2 - (matrix2[1][0] * pWorldPos.x + matrix2[1][1] * pWorldPos.y + matrix2[1][2] * (pWorldPos.z - 1.5) + matrix2[1][3]) * view * pWinHeight / 2; 57 | 58 | float mH = mY2 - mY; 59 | 60 | pScreenPos.x = mX - mH / 4; 61 | pScreenPos.y = mY; 62 | pScreenPos.h = mH; 63 | pScreenPos.w = mH / 2; 64 | 65 | return true; 66 | } -------------------------------------------------------------------------------- /Ults.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include "Vector.h" 5 | 6 | namespace Utils 7 | { 8 | bool WorldToScreen(Vector3 pWorldPos, Vector3& pScreenPos, float* pMatrixPtr, const FLOAT pWinWidth, const FLOAT pWinHeight); 9 | bool WorldToScreen2(Vector3 pWorldPos, Vector4& pScreenPos, float* pMatrixPtr, const FLOAT pWinWidth, const FLOAT pWinHeight, int& distance); 10 | 11 | } 12 | -------------------------------------------------------------------------------- /Vector.cpp: -------------------------------------------------------------------------------- 1 | #include "Vector.h" 2 | 3 | Vector3 Vector3::operator+(Vector3 d) 4 | { 5 | return { x + d.x, y + d.y, z + d.z }; 6 | } 7 | 8 | Vector3 Vector3::operator-(Vector3 d) 9 | { 10 | return { x - d.x, y - d.y, z - d.z }; 11 | } 12 | 13 | Vector3 Vector3::operator*(Vector3 d) 14 | { 15 | return { x * d.x, y * d.y, z * d.z }; 16 | } 17 | 18 | Vector3 Vector3::operator*(float d) 19 | { 20 | return { x * d, y * d, z * d }; 21 | } 22 | 23 | Vector4 Vector4::operator+(Vector4 d) 24 | { 25 | return { x + d.x, y + d.y, w + d.w, h + d.h }; 26 | } 27 | 28 | Vector4 Vector4::operator-(Vector4 d) 29 | { 30 | return { x - d.x, y - d.y, w - d.w, h - d.h }; 31 | } 32 | 33 | Vector4 Vector4::operator*(Vector4 d) 34 | { 35 | return { x * d.x, y * d.y, w * d.w, h * d.h }; 36 | } 37 | 38 | Vector4 Vector4::operator*(float d) 39 | { 40 | return { x * d, y * d, w * d, h * d}; 41 | } -------------------------------------------------------------------------------- /Vector.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | struct Vector3 4 | { 5 | float x, y, z; 6 | 7 | Vector3 operator+(Vector3 d); 8 | Vector3 operator-(Vector3 d); 9 | Vector3 operator*(Vector3 d); 10 | Vector3 operator*(float d); 11 | }; 12 | 13 | struct Vector4 14 | { 15 | float x, y, w, h; 16 | 17 | Vector4 operator+(Vector4 d); 18 | Vector4 operator-(Vector4 d); 19 | Vector4 operator*(Vector4 d); 20 | Vector4 operator*(float d); 21 | }; -------------------------------------------------------------------------------- /XAnan CG Intern.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 6 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd 7 | 8 | 9 | {8154ad2d-852f-43b4-9c12-f71e095f339c} 10 | 11 | 12 | {0caebb7a-6174-435d-8e6f-d1d670493bc4} 13 | 14 | 15 | {7d3531d0-b192-4cca-92e9-ac22eccc7da0} 16 | 17 | 18 | {51cb0931-f8ad-41b1-b8dc-cc40698e637b} 19 | 20 | 21 | {bf13f3cf-4633-4c15-8928-f57637fb9cc7} 22 | 23 | 24 | {9d9e7049-12d9-40a6-bc6d-43d9c73c236c} 25 | 26 | 27 | {76f32978-c5ba-46e6-b96e-b94d9bf497f0} 28 | 29 | 30 | 31 | 32 | include 33 | 34 | 35 | include\kiero 36 | 37 | 38 | include\kiero 39 | 40 | 41 | include\kiero 42 | 43 | 44 | include\kiero 45 | 46 | 47 | include\kiero 48 | 49 | 50 | include\kiero 51 | 52 | 53 | include\kiero 54 | 55 | 56 | include\kiero 57 | 58 | 59 | include\kiero 60 | 61 | 62 | sdk 63 | 64 | 65 | sdk 66 | 67 | 68 | sdk 69 | 70 | 71 | sdk 72 | 73 | 74 | sdk 75 | 76 | 77 | sdk 78 | 79 | 80 | sdk 81 | 82 | 83 | sdk 84 | 85 | 86 | cheat 87 | 88 | 89 | cheat\feature 90 | 91 | 92 | cheat\menu 93 | 94 | 95 | cheat\feature 96 | 97 | 98 | sdk 99 | 100 | 101 | imgui 102 | 103 | 104 | imgui 105 | 106 | 107 | imgui 108 | 109 | 110 | imgui 111 | 112 | 113 | imgui 114 | 115 | 116 | imgui 117 | 118 | 119 | imgui 120 | 121 | 122 | imgui 123 | 124 | 125 | imgui 126 | 127 | 128 | imgui 129 | 130 | 131 | imgui 132 | 133 | 134 | cheat\menu 135 | 136 | 137 | sdk 138 | 139 | 140 | sdk 141 | 142 | 143 | sdk\dumper 144 | 145 | 146 | sdk\dumper 147 | 148 | 149 | sdk\dumper 150 | 151 | 152 | 153 | 154 | include\kiero 155 | 156 | 157 | include\kiero 158 | 159 | 160 | include\kiero 161 | 162 | 163 | include\kiero 164 | 165 | 166 | include\kiero 167 | 168 | 169 | include\kiero 170 | 171 | 172 | sdk 173 | 174 | 175 | sdk 176 | 177 | 178 | sdk 179 | 180 | 181 | sdk 182 | 183 | 184 | sdk 185 | 186 | 187 | 188 | cheat 189 | 190 | 191 | cheat\feature 192 | 193 | 194 | sdk 195 | 196 | 197 | cheat\menu 198 | 199 | 200 | cheat\feature 201 | 202 | 203 | sdk 204 | 205 | 206 | imgui 207 | 208 | 209 | imgui 210 | 211 | 212 | imgui 213 | 214 | 215 | imgui 216 | 217 | 218 | imgui 219 | 220 | 221 | imgui 222 | 223 | 224 | cheat\menu 225 | 226 | 227 | sdk 228 | 229 | 230 | 231 | 232 | include\kiero 233 | 234 | 235 | 236 | 237 | include\kiero 238 | 239 | 240 | -------------------------------------------------------------------------------- /XAnan CG Intern.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /XAnan CG Intern/Address.cpp: -------------------------------------------------------------------------------- 1 | #include "Address.h" 2 | 3 | intptr_t Address::GetEntityBase(intptr_t pIndex) 4 | { 5 | const intptr_t entListBase{ static_cast(ReadInternalMem(Offset::GPointers::ClientMod, 6 | { Offset::GPointers::EntityList, Offset::EntityListPtr })) }; 7 | 8 | constexpr intptr_t entPadding{ 0x78 }; 9 | const intptr_t currEntIndex{ (pIndex + 1) * entPadding }; 10 | return static_cast(ReadInternalMem(entListBase, { currEntIndex })); 11 | } 12 | 13 | float* Address::GetViewMatrixPtr() 14 | { 15 | return reinterpret_cast(Offset::GPointers::ClientMod + Offset::GPointers::ViewMatrix); 16 | } 17 | 18 | Vector3* Address::GetViewAnglesPtr() 19 | { 20 | return reinterpret_cast(Offset::GPointers::ClientMod + Offset::GPointers::ViewAngles); 21 | } 22 | 23 | intptr_t Address::GetPredictionBase() 24 | { 25 | return static_cast(ReadInternalMem(Offset::GPointers::ClientMod, { Offset::GPointers::Prediction })); 26 | } 27 | 28 | intptr_t Address::GetLocalPlayerControl() 29 | { 30 | return static_cast(ReadInternalMem(Offset::GPointers::ClientMod, { Offset::GPointers::LP_Controller })); 31 | } 32 | 33 | int* Address::GetMatchStateIdPtr() 34 | { 35 | return reinterpret_cast(Address::GetPredictionBase() + Offset::IsMatchStarted); 36 | } 37 | 38 | intptr_t* Address::GetDeathMatchRulesPtr() 39 | { 40 | const intptr_t deathMatchRulesPtr{ static_cast(ReadInternalMem(Offset::GPointers::ClientMod, 41 | { 42 | Offset::GPointers::GameRules, 43 | Offset::CS_GameRules::GameModeRules , 44 | Offset::CS_GameRules::DeathMatchPtr 45 | } 46 | )) }; 47 | 48 | return reinterpret_cast(deathMatchRulesPtr); 49 | } 50 | 51 | intptr_t Address::GetEntityList() 52 | { 53 | return static_cast(ReadInternalMem(Offset::GPointers::ClientMod, { Offset::GPointers::EntityList })); 54 | } -------------------------------------------------------------------------------- /XAnan CG Intern/Address.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include "offsets.h" 5 | #include "Vector.h" 6 | #include "Windows.h" 7 | 8 | namespace Address 9 | { 10 | float* GetViewMatrixPtr(); 11 | int* GetMatchStateIdPtr(); 12 | Vector3* GetViewAnglesPtr(); 13 | intptr_t GetPredictionBase(); 14 | intptr_t GetLocalPlayerControl(); 15 | intptr_t* GetDeathMatchRulesPtr(); 16 | intptr_t GetEntityList(); 17 | intptr_t GetEntityBase(intptr_t pIndex); 18 | 19 | template 20 | T ReadInternalMem(intptr_t pBaseAddr, std::vector pListOffset) 21 | { 22 | if ((!pBaseAddr || pListOffset.empty())) 23 | return T(); 24 | 25 | intptr_t addrBuffer{ pBaseAddr }; 26 | T addrResult{}; 27 | 28 | for (const auto& currOffset : pListOffset) 29 | { 30 | if (!currOffset) return T(); 31 | 32 | if (IsBadReadPtr((void*)(addrBuffer + currOffset), sizeof(T))) 33 | return NULL; 34 | 35 | addrBuffer = *reinterpret_cast(addrBuffer + currOffset); 36 | addrResult = static_cast(addrBuffer); 37 | } 38 | 39 | return addrResult; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /XAnan CG Intern/Aimbot.cpp: -------------------------------------------------------------------------------- 1 | #include "Aimbot.h" 2 | 3 | Vector3 LastAngles{}; 4 | bool ShotFired = false; 5 | Vector3 WantAngele{}; 6 | 7 | bool Aimbot::GetBestTarget() 8 | { 9 | Player LocalPlayer{}; 10 | 11 | LocalPlayer.control = Address::GetLocalPlayerControl(); 12 | 13 | if (!LocalPlayer.control) 14 | return false; 15 | 16 | LocalPlayer.pawn = Get::PlayerPawnAddress(LocalPlayer.control); 17 | 18 | if (!LocalPlayer.pawn) 19 | return false; 20 | 21 | LocalPlayer.team = Get::PlayerTeam(LocalPlayer.pawn); 22 | 23 | if (!Get::PlayerAlive(LocalPlayer.pawn)) 24 | { 25 | return false; 26 | } 27 | 28 | int Distance = 0; 29 | int LastDistance = 999999999; 30 | 31 | for (int i{ 0 }; i < 64; ++i) 32 | { 33 | 34 | Player Entity{}; 35 | 36 | Entity.control = Address::GetEntityBase(i); 37 | 38 | if (!Entity.control) 39 | continue; 40 | 41 | if (!Get::PawnAlive(Entity.control)) 42 | { 43 | continue; 44 | } 45 | 46 | Entity.pawn = Get::PlayerPawnAddress(Entity.control); 47 | 48 | if (!Entity.pawn) 49 | continue; 50 | 51 | Entity.team = Get::PlayerTeam(Entity.pawn); 52 | 53 | Entity.health = Get::PlayerHealth(Entity.pawn); 54 | 55 | if (Get::IsDormant(Entity.pawn)) 56 | { 57 | continue; 58 | } 59 | 60 | if (Menu::TeamCheck && Entity.team == LocalPlayer.team) 61 | { 62 | continue; 63 | } 64 | 65 | if (Entity.team != 2 && Entity.team != 3) 66 | { 67 | continue; 68 | } 69 | 70 | if (!Get::PlayerAlive(Entity.pawn)) 71 | { 72 | continue; 73 | } 74 | 75 | Vector3 AimPos = Get::BonePos(Entity.pawn, Menu::Aimbot::AimPos); 76 | 77 | Vector3 EndPos{}; 78 | 79 | Vector3 Window = Get::WindowSize(); 80 | 81 | if (!Utils::WorldToScreen(AimPos, EndPos, Address::GetViewMatrixPtr(), Window.x, Window.y)) 82 | continue; 83 | 84 | if (EndPos.x > Window.x / 2 - Menu::Aimbot::AimSize && EndPos.x < Window.x / 2 + Menu::Aimbot::AimSize && EndPos.y > Window.y / 2 - Menu::Aimbot::AimSize && EndPos.y < Window.y / 2 + Menu::Aimbot::AimSize) 85 | { 86 | int left = Window.x / 2 - EndPos.x ; 87 | int right = Window.y / 2 - EndPos.y; 88 | Distance = Math::distance(left,right); 89 | if(Distance < LastDistance) 90 | { 91 | LastDistance = Distance; 92 | Target::addr= Entity.pawn; 93 | } 94 | } 95 | } 96 | 97 | return true; 98 | } 99 | 100 | 101 | void Aimbot::NormalizePitch(float& pPitch) 102 | { 103 | pPitch = (pPitch < -89.0f) ? -89.0f : pPitch; 104 | 105 | pPitch = (pPitch > 89.f) ? 89.0f : pPitch; 106 | } 107 | 108 | void Aimbot::NormalizeYaw(float& pYaw) 109 | { 110 | while (pYaw > 180.f) pYaw -= 360.f; 111 | 112 | while (pYaw < -180.f) pYaw += 360.f; 113 | } 114 | 115 | float Aimbot::GetMagnitude(const Vector3& pVec) 116 | { 117 | return ::sqrtf((pVec.x * pVec.x) + 118 | (pVec.y * pVec.y) + 119 | (pVec.z * pVec.z)); 120 | } 121 | 122 | Vector3 Aimbot::GetTargetAngle(Vector3 pTargetPos) 123 | { 124 | Vector3 targetAngle{}; 125 | Player LocalPlayer{}; 126 | 127 | LocalPlayer.control = Address::GetLocalPlayerControl(); 128 | 129 | LocalPlayer.pawn = Get::PlayerPawnAddress(LocalPlayer.control); 130 | 131 | Vector3 lpPos = Get::LastCameraPos(LocalPlayer.pawn); 132 | 133 | const Vector3 deltaPos{ pTargetPos - lpPos }; 134 | 135 | const float distPos{ GetMagnitude(deltaPos) }; 136 | 137 | constexpr float radToDegree{ 57.295776f }; 138 | targetAngle.x = -asinf(deltaPos.z / distPos) * radToDegree; 139 | targetAngle.y = atan2f(deltaPos.y, deltaPos.x) * radToDegree; 140 | 141 | NormalizePitch(targetAngle.x); 142 | 143 | return targetAngle; 144 | } 145 | 146 | void Aimbot::ReleaseMouseButton() 147 | { 148 | std::this_thread::sleep_for(std::chrono::milliseconds(200)); 149 | mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); 150 | } 151 | 152 | bool Aimbot::ShotTarget() 153 | { 154 | Vector3 targetAngle{}; 155 | LastAngles = LocalPlayer::GetViewAngles(); 156 | targetAngle = Aimbot::GetTargetAngle(Get::BonePos(Target::addr,Menu::Aimbot::AimPos)); 157 | LocalPlayer::SetViewAngles(targetAngle); 158 | //mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); 159 | ShotFired = true; 160 | } 161 | 162 | bool Aimbot::Start() 163 | { 164 | bool CanAim = GetBestTarget(); 165 | 166 | if (GetAsyncKeyState(Menu::Aimbot::AimKey) && CanAim) 167 | { 168 | if (Get::PlayerAlive(Target::addr)) 169 | { 170 | ShotTarget(); 171 | } 172 | else 173 | Target::addr = {}; 174 | } 175 | else 176 | { 177 | Target::addr = 0; 178 | } 179 | 180 | if (ShotFired) 181 | { 182 | //LocalPlayer::SetViewAngles(LastAngles); 183 | ShotFired = false; 184 | } 185 | 186 | } 187 | 188 | -------------------------------------------------------------------------------- /XAnan CG Intern/Aimbot.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "Address.h" 3 | #include "LocalPlayer.h" 4 | #include "Entity.h" 5 | #include "Ults.h" 6 | #include "menu.h" 7 | #include 8 | #include 9 | #include 10 | #include "Console.h" 11 | #include "math.h" 12 | 13 | namespace Aimbot 14 | { 15 | bool Start(); 16 | bool GetBestTarget(); 17 | void NormalizePitch(float& pPitch); 18 | void NormalizeYaw(float& pYaw); 19 | float GetMagnitude(const Vector3& pVec); 20 | Vector3 GetTargetAngle(Vector3 pTargetPos); 21 | bool ShotTarget(); 22 | void ReleaseMouseButton(); 23 | }; 24 | 25 | namespace Target 26 | { 27 | inline intptr_t addr{}; 28 | } -------------------------------------------------------------------------------- /XAnan CG Intern/Bone.cpp: -------------------------------------------------------------------------------- 1 | #include "Bone.h" 2 | 3 | void Bone::HeadCricle(intptr_t pawn, ImColor Color) 4 | { 5 | Vector3 drawhead; 6 | Vector3 drawneck; 7 | 8 | if (!Utils::WorldToScreen(Get::BonePos(pawn, BoneIndex::head), drawhead, Address::GetViewMatrixPtr(), Get::WindowSize().x, Get::WindowSize().y)) 9 | return; 10 | 11 | if (!Utils::WorldToScreen(Get::BonePos(pawn, BoneIndex::neck_0), drawneck, Address::GetViewMatrixPtr(), Get::WindowSize().x, Get::WindowSize().y)) 12 | return; 13 | 14 | float radius = Math::distance(drawhead.x-drawneck.x,drawhead.y-drawneck.y); 15 | 16 | ImGui::GetBackgroundDrawList()->AddCircle(ImVec2(drawhead.x, drawhead.y), radius, Color); 17 | 18 | } 19 | 20 | void Bone::DrawLine(std::vector list , ImColor Color) 21 | { 22 | Vector3 drawpos; 23 | std::vectorDrawlist{}; 24 | for (int i = 0 ; i < list.size(); ++i) 25 | { 26 | 27 | if (!Utils::WorldToScreen(list[i], drawpos, Address::GetViewMatrixPtr(), Get::WindowSize().x, Get::WindowSize().y)) 28 | continue; 29 | 30 | Drawlist.push_back(drawpos); 31 | 32 | } 33 | 34 | for (int i = 1; i < Drawlist.size(); ++i) 35 | { 36 | ImGui::GetBackgroundDrawList()->AddLine(ImVec2(Drawlist[i].x, Drawlist[i].y), ImVec2(Drawlist[i -1].x, Drawlist[i - 1].y), Color); 37 | } 38 | } 39 | 40 | void Bone::Start(intptr_t pawn, ImColor BoneColor) 41 | { 42 | 43 | Bone::BoneDrawList.clear(); 44 | Bone::BoneDrawList.push_back(Get::BonePos(pawn, BoneIndex::neck_0)); 45 | Bone::BoneDrawList.push_back(Get::BonePos(pawn, BoneIndex::spine_2)); 46 | Bone::BoneDrawList.push_back(Get::BonePos(pawn, BoneIndex::pelvis)); 47 | DrawLine(Bone::BoneDrawList, BoneColor); 48 | 49 | Bone::BoneDrawList.clear(); 50 | Bone::BoneDrawList.push_back(Get::BonePos(pawn, BoneIndex::neck_0)); 51 | Bone::BoneDrawList.push_back(Get::BonePos(pawn, BoneIndex::arm_upper_L)); 52 | Bone::BoneDrawList.push_back(Get::BonePos(pawn, BoneIndex::arm_lower_L)); 53 | Bone::BoneDrawList.push_back(Get::BonePos(pawn, BoneIndex::hand_L)); 54 | DrawLine(Bone::BoneDrawList, BoneColor); 55 | 56 | Bone::BoneDrawList.clear(); 57 | Bone::BoneDrawList.push_back(Get::BonePos(pawn, BoneIndex::neck_0)); 58 | Bone::BoneDrawList.push_back(Get::BonePos(pawn, BoneIndex::arm_upper_R)); 59 | Bone::BoneDrawList.push_back(Get::BonePos(pawn, BoneIndex::arm_upper_R)); 60 | Bone::BoneDrawList.push_back(Get::BonePos(pawn, BoneIndex::hand_R)); 61 | DrawLine(Bone::BoneDrawList, BoneColor); 62 | 63 | Bone::BoneDrawList.clear(); 64 | Bone::BoneDrawList.push_back(Get::BonePos(pawn, BoneIndex::pelvis)); 65 | Bone::BoneDrawList.push_back(Get::BonePos(pawn, BoneIndex::leg_upper_L)); 66 | Bone::BoneDrawList.push_back(Get::BonePos(pawn, BoneIndex::leg_lower_L)); 67 | Bone::BoneDrawList.push_back(Get::BonePos(pawn, BoneIndex::ankle_L)); 68 | DrawLine(Bone::BoneDrawList, BoneColor); 69 | 70 | Bone::BoneDrawList.clear(); 71 | Bone::BoneDrawList.push_back(Get::BonePos(pawn, BoneIndex::pelvis)); 72 | Bone::BoneDrawList.push_back(Get::BonePos(pawn, BoneIndex::leg_upper_R)); 73 | Bone::BoneDrawList.push_back(Get::BonePos(pawn, BoneIndex::leg_lower_R)); 74 | Bone::BoneDrawList.push_back(Get::BonePos(pawn, BoneIndex::ankle_R)); 75 | DrawLine(Bone::BoneDrawList, BoneColor); 76 | } -------------------------------------------------------------------------------- /XAnan CG Intern/Bone.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "imgui/imgui.h" 3 | #include "imgui/imgui_impl_win32.h" 4 | #include "imgui/imgui_impl_dx11.h" 5 | #include "Entity.h" 6 | #include "Ults.h" 7 | #include "Math.h" 8 | 9 | namespace Bone 10 | { 11 | void Start(intptr_t pawn , ImColor BoneColor); 12 | 13 | void HeadCricle(intptr_t pawn, ImColor Color); 14 | 15 | inline std::vectorBoneDrawList{}; 16 | 17 | void DrawLine(std::vector list, ImColor Color); 18 | 19 | }; -------------------------------------------------------------------------------- /XAnan CG Intern/CS2_Dumper/buttons.hpp: -------------------------------------------------------------------------------- 1 | // Generated using https://github.com/a2x/cs2-dumper 2 | // 2024-07-16 01:55:04.190518100 UTC 3 | 4 | #pragma once 5 | 6 | #include 7 | 8 | namespace cs2_dumper { 9 | // Module: client.dll 10 | namespace buttons { 11 | constexpr std::ptrdiff_t attack = 0x181C160; 12 | constexpr std::ptrdiff_t attack2 = 0x181C1F0; 13 | constexpr std::ptrdiff_t back = 0x181C430; 14 | constexpr std::ptrdiff_t duck = 0x181C700; 15 | constexpr std::ptrdiff_t forward = 0x181C3A0; 16 | constexpr std::ptrdiff_t jump = 0x181C670; 17 | constexpr std::ptrdiff_t left = 0x181C4C0; 18 | constexpr std::ptrdiff_t lookatweapon = 0x1A27D30; 19 | constexpr std::ptrdiff_t reload = 0x181C0D0; 20 | constexpr std::ptrdiff_t right = 0x181C550; 21 | constexpr std::ptrdiff_t showscores = 0x1A27C10; 22 | constexpr std::ptrdiff_t sprint = 0x181C040; 23 | constexpr std::ptrdiff_t turnleft = 0x181C280; 24 | constexpr std::ptrdiff_t turnright = 0x181C310; 25 | constexpr std::ptrdiff_t use = 0x181C5E0; 26 | constexpr std::ptrdiff_t zoom = 0x1A27CA0; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /XAnan CG Intern/CS2_Dumper/host.dll.hpp: -------------------------------------------------------------------------------- 1 | // Generated using https://github.com/a2x/cs2-dumper 2 | // 2024-07-16 01:55:04.190518100 UTC 3 | 4 | #pragma once 5 | 6 | #include 7 | 8 | namespace cs2_dumper { 9 | namespace schemas { 10 | // Module: host.dll 11 | // Classes count: 2 12 | // Enums count: 0 13 | namespace host_dll { 14 | // Parent: CAnimScriptBase 15 | // Fields count: 1 16 | namespace EmptyTestScript { 17 | constexpr std::ptrdiff_t m_hTest = 0x10; // CAnimScriptParam 18 | } 19 | // Parent: None 20 | // Fields count: 1 21 | namespace CAnimScriptBase { 22 | constexpr std::ptrdiff_t m_bIsValid = 0x8; // bool 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /XAnan CG Intern/CS2_Dumper/materialsystem2.dll.hpp: -------------------------------------------------------------------------------- 1 | // Generated using https://github.com/a2x/cs2-dumper 2 | // 2024-07-16 01:55:04.190518100 UTC 3 | 4 | #pragma once 5 | 6 | #include 7 | 8 | namespace cs2_dumper { 9 | namespace schemas { 10 | // Module: materialsystem2.dll 11 | // Classes count: 13 12 | // Enums count: 5 13 | namespace materialsystem2_dll { 14 | // Alignment: 4 15 | // Members count: 4 16 | enum class VertJustification_e : uint32_t { 17 | VERT_JUSTIFICATION_TOP = 0x0, 18 | VERT_JUSTIFICATION_CENTER = 0x1, 19 | VERT_JUSTIFICATION_BOTTOM = 0x2, 20 | VERT_JUSTIFICATION_NONE = 0x3 21 | }; 22 | // Alignment: 4 23 | // Members count: 3 24 | enum class LayoutPositionType_e : uint32_t { 25 | LAYOUTPOSITIONTYPE_VIEWPORT_RELATIVE = 0x0, 26 | LAYOUTPOSITIONTYPE_FRACTIONAL = 0x1, 27 | LAYOUTPOSITIONTYPE_NONE = 0x2 28 | }; 29 | // Alignment: 4 30 | // Members count: 3 31 | enum class ViewFadeMode_t : uint32_t { 32 | VIEW_FADE_CONSTANT_COLOR = 0x0, 33 | VIEW_FADE_MODULATE = 0x1, 34 | VIEW_FADE_MOD2X = 0x2 35 | }; 36 | // Alignment: 4 37 | // Members count: 3 38 | enum class BloomBlendMode_t : uint32_t { 39 | BLOOM_BLEND_ADD = 0x0, 40 | BLOOM_BLEND_SCREEN = 0x1, 41 | BLOOM_BLEND_BLUR = 0x2 42 | }; 43 | // Alignment: 4 44 | // Members count: 4 45 | enum class HorizJustification_e : uint32_t { 46 | HORIZ_JUSTIFICATION_LEFT = 0x0, 47 | HORIZ_JUSTIFICATION_CENTER = 0x1, 48 | HORIZ_JUSTIFICATION_RIGHT = 0x2, 49 | HORIZ_JUSTIFICATION_NONE = 0x3 50 | }; 51 | // Parent: None 52 | // Fields count: 1 53 | // 54 | // Metadata: 55 | // MGetKV3ClassDefaults 56 | namespace MaterialParam_t { 57 | constexpr std::ptrdiff_t m_name = 0x0; // CUtlString 58 | } 59 | // Parent: MaterialParam_t 60 | // Fields count: 1 61 | // 62 | // Metadata: 63 | // MGetKV3ClassDefaults 64 | namespace MaterialParamVector_t { 65 | constexpr std::ptrdiff_t m_value = 0x8; // Vector4D 66 | } 67 | // Parent: MaterialParam_t 68 | // Fields count: 1 69 | // 70 | // Metadata: 71 | // MGetKV3ClassDefaults 72 | namespace MaterialParamString_t { 73 | constexpr std::ptrdiff_t m_value = 0x8; // CUtlString 74 | } 75 | // Parent: None 76 | // Fields count: 11 77 | // 78 | // Metadata: 79 | // MGetKV3ClassDefaults 80 | namespace PostProcessingResource_t { 81 | constexpr std::ptrdiff_t m_bHasTonemapParams = 0x0; // bool 82 | constexpr std::ptrdiff_t m_toneMapParams = 0x4; // PostProcessingTonemapParameters_t 83 | constexpr std::ptrdiff_t m_bHasBloomParams = 0x40; // bool 84 | constexpr std::ptrdiff_t m_bloomParams = 0x44; // PostProcessingBloomParameters_t 85 | constexpr std::ptrdiff_t m_bHasVignetteParams = 0xB4; // bool 86 | constexpr std::ptrdiff_t m_vignetteParams = 0xB8; // PostProcessingVignetteParameters_t 87 | constexpr std::ptrdiff_t m_bHasLocalContrastParams = 0xDC; // bool 88 | constexpr std::ptrdiff_t m_localConstrastParams = 0xE0; // PostProcessingLocalContrastParameters_t 89 | constexpr std::ptrdiff_t m_nColorCorrectionVolumeDim = 0xF4; // int32 90 | constexpr std::ptrdiff_t m_colorCorrectionVolumeData = 0xF8; // CUtlBinaryBlock 91 | constexpr std::ptrdiff_t m_bHasColorCorrection = 0x110; // bool 92 | } 93 | // Parent: MaterialParam_t 94 | // Fields count: 1 95 | // 96 | // Metadata: 97 | // MGetKV3ClassDefaults 98 | namespace MaterialParamInt_t { 99 | constexpr std::ptrdiff_t m_nValue = 0x8; // int32 100 | } 101 | // Parent: None 102 | // Fields count: 6 103 | // 104 | // Metadata: 105 | // MGetKV3ClassDefaults 106 | namespace PostProcessingVignetteParameters_t { 107 | constexpr std::ptrdiff_t m_flVignetteStrength = 0x0; // float32 108 | constexpr std::ptrdiff_t m_vCenter = 0x4; // Vector2D 109 | constexpr std::ptrdiff_t m_flRadius = 0xC; // float32 110 | constexpr std::ptrdiff_t m_flRoundness = 0x10; // float32 111 | constexpr std::ptrdiff_t m_flFeather = 0x14; // float32 112 | constexpr std::ptrdiff_t m_vColorTint = 0x18; // Vector 113 | } 114 | // Parent: None 115 | // Fields count: 5 116 | // 117 | // Metadata: 118 | // MGetKV3ClassDefaults 119 | namespace PostProcessingLocalContrastParameters_t { 120 | constexpr std::ptrdiff_t m_flLocalContrastStrength = 0x0; // float32 121 | constexpr std::ptrdiff_t m_flLocalContrastEdgeStrength = 0x4; // float32 122 | constexpr std::ptrdiff_t m_flLocalContrastVignetteStart = 0x8; // float32 123 | constexpr std::ptrdiff_t m_flLocalContrastVignetteEnd = 0xC; // float32 124 | constexpr std::ptrdiff_t m_flLocalContrastVignetteBlur = 0x10; // float32 125 | } 126 | // Parent: None 127 | // Fields count: 15 128 | // 129 | // Metadata: 130 | // MGetKV3ClassDefaults 131 | namespace PostProcessingTonemapParameters_t { 132 | constexpr std::ptrdiff_t m_flExposureBias = 0x0; // float32 133 | constexpr std::ptrdiff_t m_flShoulderStrength = 0x4; // float32 134 | constexpr std::ptrdiff_t m_flLinearStrength = 0x8; // float32 135 | constexpr std::ptrdiff_t m_flLinearAngle = 0xC; // float32 136 | constexpr std::ptrdiff_t m_flToeStrength = 0x10; // float32 137 | constexpr std::ptrdiff_t m_flToeNum = 0x14; // float32 138 | constexpr std::ptrdiff_t m_flToeDenom = 0x18; // float32 139 | constexpr std::ptrdiff_t m_flWhitePoint = 0x1C; // float32 140 | constexpr std::ptrdiff_t m_flLuminanceSource = 0x20; // float32 141 | constexpr std::ptrdiff_t m_flExposureBiasShadows = 0x24; // float32 142 | constexpr std::ptrdiff_t m_flExposureBiasHighlights = 0x28; // float32 143 | constexpr std::ptrdiff_t m_flMinShadowLum = 0x2C; // float32 144 | constexpr std::ptrdiff_t m_flMaxShadowLum = 0x30; // float32 145 | constexpr std::ptrdiff_t m_flMinHighlightLum = 0x34; // float32 146 | constexpr std::ptrdiff_t m_flMaxHighlightLum = 0x38; // float32 147 | } 148 | // Parent: MaterialParam_t 149 | // Fields count: 1 150 | // 151 | // Metadata: 152 | // MGetKV3ClassDefaults 153 | namespace MaterialParamBuffer_t { 154 | constexpr std::ptrdiff_t m_value = 0x8; // CUtlBinaryBlock 155 | } 156 | // Parent: None 157 | // Fields count: 14 158 | // 159 | // Metadata: 160 | // MGetKV3ClassDefaults 161 | namespace MaterialResourceData_t { 162 | constexpr std::ptrdiff_t m_materialName = 0x0; // CUtlString 163 | constexpr std::ptrdiff_t m_shaderName = 0x8; // CUtlString 164 | constexpr std::ptrdiff_t m_intParams = 0x10; // CUtlVector 165 | constexpr std::ptrdiff_t m_floatParams = 0x28; // CUtlVector 166 | constexpr std::ptrdiff_t m_vectorParams = 0x40; // CUtlVector 167 | constexpr std::ptrdiff_t m_textureParams = 0x58; // CUtlVector 168 | constexpr std::ptrdiff_t m_dynamicParams = 0x70; // CUtlVector 169 | constexpr std::ptrdiff_t m_dynamicTextureParams = 0x88; // CUtlVector 170 | constexpr std::ptrdiff_t m_intAttributes = 0xA0; // CUtlVector 171 | constexpr std::ptrdiff_t m_floatAttributes = 0xB8; // CUtlVector 172 | constexpr std::ptrdiff_t m_vectorAttributes = 0xD0; // CUtlVector 173 | constexpr std::ptrdiff_t m_textureAttributes = 0xE8; // CUtlVector 174 | constexpr std::ptrdiff_t m_stringAttributes = 0x100; // CUtlVector 175 | constexpr std::ptrdiff_t m_renderAttributesUsed = 0x118; // CUtlVector 176 | } 177 | // Parent: None 178 | // Fields count: 10 179 | // 180 | // Metadata: 181 | // MGetKV3ClassDefaults 182 | namespace PostProcessingBloomParameters_t { 183 | constexpr std::ptrdiff_t m_blendMode = 0x0; // BloomBlendMode_t 184 | constexpr std::ptrdiff_t m_flBloomStrength = 0x4; // float32 185 | constexpr std::ptrdiff_t m_flScreenBloomStrength = 0x8; // float32 186 | constexpr std::ptrdiff_t m_flBlurBloomStrength = 0xC; // float32 187 | constexpr std::ptrdiff_t m_flBloomThreshold = 0x10; // float32 188 | constexpr std::ptrdiff_t m_flBloomThresholdWidth = 0x14; // float32 189 | constexpr std::ptrdiff_t m_flSkyboxBloomStrength = 0x18; // float32 190 | constexpr std::ptrdiff_t m_flBloomStartValue = 0x1C; // float32 191 | constexpr std::ptrdiff_t m_flBlurWeight = 0x20; // float32[5] 192 | constexpr std::ptrdiff_t m_vBlurTint = 0x34; // Vector[5] 193 | } 194 | // Parent: MaterialParam_t 195 | // Fields count: 1 196 | // 197 | // Metadata: 198 | // MGetKV3ClassDefaults 199 | namespace MaterialParamFloat_t { 200 | constexpr std::ptrdiff_t m_flValue = 0x8; // float32 201 | } 202 | // Parent: MaterialParam_t 203 | // Fields count: 1 204 | // 205 | // Metadata: 206 | // MGetKV3ClassDefaults 207 | namespace MaterialParamTexture_t { 208 | constexpr std::ptrdiff_t m_pValue = 0x8; // CStrongHandle 209 | } 210 | } 211 | } 212 | } 213 | -------------------------------------------------------------------------------- /XAnan CG Intern/CS2_Dumper/networksystem.dll.hpp: -------------------------------------------------------------------------------- 1 | // Generated using https://github.com/a2x/cs2-dumper 2 | // 2024-07-16 01:55:04.190518100 UTC 3 | 4 | #pragma once 5 | 6 | #include 7 | 8 | namespace cs2_dumper { 9 | namespace schemas { 10 | // Module: networksystem.dll 11 | // Classes count: 1 12 | // Enums count: 0 13 | namespace networksystem_dll { 14 | // Parent: None 15 | // Fields count: 1 16 | namespace ChangeAccessorFieldPathIndex_t { 17 | constexpr std::ptrdiff_t m_Value = 0x0; // int16 18 | } 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /XAnan CG Intern/CS2_Dumper/offsets.hpp: -------------------------------------------------------------------------------- 1 | // Generated using https://github.com/a2x/cs2-dumper 2 | // 2024-07-16 01:55:04.190518100 UTC 3 | 4 | #pragma once 5 | 6 | #include 7 | 8 | namespace cs2_dumper { 9 | namespace offsets { 10 | // Module: client.dll 11 | namespace client_dll { 12 | constexpr std::ptrdiff_t dwCSGOInput = 0x1A27E10; 13 | constexpr std::ptrdiff_t dwEntityList = 0x19BDD58; 14 | constexpr std::ptrdiff_t dwGameEntitySystem = 0x1ADCB98; 15 | constexpr std::ptrdiff_t dwGameEntitySystem_getHighestEntityIndex = 0x1510; 16 | constexpr std::ptrdiff_t dwGameRules = 0x1A1B648; 17 | constexpr std::ptrdiff_t dwGlobalVars = 0x1817638; 18 | constexpr std::ptrdiff_t dwGlowManager = 0x1A1AD30; 19 | constexpr std::ptrdiff_t dwLocalPlayerController = 0x1A0D988; 20 | constexpr std::ptrdiff_t dwLocalPlayerPawn = 0x1823A08; 21 | constexpr std::ptrdiff_t dwPlantedC4 = 0x1A25188; 22 | constexpr std::ptrdiff_t dwPrediction = 0x18238C0; 23 | constexpr std::ptrdiff_t dwSensitivity = 0x1A1C318; 24 | constexpr std::ptrdiff_t dwSensitivity_sensitivity = 0x40; 25 | constexpr std::ptrdiff_t dwViewAngles = 0x1A2D228; 26 | constexpr std::ptrdiff_t dwViewMatrix = 0x1A1FCB0; 27 | constexpr std::ptrdiff_t dwViewRender = 0x1A20448; 28 | constexpr std::ptrdiff_t dwWeaponC4 = 0x19C1920; 29 | } 30 | // Module: engine2.dll 31 | namespace engine2_dll { 32 | constexpr std::ptrdiff_t dwEngineViewData = 0x5ECC0C; 33 | constexpr std::ptrdiff_t dwNetworkGameClient = 0x52EBA0; 34 | constexpr std::ptrdiff_t dwNetworkGameClient_clientTickCount = 0x178; 35 | constexpr std::ptrdiff_t dwNetworkGameClient_deltaTick = 0x278; 36 | constexpr std::ptrdiff_t dwNetworkGameClient_isBackgroundMap = 0x281477; 37 | constexpr std::ptrdiff_t dwNetworkGameClient_localPlayer = 0xF0; 38 | constexpr std::ptrdiff_t dwNetworkGameClient_maxClients = 0x270; 39 | constexpr std::ptrdiff_t dwNetworkGameClient_serverTickCount = 0x174; 40 | constexpr std::ptrdiff_t dwNetworkGameClient_signOnState = 0x260; 41 | constexpr std::ptrdiff_t dwSoundService = 0x5ECB70; 42 | constexpr std::ptrdiff_t dwWindowHeight = 0x5F0424; 43 | constexpr std::ptrdiff_t dwWindowWidth = 0x5F0420; 44 | } 45 | // Module: inputsystem.dll 46 | namespace inputsystem_dll { 47 | constexpr std::ptrdiff_t dwInputSystem = 0x387F0; 48 | } 49 | // Module: matchmaking.dll 50 | namespace matchmaking_dll { 51 | constexpr std::ptrdiff_t dwGameTypes = 0x1A41C0; 52 | constexpr std::ptrdiff_t dwGameTypes_mapName = 0x1A42E0; 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /XAnan CG Intern/CS2_Dumper/panorama.dll.hpp: -------------------------------------------------------------------------------- 1 | // Generated using https://github.com/a2x/cs2-dumper 2 | // 2024-07-16 01:55:04.190518100 UTC 3 | 4 | #pragma once 5 | 6 | #include 7 | 8 | namespace cs2_dumper { 9 | namespace schemas { 10 | // Module: panorama.dll 11 | // Classes count: 0 12 | // Enums count: 2 13 | namespace panorama_dll { 14 | // Alignment: 4 15 | // Members count: 13 16 | enum class ELayoutNodeType : uint32_t { 17 | ROOT = 0x0, 18 | STYLES = 0x1, 19 | SCRIPT_BODY = 0x2, 20 | SCRIPTS = 0x3, 21 | SNIPPETS = 0x4, 22 | INCLUDE = 0x5, 23 | SNIPPET = 0x6, 24 | PANEL = 0x7, 25 | PANEL_ATTRIBUTE = 0x8, 26 | PANEL_ATTRIBUTE_VALUE = 0x9, 27 | REFERENCE_CONTENT = 0xA, 28 | REFERENCE_COMPILED = 0xB, 29 | REFERENCE_PASSTHROUGH = 0xC 30 | }; 31 | // Alignment: 4 32 | // Members count: 16 33 | enum class EStyleNodeType : uint32_t { 34 | ROOT = 0x0, 35 | EXPRESSION = 0x1, 36 | PROPERTY = 0x2, 37 | DEFINE = 0x3, 38 | IMPORT = 0x4, 39 | KEYFRAMES = 0x5, 40 | KEYFRAME_SELECTOR = 0x6, 41 | STYLE_SELECTOR = 0x7, 42 | WHITESPACE = 0x8, 43 | EXPRESSION_TEXT = 0x9, 44 | EXPRESSION_URL = 0xA, 45 | EXPRESSION_CONCAT = 0xB, 46 | REFERENCE_CONTENT = 0xC, 47 | REFERENCE_COMPILED = 0xD, 48 | REFERENCE_PASSTHROUGH = 0xE, 49 | COMPILER_CONDITIONAL = 0xF 50 | }; 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /XAnan CG Intern/CS2_Dumper/rendersystemdx11.dll.hpp: -------------------------------------------------------------------------------- 1 | // Generated using https://github.com/a2x/cs2-dumper 2 | // 2024-07-16 01:55:04.190518100 UTC 3 | 4 | #pragma once 5 | 6 | #include 7 | 8 | namespace cs2_dumper { 9 | namespace schemas { 10 | // Module: rendersystemdx11.dll 11 | // Classes count: 3 12 | // Enums count: 5 13 | namespace rendersystemdx11_dll { 14 | // Alignment: 4 15 | // Members count: 13 16 | enum class RenderPrimitiveType_t : uint32_t { 17 | RENDER_PRIM_POINTS = 0x0, 18 | RENDER_PRIM_LINES = 0x1, 19 | RENDER_PRIM_LINES_WITH_ADJACENCY = 0x2, 20 | RENDER_PRIM_LINE_STRIP = 0x3, 21 | RENDER_PRIM_LINE_STRIP_WITH_ADJACENCY = 0x4, 22 | RENDER_PRIM_TRIANGLES = 0x5, 23 | RENDER_PRIM_TRIANGLES_WITH_ADJACENCY = 0x6, 24 | RENDER_PRIM_TRIANGLE_STRIP = 0x7, 25 | RENDER_PRIM_TRIANGLE_STRIP_WITH_ADJACENCY = 0x8, 26 | RENDER_PRIM_INSTANCED_QUADS = 0x9, 27 | RENDER_PRIM_HETEROGENOUS = 0xA, 28 | RENDER_PRIM_COMPUTE_SHADER = 0xB, 29 | RENDER_PRIM_TYPE_COUNT = 0xC 30 | }; 31 | // Alignment: 4 32 | // Members count: 13 33 | enum class RenderBufferFlags_t : uint32_t { 34 | RENDER_BUFFER_USAGE_VERTEX_BUFFER = 0x1, 35 | RENDER_BUFFER_USAGE_INDEX_BUFFER = 0x2, 36 | RENDER_BUFFER_USAGE_SHADER_RESOURCE = 0x4, 37 | RENDER_BUFFER_USAGE_UNORDERED_ACCESS = 0x8, 38 | RENDER_BUFFER_BYTEADDRESS_BUFFER = 0x10, 39 | RENDER_BUFFER_STRUCTURED_BUFFER = 0x20, 40 | RENDER_BUFFER_APPEND_CONSUME_BUFFER = 0x40, 41 | RENDER_BUFFER_UAV_COUNTER = 0x80, 42 | RENDER_BUFFER_UAV_DRAW_INDIRECT_ARGS = 0x100, 43 | RENDER_BUFFER_ACCELERATION_STRUCTURE = 0x200, 44 | RENDER_BUFFER_SHADER_BINDING_TABLE = 0x400, 45 | RENDER_BUFFER_PER_FRAME_WRITE_ONCE = 0x800, 46 | RENDER_BUFFER_POOL_ALLOCATED = 0x1000 47 | }; 48 | // Alignment: 1 49 | // Members count: 8 50 | enum class RenderMultisampleType_t : uint8_t { 51 | RENDER_MULTISAMPLE_INVALID = 0xFFFFFFFFFFFFFFFF, 52 | RENDER_MULTISAMPLE_NONE = 0x0, 53 | RENDER_MULTISAMPLE_2X = 0x1, 54 | RENDER_MULTISAMPLE_4X = 0x2, 55 | RENDER_MULTISAMPLE_6X = 0x3, 56 | RENDER_MULTISAMPLE_8X = 0x4, 57 | RENDER_MULTISAMPLE_16X = 0x5, 58 | RENDER_MULTISAMPLE_TYPE_COUNT = 0x6 59 | }; 60 | // Alignment: 4 61 | // Members count: 4 62 | enum class InputLayoutVariation_t : uint32_t { 63 | INPUT_LAYOUT_VARIATION_DEFAULT = 0x0, 64 | INPUT_LAYOUT_VARIATION_STREAM1_INSTANCEID = 0x1, 65 | INPUT_LAYOUT_VARIATION_STREAM1_INSTANCEID_MORPH_VERT_ID = 0x2, 66 | INPUT_LAYOUT_VARIATION_MAX = 0x3 67 | }; 68 | // Alignment: 4 69 | // Members count: 3 70 | enum class RenderSlotType_t : uint32_t { 71 | RENDER_SLOT_INVALID = 0xFFFFFFFFFFFFFFFF, 72 | RENDER_SLOT_PER_VERTEX = 0x0, 73 | RENDER_SLOT_PER_INSTANCE = 0x1 74 | }; 75 | // Parent: None 76 | // Fields count: 4 77 | namespace VsInputSignatureElement_t { 78 | constexpr std::ptrdiff_t m_pName = 0x0; // char[64] 79 | constexpr std::ptrdiff_t m_pSemantic = 0x40; // char[64] 80 | constexpr std::ptrdiff_t m_pD3DSemanticName = 0x80; // char[64] 81 | constexpr std::ptrdiff_t m_nD3DSemanticIndex = 0xC0; // int32 82 | } 83 | // Parent: None 84 | // Fields count: 1 85 | namespace VsInputSignature_t { 86 | constexpr std::ptrdiff_t m_elems = 0x0; // CUtlVector 87 | } 88 | // Parent: None 89 | // Fields count: 7 90 | namespace RenderInputLayoutField_t { 91 | constexpr std::ptrdiff_t m_pSemanticName = 0x0; // uint8[32] 92 | constexpr std::ptrdiff_t m_nSemanticIndex = 0x20; // int32 93 | constexpr std::ptrdiff_t m_Format = 0x24; // uint32 94 | constexpr std::ptrdiff_t m_nOffset = 0x28; // int32 95 | constexpr std::ptrdiff_t m_nSlot = 0x2C; // int32 96 | constexpr std::ptrdiff_t m_nSlotType = 0x30; // RenderSlotType_t 97 | constexpr std::ptrdiff_t m_nInstanceStepRate = 0x34; // int32 98 | } 99 | } 100 | } 101 | } 102 | -------------------------------------------------------------------------------- /XAnan CG Intern/CS2_Dumper/scenesystem.dll.hpp: -------------------------------------------------------------------------------- 1 | // Generated using https://github.com/a2x/cs2-dumper 2 | // 2024-07-16 01:55:04.190518100 UTC 3 | 4 | #pragma once 5 | 6 | #include 7 | 8 | namespace cs2_dumper { 9 | namespace schemas { 10 | // Module: scenesystem.dll 11 | // Classes count: 9 12 | // Enums count: 1 13 | namespace scenesystem_dll { 14 | // Alignment: 1 15 | // Members count: 4 16 | enum class DisableShadows_t : uint8_t { 17 | kDisableShadows_None = 0x0, 18 | kDisableShadows_All = 0x1, 19 | kDisableShadows_Baked = 0x2, 20 | kDisableShadows_Realtime = 0x3 21 | }; 22 | // Parent: None 23 | // Fields count: 10 24 | // 25 | // Metadata: 26 | // MGetKV3ClassDefaults 27 | namespace CSSDSMsg_ViewTarget { 28 | constexpr std::ptrdiff_t m_Name = 0x0; // CUtlString 29 | constexpr std::ptrdiff_t m_TextureId = 0x8; // uint64 30 | constexpr std::ptrdiff_t m_nWidth = 0x10; // int32 31 | constexpr std::ptrdiff_t m_nHeight = 0x14; // int32 32 | constexpr std::ptrdiff_t m_nRequestedWidth = 0x18; // int32 33 | constexpr std::ptrdiff_t m_nRequestedHeight = 0x1C; // int32 34 | constexpr std::ptrdiff_t m_nNumMipLevels = 0x20; // int32 35 | constexpr std::ptrdiff_t m_nDepth = 0x24; // int32 36 | constexpr std::ptrdiff_t m_nMultisampleNumSamples = 0x28; // int32 37 | constexpr std::ptrdiff_t m_nFormat = 0x2C; // int32 38 | } 39 | // Parent: None 40 | // Fields count: 2 41 | // 42 | // Metadata: 43 | // MGetKV3ClassDefaults 44 | namespace SceneViewId_t { 45 | constexpr std::ptrdiff_t m_nViewId = 0x0; // uint64 46 | constexpr std::ptrdiff_t m_nFrameCount = 0x8; // uint64 47 | } 48 | // Parent: None 49 | // Fields count: 2 50 | // 51 | // Metadata: 52 | // MGetKV3ClassDefaults 53 | namespace CSSDSEndFrameViewInfo { 54 | constexpr std::ptrdiff_t m_nViewId = 0x0; // uint64 55 | constexpr std::ptrdiff_t m_ViewName = 0x8; // CUtlString 56 | } 57 | // Parent: CSSDSMsg_LayerBase 58 | // Fields count: 0 59 | // 60 | // Metadata: 61 | // MGetKV3ClassDefaults 62 | namespace CSSDSMsg_PostLayer { 63 | } 64 | // Parent: None 65 | // Fields count: 6 66 | // 67 | // Metadata: 68 | // MGetKV3ClassDefaults 69 | namespace CSSDSMsg_LayerBase { 70 | constexpr std::ptrdiff_t m_viewId = 0x0; // SceneViewId_t 71 | constexpr std::ptrdiff_t m_ViewName = 0x10; // CUtlString 72 | constexpr std::ptrdiff_t m_nLayerIndex = 0x18; // int32 73 | constexpr std::ptrdiff_t m_nLayerId = 0x20; // uint64 74 | constexpr std::ptrdiff_t m_LayerName = 0x28; // CUtlString 75 | constexpr std::ptrdiff_t m_displayText = 0x30; // CUtlString 76 | } 77 | // Parent: CSSDSMsg_LayerBase 78 | // Fields count: 0 79 | // 80 | // Metadata: 81 | // MGetKV3ClassDefaults 82 | namespace CSSDSMsg_PreLayer { 83 | } 84 | // Parent: None 85 | // Fields count: 3 86 | // 87 | // Metadata: 88 | // MGetKV3ClassDefaults 89 | namespace CSSDSMsg_ViewTargetList { 90 | constexpr std::ptrdiff_t m_viewId = 0x0; // SceneViewId_t 91 | constexpr std::ptrdiff_t m_ViewName = 0x10; // CUtlString 92 | constexpr std::ptrdiff_t m_Targets = 0x18; // CUtlVector 93 | } 94 | // Parent: None 95 | // Fields count: 2 96 | // 97 | // Metadata: 98 | // MGetKV3ClassDefaults 99 | namespace CSSDSMsg_ViewRender { 100 | constexpr std::ptrdiff_t m_viewId = 0x0; // SceneViewId_t 101 | constexpr std::ptrdiff_t m_ViewName = 0x10; // CUtlString 102 | } 103 | // Parent: None 104 | // Fields count: 1 105 | // 106 | // Metadata: 107 | // MGetKV3ClassDefaults 108 | namespace CSSDSMsg_EndFrame { 109 | constexpr std::ptrdiff_t m_Views = 0x0; // CUtlVector 110 | } 111 | } 112 | } 113 | } 114 | -------------------------------------------------------------------------------- /XAnan CG Intern/CS2_Dumper/schemasystem.dll.hpp: -------------------------------------------------------------------------------- 1 | // Generated using https://github.com/a2x/cs2-dumper 2 | // 2024-07-16 01:55:04.190518100 UTC 3 | 4 | #pragma once 5 | 6 | #include 7 | 8 | namespace cs2_dumper { 9 | namespace schemas { 10 | // Module: schemasystem.dll 11 | // Classes count: 7 12 | // Enums count: 2 13 | namespace schemasystem_dll { 14 | // Alignment: 1 15 | // Members count: 81 16 | enum class fieldtype_t : uint8_t { 17 | FIELD_VOID = 0x0, 18 | FIELD_FLOAT32 = 0x1, 19 | FIELD_STRING = 0x2, 20 | FIELD_VECTOR = 0x3, 21 | FIELD_QUATERNION = 0x4, 22 | FIELD_INT32 = 0x5, 23 | FIELD_BOOLEAN = 0x6, 24 | FIELD_INT16 = 0x7, 25 | FIELD_CHARACTER = 0x8, 26 | FIELD_COLOR32 = 0x9, 27 | FIELD_EMBEDDED = 0xA, 28 | FIELD_CUSTOM = 0xB, 29 | FIELD_CLASSPTR = 0xC, 30 | FIELD_EHANDLE = 0xD, 31 | FIELD_POSITION_VECTOR = 0xE, 32 | FIELD_TIME = 0xF, 33 | FIELD_TICK = 0x10, 34 | FIELD_SOUNDNAME = 0x11, 35 | FIELD_INPUT = 0x12, 36 | FIELD_FUNCTION = 0x13, 37 | FIELD_VMATRIX = 0x14, 38 | FIELD_VMATRIX_WORLDSPACE = 0x15, 39 | FIELD_MATRIX3X4_WORLDSPACE = 0x16, 40 | FIELD_INTERVAL = 0x17, 41 | FIELD_UNUSED = 0x18, 42 | FIELD_VECTOR2D = 0x19, 43 | FIELD_INT64 = 0x1A, 44 | FIELD_VECTOR4D = 0x1B, 45 | FIELD_RESOURCE = 0x1C, 46 | FIELD_TYPEUNKNOWN = 0x1D, 47 | FIELD_CSTRING = 0x1E, 48 | FIELD_HSCRIPT = 0x1F, 49 | FIELD_VARIANT = 0x20, 50 | FIELD_UINT64 = 0x21, 51 | FIELD_FLOAT64 = 0x22, 52 | FIELD_POSITIVEINTEGER_OR_NULL = 0x23, 53 | FIELD_HSCRIPT_NEW_INSTANCE = 0x24, 54 | FIELD_UINT32 = 0x25, 55 | FIELD_UTLSTRINGTOKEN = 0x26, 56 | FIELD_QANGLE = 0x27, 57 | FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_VECTOR = 0x28, 58 | FIELD_HMATERIAL = 0x29, 59 | FIELD_HMODEL = 0x2A, 60 | FIELD_NETWORK_QUANTIZED_VECTOR = 0x2B, 61 | FIELD_NETWORK_QUANTIZED_FLOAT = 0x2C, 62 | FIELD_DIRECTION_VECTOR_WORLDSPACE = 0x2D, 63 | FIELD_QANGLE_WORLDSPACE = 0x2E, 64 | FIELD_QUATERNION_WORLDSPACE = 0x2F, 65 | FIELD_HSCRIPT_LIGHTBINDING = 0x30, 66 | FIELD_V8_VALUE = 0x31, 67 | FIELD_V8_OBJECT = 0x32, 68 | FIELD_V8_ARRAY = 0x33, 69 | FIELD_V8_CALLBACK_INFO = 0x34, 70 | FIELD_UTLSTRING = 0x35, 71 | FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_POSITION_VECTOR = 0x36, 72 | FIELD_HRENDERTEXTURE = 0x37, 73 | FIELD_HPARTICLESYSTEMDEFINITION = 0x38, 74 | FIELD_UINT8 = 0x39, 75 | FIELD_UINT16 = 0x3A, 76 | FIELD_CTRANSFORM = 0x3B, 77 | FIELD_CTRANSFORM_WORLDSPACE = 0x3C, 78 | FIELD_HPOSTPROCESSING = 0x3D, 79 | FIELD_MATRIX3X4 = 0x3E, 80 | FIELD_SHIM = 0x3F, 81 | FIELD_CMOTIONTRANSFORM = 0x40, 82 | FIELD_CMOTIONTRANSFORM_WORLDSPACE = 0x41, 83 | FIELD_ATTACHMENT_HANDLE = 0x42, 84 | FIELD_AMMO_INDEX = 0x43, 85 | FIELD_CONDITION_ID = 0x44, 86 | FIELD_AI_SCHEDULE_BITS = 0x45, 87 | FIELD_MODIFIER_HANDLE = 0x46, 88 | FIELD_ROTATION_VECTOR = 0x47, 89 | FIELD_ROTATION_VECTOR_WORLDSPACE = 0x48, 90 | FIELD_HVDATA = 0x49, 91 | FIELD_SCALE32 = 0x4A, 92 | FIELD_STRING_AND_TOKEN = 0x4B, 93 | FIELD_ENGINE_TIME = 0x4C, 94 | FIELD_ENGINE_TICK = 0x4D, 95 | FIELD_WORLD_GROUP_ID = 0x4E, 96 | FIELD_GLOBALSYMBOL = 0x4F, 97 | FIELD_TYPECOUNT = 0x50 98 | }; 99 | // Alignment: 4 100 | // Members count: 3 101 | enum class ThreeState_t : uint32_t { 102 | TRS_FALSE = 0x0, 103 | TRS_TRUE = 0x1, 104 | TRS_NONE = 0x2 105 | }; 106 | // Parent: None 107 | // Fields count: 0 108 | // 109 | // Metadata: 110 | // MResourceTypeForInfoType 111 | namespace InfoForResourceTypeCResourceManifestInternal { 112 | } 113 | // Parent: None 114 | // Fields count: 22 115 | namespace CSchemaSystemInternalRegistration { 116 | constexpr std::ptrdiff_t m_Vector2D = 0x0; // Vector2D 117 | constexpr std::ptrdiff_t m_Vector = 0x8; // Vector 118 | constexpr std::ptrdiff_t m_VectorAligned = 0x20; // VectorAligned 119 | constexpr std::ptrdiff_t m_Quaternion = 0x30; // Quaternion 120 | constexpr std::ptrdiff_t m_QAngle = 0x40; // QAngle 121 | constexpr std::ptrdiff_t m_RotationVector = 0x4C; // RotationVector 122 | constexpr std::ptrdiff_t m_RadianEuler = 0x58; // RadianEuler 123 | constexpr std::ptrdiff_t m_DegreeEuler = 0x64; // DegreeEuler 124 | constexpr std::ptrdiff_t m_QuaternionStorage = 0x70; // QuaternionStorage 125 | constexpr std::ptrdiff_t m_matrix3x4_t = 0x80; // matrix3x4_t 126 | constexpr std::ptrdiff_t m_matrix3x4a_t = 0xB0; // matrix3x4a_t 127 | constexpr std::ptrdiff_t m_Color = 0xE0; // Color 128 | constexpr std::ptrdiff_t m_Vector4D = 0xE4; // Vector4D 129 | constexpr std::ptrdiff_t m_CTransform = 0x100; // CTransform 130 | constexpr std::ptrdiff_t m_pKeyValues = 0x120; // KeyValues* 131 | constexpr std::ptrdiff_t m_CUtlBinaryBlock = 0x128; // CUtlBinaryBlock 132 | constexpr std::ptrdiff_t m_CUtlString = 0x140; // CUtlString 133 | constexpr std::ptrdiff_t m_CUtlSymbol = 0x148; // CUtlSymbol 134 | constexpr std::ptrdiff_t m_stringToken = 0x14C; // CUtlStringToken 135 | constexpr std::ptrdiff_t m_stringTokenWithStorage = 0x150; // CUtlStringTokenWithStorage 136 | constexpr std::ptrdiff_t m_ResourceTypes = 0x168; // CResourceArray> 137 | constexpr std::ptrdiff_t m_KV3 = 0x170; // KeyValues3 138 | } 139 | // Parent: CExampleSchemaVData_PolymorphicBase 140 | // Fields count: 1 141 | // 142 | // Metadata: 143 | // MGetKV3ClassDefaults 144 | namespace CExampleSchemaVData_PolymorphicDerivedA { 145 | constexpr std::ptrdiff_t m_nDerivedA = 0x10; // int32 146 | } 147 | // Parent: None 148 | // Fields count: 1 149 | // 150 | // Metadata: 151 | // MGetKV3ClassDefaults 152 | namespace CExampleSchemaVData_PolymorphicBase { 153 | constexpr std::ptrdiff_t m_nBase = 0x8; // int32 154 | } 155 | // Parent: CExampleSchemaVData_PolymorphicBase 156 | // Fields count: 1 157 | // 158 | // Metadata: 159 | // MGetKV3ClassDefaults 160 | namespace CExampleSchemaVData_PolymorphicDerivedB { 161 | constexpr std::ptrdiff_t m_nDerivedB = 0x10; // int32 162 | } 163 | // Parent: None 164 | // Fields count: 1 165 | namespace ResourceId_t { 166 | constexpr std::ptrdiff_t m_Value = 0x0; // uint64 167 | } 168 | // Parent: None 169 | // Fields count: 2 170 | // 171 | // Metadata: 172 | // MGetKV3ClassDefaults 173 | namespace CExampleSchemaVData_Monomorphic { 174 | constexpr std::ptrdiff_t m_nExample1 = 0x0; // int32 175 | constexpr std::ptrdiff_t m_nExample2 = 0x4; // int32 176 | } 177 | } 178 | } 179 | } 180 | -------------------------------------------------------------------------------- /XAnan CG Intern/Cheat.cpp: -------------------------------------------------------------------------------- 1 | #include "Cheat.h" 2 | #include "Console.h" 3 | 4 | bool Cheat::Run() 5 | { 6 | if (Menu::ShowMenu) 7 | Menu::start(); 8 | 9 | static std::chrono::time_point LastTimePoint = std::chrono::steady_clock::now(); 10 | auto CurTimePoint = std::chrono::steady_clock::now(); 11 | 12 | if (GetAsyncKeyState(VK_HOME) && CurTimePoint - LastTimePoint >= std::chrono::milliseconds(150)) 13 | { 14 | Menu::ShowMenu = !Menu::ShowMenu; 15 | LastTimePoint = CurTimePoint; 16 | } 17 | 18 | 19 | if (GameState::IsMatchStarted()) 20 | { 21 | 22 | if (Menu::bAimBot) Aimbot::Start(); 23 | 24 | if (Menu::bESP) ESP::Start(); 25 | } 26 | 27 | 28 | return true; 29 | 30 | } -------------------------------------------------------------------------------- /XAnan CG Intern/Cheat.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "ESP.h" 3 | #include "AimBot.h" 4 | #include "menu.h" 5 | #include "imgui/imgui.h" 6 | #include "imgui/imgui_impl_win32.h" 7 | #include "imgui/imgui_impl_dx11.h" 8 | 9 | namespace Cheat 10 | { 11 | 12 | bool Run(); 13 | 14 | } -------------------------------------------------------------------------------- /XAnan CG Intern/Console.cpp: -------------------------------------------------------------------------------- 1 | #include "Console.h" 2 | 3 | void Console::InitConsole() 4 | { 5 | if (!file) 6 | { 7 | AllocConsole(); 8 | freopen_s(&file, "CONOUT$", "w", stdout); 9 | } 10 | } 11 | 12 | void Console::DestroyConsole() 13 | { 14 | if (file) 15 | fclose(file); 16 | 17 | FreeConsole(); 18 | } 19 | 20 | void Console::PrintCheatOptions(const char* a) 21 | { 22 | std::cout << a << '\n'; 23 | } 24 | 25 | void Console::Clear() 26 | { 27 | system("cls"); 28 | } -------------------------------------------------------------------------------- /XAnan CG Intern/Console.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | namespace Console 9 | { 10 | inline FILE* file{ nullptr }; 11 | 12 | // Console info updates 13 | inline bool bLobbyStart{ true }; 14 | inline bool bInGameStart{ true }; 15 | inline bool bConsoleChanged{ true }; 16 | 17 | void InitConsole(); 18 | void DestroyConsole(); 19 | void PrintCheatOptions(const char * a); 20 | void Clear(); 21 | }; -------------------------------------------------------------------------------- /XAnan CG Intern/ESP.cpp: -------------------------------------------------------------------------------- 1 | #include "ESP.h" 2 | 3 | //thanks weedptr https://github.com/MitilcC/CS2-Internal-Cheat/issues/2 4 | void ESP::DrawHealth(float MaxHealth, float CurrentHealth, ImVec2 Pos, ImVec2 Size, bool Horizontal) 5 | { 6 | ImDrawList* DrawList = ImGui::GetBackgroundDrawList(); 7 | 8 | float Proportion = CurrentHealth / MaxHealth; 9 | 10 | ImColor FirstStageColor = ImColor(96, 246, 113, 220); 11 | ImColor SecondStageColor = ImColor(247, 214, 103, 220); 12 | ImColor ThirdStageColor = ImColor(255, 95, 95, 220); 13 | ImColor BackGroundColor = ImColor(90, 90, 90, 220); 14 | ImColor Color; 15 | if (Proportion > 0.5) 16 | Color = FirstStageColor; 17 | else if (Proportion > 0.25) 18 | Color = SecondStageColor; 19 | else 20 | Color = ThirdStageColor; 21 | 22 | DrawList->AddRectFilled(Pos, { Pos.x + Size.x, Pos.y + Size.y }, BackGroundColor); 23 | 24 | if (Horizontal) 25 | { 26 | DrawList->AddRectFilled(Pos, { Pos.x + Size.x * Proportion, Pos.y + Size.y }, Color); 27 | } 28 | else 29 | { 30 | float healthHeight = Size.y * Proportion; 31 | DrawList->AddRectFilled({ Pos.x, Pos.y + Size.y - healthHeight }, { Pos.x + Size.x, Pos.y + Size.y }, Color); 32 | } 33 | 34 | ImColor BorderColor = ImColor(45, 45, 45, 220); 35 | DrawList->AddRect(Pos, { Pos.x + Size.x, Pos.y + Size.y }, BorderColor); 36 | 37 | } 38 | 39 | 40 | bool ESP::Start() 41 | { 42 | 43 | Player LocalPlayer{}; 44 | 45 | LocalPlayer.control = Address::GetLocalPlayerControl(); 46 | 47 | if (!LocalPlayer.control) 48 | return false; 49 | 50 | LocalPlayer.pawn = Get::PlayerPawnAddress(LocalPlayer.control); 51 | 52 | if (!LocalPlayer.pawn) 53 | return false; 54 | 55 | LocalPlayer.team = Get::PlayerTeam(LocalPlayer.pawn); 56 | 57 | for (int i{ 0 }; i < 64; ++i) 58 | { 59 | 60 | Vector4 Draw {}; 61 | int distance = 0; 62 | 63 | Player Entity{}; 64 | 65 | Entity.control = Address::GetEntityBase(i); 66 | 67 | if (!Entity.control) 68 | continue; 69 | 70 | if(!Get::PawnAlive(Entity.control)) 71 | { 72 | continue; 73 | } 74 | 75 | Entity.pawn = Get::PlayerPawnAddress(Entity.control); 76 | 77 | if (!Entity.pawn) 78 | continue; 79 | 80 | Entity.team = Get::PlayerTeam(Entity.pawn); 81 | 82 | Entity.health = Get::PlayerHealth(Entity.pawn); 83 | 84 | if(Get::IsDormant(Entity.pawn)) 85 | { 86 | continue; 87 | } 88 | 89 | if (Menu::TeamCheck && Entity.team == LocalPlayer.team) 90 | { 91 | continue; 92 | } 93 | 94 | if (Entity.team != 2 && Entity.team != 3) 95 | { 96 | continue; 97 | } 98 | 99 | if (!Get::PlayerAlive(Entity.pawn)) 100 | { 101 | continue; 102 | } 103 | 104 | Entity.name = Get::PlayerName(Entity.control); 105 | 106 | Entity.pos = Get::PlayerPos(Entity.pawn); 107 | 108 | const float w { ImGui::GetIO().DisplaySize.x }; 109 | const float h { ImGui::GetIO().DisplaySize.y }; 110 | 111 | Vector3 currBotPos = Get::BonePos(Entity.pawn, BoneIndex::ankle_L) ; 112 | 113 | Vector3 currTopPos = Get::BonePos(Entity.pawn, BoneIndex::head) ; 114 | 115 | 116 | Vector3 curr2DBot{}; 117 | Vector3 curr2DTop{}; 118 | 119 | 120 | if (!Utils::WorldToScreen(currBotPos, curr2DBot, Address::GetViewMatrixPtr(), w, h)) 121 | continue; 122 | 123 | 124 | if (!Utils::WorldToScreen(currTopPos, curr2DTop, Address::GetViewMatrixPtr(), w, h)) 125 | continue; 126 | 127 | const float height{ ::abs(curr2DTop.y - curr2DBot.y) * 1.25f }; 128 | const float width{ height / 2.f }; 129 | const float x = curr2DTop.x - (width / 2.f); 130 | const float y = curr2DTop.y - (width / 2.5f); 131 | 132 | 133 | if(Menu::Misc::Rander) 134 | Set::RadarHack(Entity.pawn); 135 | 136 | if(Menu::ESP::Glow) 137 | Set::GlowHack(Entity.pawn); 138 | 139 | if (Menu::ESP::Box) 140 | { 141 | if(Menu::ESP::BoxType == 0) 142 | ImGui::GetBackgroundDrawList()->AddRect(ImVec2(x, y), ImVec2(x + width, y + height), Menu::Color::BoxColor, 3); 143 | else 144 | ImGui::GetBackgroundDrawList()->AddRectFilled(ImVec2(x, y), ImVec2(x + width, y + height), Menu::Color::FilledColor, 3); 145 | } 146 | 147 | if (Menu::ESP::Line) 148 | { 149 | if (Menu::ESP::LineType == 0) 150 | ImGui::GetBackgroundDrawList()->AddLine(ImVec2(w / 2, h), ImVec2(x + height / 2, y + height), Menu::Color::LineColor); 151 | else 152 | ImGui::GetBackgroundDrawList()->AddLine(ImVec2(w / 2, 0), ImVec2(x + height / 2, y), Menu::Color::LineColor); 153 | } 154 | 155 | 156 | if (Menu::ESP::Health) 157 | { 158 | ImVec2 healthBarPos = ImVec2(x - 10, y); // Adjust position as needed 159 | ImVec2 healthBarSize = ImVec2(5, height); // Adjust size as needed 160 | 161 | DrawHealth(100.0f, static_cast(Entity.health), healthBarPos, healthBarSize, false); 162 | } 163 | 164 | if (Menu::ESP::Name) 165 | { 166 | ImGui::PushFont(chinesefont); 167 | ImGui::GetBackgroundDrawList()->AddText(ImVec2(x, y - 10), Menu::Color::NameColor, Entity.name.c_str()); 168 | ImGui::PopFont(); 169 | } 170 | 171 | if (Menu::ESP::AimCricle) 172 | { 173 | if (Menu::ESP::CricleType == 0) 174 | { 175 | currBotPos = Get::BonePos(Entity.pawn, Menu::Aimbot::AimPos); 176 | if (!Utils::WorldToScreen(currBotPos, curr2DBot, Address::GetViewMatrixPtr(), w, h)) 177 | continue; 178 | 179 | ImGui::GetBackgroundDrawList()->AddCircle(ImVec2(curr2DBot.x, curr2DBot.y), Menu::Aimbot::AimSize, Menu::Color::AimCricleColor, 0, 1.5); 180 | } 181 | else 182 | { 183 | ImGui::GetBackgroundDrawList()->AddCircle(ImVec2(w / 2, h / 2), Menu::Aimbot::AimSize, Menu::Color::AimCricleColor, 0, 1.5); 184 | } 185 | 186 | } 187 | 188 | if (Menu::ESP::Bone) 189 | { 190 | Bone::Start(Entity.pawn, Menu::Color::BoneColor); 191 | } 192 | 193 | 194 | 195 | if (Menu::ESP::HeadCricle) 196 | { 197 | Bone::HeadCricle(Entity.pawn, Menu::Color::HeadCricleColor); 198 | } 199 | 200 | } 201 | 202 | return true; 203 | } 204 | 205 | -------------------------------------------------------------------------------- /XAnan CG Intern/ESP.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "imgui/imgui.h" 3 | #include "imgui/imgui_impl_win32.h" 4 | #include "imgui/imgui_impl_dx11.h" 5 | #include "Address.h" 6 | #include "LocalPlayer.h" 7 | #include "Entity.h" 8 | #include "menu.h" 9 | #include "Ults.h" 10 | #include 11 | #include 12 | #include "Console.h" 13 | #include "Bone.h" 14 | 15 | namespace ESP 16 | { 17 | void DrawHealth(float MaxHealth, float CurrentHealth, ImVec2 Pos, ImVec2 Size, bool Horizontal = true); 18 | bool Start(); 19 | }; -------------------------------------------------------------------------------- /XAnan CG Intern/Entity.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MitilcC/CS2-Internal-Cheat/15a42a6e282873b1aa43bcf6ab9dd036fb108af2/XAnan CG Intern/Entity.cpp -------------------------------------------------------------------------------- /XAnan CG Intern/Entity.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "Windows.h" 3 | #include "Offsets.h" 4 | #include "Address.h" 5 | #include "Vector.h" 6 | #include "imgui/imgui.h" 7 | #include "imgui/imgui_impl_win32.h" 8 | #include "imgui/imgui_impl_dx11.h" 9 | #include 10 | #include 11 | #include 12 | 13 | class Player 14 | { 15 | public: 16 | intptr_t control; 17 | intptr_t pawn; 18 | int health; 19 | int team; 20 | Vector3 pos; 21 | std::string name; 22 | }; 23 | 24 | enum BoneIndex 25 | { 26 | head = 6, 27 | neck_0 = 5, 28 | spine_1 = 4, 29 | spine_2 = 2, 30 | pelvis = 0, 31 | arm_upper_L = 8, 32 | arm_lower_L = 9, 33 | hand_L = 10, 34 | arm_upper_R = 13, 35 | arm_lower_R = 14, 36 | hand_R = 15, 37 | leg_upper_L = 22, 38 | leg_lower_L = 23, 39 | ankle_L = 24, 40 | leg_upper_R = 25, 41 | leg_lower_R = 26, 42 | ankle_R = 27, 43 | }; 44 | 45 | namespace Get 46 | { 47 | intptr_t PlayerPawnAddress(intptr_t addr); 48 | bool PawnAlive(intptr_t addr); 49 | bool PlayerAlive(intptr_t addr); 50 | int PlayerTeam(intptr_t addr); 51 | int PlayerHealth(intptr_t addr); 52 | Vector3 PlayerPos(intptr_t addr); 53 | Vector3 BonePos(intptr_t addr, int32_t index); 54 | bool IsDormant(intptr_t addr); 55 | std::string PlayerName(intptr_t addr); 56 | Vector3 WindowSize(); 57 | Vector3 LastCameraPos(intptr_t addr); 58 | } 59 | 60 | namespace Set 61 | { 62 | void RadarHack(intptr_t addr); 63 | void GlowHack(intptr_t addr); 64 | } 65 | 66 | struct BoneJoint 67 | { 68 | Vector3 pos{}; 69 | float scale; 70 | float rotation[4]; 71 | }; 72 | -------------------------------------------------------------------------------- /XAnan CG Intern/GameState.cpp: -------------------------------------------------------------------------------- 1 | #include "GameState.h" 2 | 3 | bool GameState::IsDeathMatch() 4 | { 5 | const intptr_t* deathMatchPtr{ Address::GetDeathMatchRulesPtr() }; 6 | return deathMatchPtr ? true : false; 7 | } 8 | 9 | int GameState::GetMatchState() 10 | { 11 | const int matchStateId{ *Address::GetMatchStateIdPtr() }; 12 | 13 | return matchStateId; 14 | } 15 | 16 | 17 | bool GameState::IsMatchStarted() 18 | { 19 | const int matchStateId{ *Address::GetMatchStateIdPtr() }; 20 | 21 | switch (matchStateId) 22 | { 23 | case IN_GAME: return true; 24 | case IN_LOBBY: return false; 25 | case NO_STATE: return false; 26 | case UN_KNOWN: return true; 27 | default: return false; 28 | } 29 | 30 | return false; 31 | } -------------------------------------------------------------------------------- /XAnan CG Intern/GameState.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "Address.h" 4 | 5 | namespace GameState 6 | { 7 | enum GameStateId 8 | { 9 | NO_STATE, 10 | IN_LOBBY = 4, 11 | IN_GAME = 8, 12 | UN_KNOWN = 16, 13 | }; 14 | 15 | inline bool bDefaultChange{ false }; 16 | bool IsDeathMatch(); 17 | bool IsMatchStarted(); 18 | int GetMatchState(); 19 | }; -------------------------------------------------------------------------------- /XAnan CG Intern/LocalPlayer.cpp: -------------------------------------------------------------------------------- 1 | #include "LocalPlayer.h" 2 | 3 | 4 | bool LocalPlayer::SetViewAngles(const Vector3& targetAngle) 5 | { 6 | 7 | Vector3* viewAnglesPtr{ Address::GetViewAnglesPtr() }; 8 | 9 | if (!viewAnglesPtr) return false; 10 | 11 | viewAnglesPtr->x = targetAngle.x; 12 | viewAnglesPtr->y = targetAngle.y; 13 | 14 | return true; 15 | } 16 | 17 | Vector3 LocalPlayer::GetViewAngles() 18 | { 19 | return *reinterpret_cast(Offset::GPointers::ClientMod + Offset::GPointers::ViewAngles); 20 | } 21 | 22 | bool LocalPlayer::SetSmoothViewAngles(Vector3 pTargetAngle, const int pSmoothValue) 23 | { 24 | Vector3* lpViewAngles{ Address::GetViewAnglesPtr() }; 25 | 26 | Vector3 deltaAngle{ pTargetAngle - *lpViewAngles }; 27 | 28 | Aimbot::NormalizeYaw(deltaAngle.y); 29 | 30 | if (lpViewAngles->x != pTargetAngle.x) 31 | lpViewAngles->x += deltaAngle.x / pSmoothValue; 32 | 33 | if (lpViewAngles->y != pTargetAngle.y) 34 | lpViewAngles->y += deltaAngle.y / pSmoothValue; 35 | 36 | return true; 37 | } 38 | 39 | -------------------------------------------------------------------------------- /XAnan CG Intern/LocalPlayer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "Address.h" 3 | #include "Entity.h" 4 | #include "Vector.h" 5 | #include "Aimbot.h" 6 | 7 | namespace LocalPlayer 8 | { 9 | bool SetViewAngles(const Vector3& targetAngle); 10 | bool SetSmoothViewAngles(Vector3 pTargetAngle, const int pSmoothValue); 11 | Vector3 GetViewAngles(); 12 | }; -------------------------------------------------------------------------------- /XAnan CG Intern/Math.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace Math 6 | { 7 | inline double distance(float x, float y) 8 | { 9 | return sqrt(pow(x, 2) + pow(y, 2)); 10 | } 11 | } -------------------------------------------------------------------------------- /XAnan CG Intern/Search.cpp: -------------------------------------------------------------------------------- 1 | #include "Search.h" 2 | 3 | intptr_t PatternScan::GetPatternSize(const std::string& pPattern) 4 | { 5 | if (pPattern.empty()) return NULL; 6 | 7 | int patternSize{ 0 }; 8 | bool bWildCard{ false }; 9 | 10 | for (int i{ 0 }; i < pPattern.length(); ++i) 11 | { 12 | if (pPattern[i] == '?') 13 | { 14 | bWildCard = true; 15 | continue; 16 | } 17 | else if (bWildCard && pPattern[i] == ' ') 18 | { 19 | ++patternSize; 20 | bWildCard = false; 21 | } 22 | else if (pPattern[i] != ' ') 23 | { 24 | ++patternSize; 25 | } 26 | } 27 | 28 | return patternSize; 29 | } 30 | 31 | std::vector PatternScan::GetParsedPattern(const std::string& pPattern) 32 | { 33 | if (pPattern.empty()) 34 | return std::vector(); 35 | 36 | std::vector parsedPattern{}; 37 | 38 | for (int i{ 0 }; i < pPattern.length(); i += 3) 39 | { 40 | if (pPattern[i] != ' ') 41 | { 42 | const std::string patternSub{ pPattern.substr(i, 2) }; 43 | 44 | // Deal with any wildcard type 45 | if (patternSub == "??") 46 | { 47 | parsedPattern.push_back('?'); 48 | continue; 49 | } 50 | else if (patternSub == "? ") 51 | { 52 | parsedPattern.push_back('?'); 53 | --i; // WildCard is only 1 byte so we have to inc by 2 54 | continue; 55 | } 56 | 57 | // Convert the substring into an hex byte 58 | const char hexByte{ static_cast(std::strtol(patternSub.c_str(), 0, 16)) }; 59 | 60 | if (!hexByte) 61 | return std::vector(); 62 | 63 | parsedPattern.push_back(hexByte); 64 | } 65 | } 66 | 67 | return parsedPattern; 68 | } 69 | 70 | intptr_t PatternScan::GetPatternAddr(char* pRegionAddr, intptr_t pRegionSize, const std::string& pPattern) 71 | { 72 | // Remove the spaces and formate the pattern into hex byte 73 | std::vector sPattern{ GetParsedPattern(pPattern) }; 74 | 75 | if (sPattern.empty()) 76 | return NULL; 77 | 78 | // Only iterate over the bytes that could potentially be the start of the pattern 79 | const uintptr_t regionSize{ pRegionSize - (sPattern.size()) }; 80 | 81 | for (uintptr_t i{ 0 }; i < regionSize; ++i) 82 | { 83 | bool bFound{ true }; 84 | 85 | for (uintptr_t j{ 0 }; j < sPattern.size(); ++j) 86 | { 87 | if (sPattern[j] != '?' && sPattern[j] != pRegionAddr[i + j]) 88 | { 89 | bFound = false; 90 | break; 91 | } 92 | } 93 | 94 | if (bFound) 95 | return reinterpret_cast(pRegionAddr) + i; 96 | } 97 | 98 | return 0; 99 | } 100 | 101 | intptr_t PatternScan::GetValidMemRegion(LDR_DATA_TABLE_ENTRY* pLdrEntry, const std::string& pPattern) 102 | { 103 | if (!pLdrEntry || pPattern.empty()) 104 | return 0; 105 | 106 | MEMORY_BASIC_INFORMATION mbi{}; 107 | 108 | char* modBaseAddr{ reinterpret_cast(pLdrEntry->DllBase) }; 109 | const intptr_t modSize{ pLdrEntry->SizeOfImage }; 110 | 111 | for (char* currRegion{ modBaseAddr }; currRegion < modBaseAddr + modSize; currRegion += mbi.RegionSize) 112 | { 113 | if (!VirtualQuery(currRegion, &mbi, sizeof(mbi)) || mbi.Protect == PAGE_NOACCESS || mbi.State != MEM_COMMIT) 114 | continue; 115 | 116 | const intptr_t patternRes{ GetPatternAddr(currRegion, mbi.RegionSize, pPattern) }; 117 | 118 | if (patternRes) return patternRes; 119 | } 120 | 121 | MessageBoxA(0, pPattern.c_str(), 0, 0); 122 | return 0; 123 | } 124 | 125 | intptr_t PatternScan::ExtractPointer(intptr_t pPatternResult) 126 | { 127 | intptr_t resultPointer{}; 128 | 129 | constexpr int opcodeSize{ 3 }; 130 | const int32_t offset{ *reinterpret_cast(pPatternResult + opcodeSize) }; 131 | 132 | constexpr int instructionSize{ 7 }; 133 | resultPointer = pPatternResult + static_cast(offset) + instructionSize; 134 | 135 | return resultPointer; 136 | } 137 | 138 | void PatternScan::SetGameEntitySystem(LDR_DATA_TABLE_ENTRY* pLdrEntry, const std::string& pPattern) 139 | { 140 | intptr_t resultPointer{}; 141 | 142 | // Get the address of the pattern result 143 | const intptr_t patternAddr{ GetValidMemRegion(pLdrEntry, pPattern) }; 144 | 145 | if (patternAddr) 146 | resultPointer = ExtractPointer(patternAddr); 147 | 148 | Offset::GPointers::EntityList = resultPointer - reinterpret_cast(pLdrEntry->DllBase); 149 | pointersState["GameEntitySystem"] = resultPointer; 150 | } 151 | 152 | void PatternScan::SetGameRules(LDR_DATA_TABLE_ENTRY* pLdrEntry, const std::string& pPattern) 153 | { 154 | intptr_t resultPointer{}; 155 | 156 | // Get the address of the pattern result 157 | const intptr_t patternAddr{ GetValidMemRegion(pLdrEntry, pPattern) }; 158 | 159 | if (patternAddr) 160 | resultPointer = ExtractPointer(patternAddr); 161 | 162 | Offset::GPointers::GameRules = resultPointer - reinterpret_cast(pLdrEntry->DllBase); 163 | pointersState["GameRules"] = resultPointer; 164 | } 165 | 166 | void PatternScan::SetLpController(LDR_DATA_TABLE_ENTRY* pLdrEntry, const std::string& pPattern) 167 | { 168 | intptr_t resultPointer{}; 169 | 170 | // Get the address of the pattern result 171 | const intptr_t patternAddr{ GetValidMemRegion(pLdrEntry, pPattern) }; 172 | 173 | if (patternAddr) 174 | resultPointer = ExtractPointer(patternAddr); 175 | 176 | Offset::GPointers::LP_Controller = resultPointer - reinterpret_cast(pLdrEntry->DllBase); 177 | pointersState["LP_Controller"] = resultPointer; 178 | } 179 | 180 | void PatternScan::SetViewMatrix(LDR_DATA_TABLE_ENTRY* pLdrEntry, const std::string& pPattern) 181 | { 182 | intptr_t resultPointer{}; 183 | 184 | // Get the address of the pattern result 185 | const intptr_t patternAddr{ GetValidMemRegion(pLdrEntry, pPattern) }; 186 | 187 | if (patternAddr) 188 | resultPointer = ExtractPointer(patternAddr); 189 | 190 | // Storing the offset of the pointer 191 | Offset::GPointers::ViewMatrix = resultPointer - reinterpret_cast(pLdrEntry->DllBase); 192 | 193 | pointersState["ViewMatrix"] = resultPointer; 194 | } 195 | 196 | void PatternScan::SetViewAngles(LDR_DATA_TABLE_ENTRY* pLdrEntry, const std::string& pPattern) 197 | { 198 | intptr_t* resultPointer{ nullptr }; 199 | 200 | // Get the address of the pattern result 201 | const intptr_t patternAddr{ GetValidMemRegion(pLdrEntry, pPattern) }; 202 | 203 | if (patternAddr) 204 | { 205 | resultPointer = reinterpret_cast(ExtractPointer(patternAddr)); 206 | 207 | // Dereference the pointer 2 times to access CCSGO_Input Base address 208 | for (int i{ 0 }; i < 2; ++i) 209 | resultPointer = reinterpret_cast(*resultPointer); 210 | 211 | // Storing the offset of the pointer 212 | const intptr_t CCSGO_InputOffset = reinterpret_cast(resultPointer) - Offset::GPointers::ClientMod; 213 | Offset::GPointers::ViewAngles = CCSGO_InputOffset - Offset::CCSGO_Input::ViewAngles; 214 | } 215 | 216 | pointersState["ViewAngles"] = reinterpret_cast(resultPointer); 217 | } 218 | 219 | void PatternScan::SetPrediction(LDR_DATA_TABLE_ENTRY* pLdrEntry, const std::string& pPattern) 220 | { 221 | intptr_t resultPointer{}; 222 | 223 | // Get the address of the pattern result 224 | const intptr_t patternAddr{ GetValidMemRegion(pLdrEntry, pPattern) }; 225 | 226 | if (patternAddr) 227 | resultPointer = ExtractPointer(patternAddr); 228 | 229 | // Storing the offset of the pointer 230 | Offset::GPointers::Prediction = resultPointer - reinterpret_cast(pLdrEntry->DllBase); 231 | 232 | pointersState["Prediction"] = resultPointer; 233 | } 234 | 235 | void PatternScan::SetClientMod(PVOID pDllBase) 236 | { 237 | Offset::GPointers::ClientMod = reinterpret_cast(pDllBase); 238 | pointersState["ClientDLL"] = Offset::GPointers::ClientMod; 239 | } 240 | 241 | void PatternScan::SetEngine2Mod(PVOID pDllBase) 242 | { 243 | Offset::GPointers::Engine2Mod = reinterpret_cast(pDllBase); 244 | pointersState["Engine2"] = Offset::GPointers::Engine2Mod; 245 | } 246 | 247 | bool PatternScan::InitPointers() 248 | { 249 | LDR_DATA_TABLE_ENTRY* clientLdr{ GetLdrEntry(L"client.dll") }; 250 | LDR_DATA_TABLE_ENTRY* engine2Ldr{ GetLdrEntry(L"engine2.dll") }; 251 | 252 | SetClientMod(clientLdr->DllBase); 253 | SetEngine2Mod(engine2Ldr->DllBase); 254 | 255 | SetGameRules(clientLdr, Pattern::GameRules); 256 | SetGameEntitySystem(clientLdr, Pattern::EntityList); 257 | SetLpController(clientLdr, Pattern::LP_Controller); 258 | SetViewMatrix(clientLdr, Pattern::ViewMatrix); 259 | SetPrediction(clientLdr, Pattern::Prediction); 260 | SetViewAngles(engine2Ldr, Pattern::CCSGoInput); 261 | 262 | return ArePointersInit(); 263 | 264 | } 265 | 266 | bool PatternScan::ArePointersInit() 267 | { 268 | for (const auto& pointer : pointersState) 269 | { 270 | if (!pointer.second) return false; 271 | } 272 | 273 | return true; 274 | } 275 | 276 | std::map PatternScan::GetPtrState() 277 | { 278 | return pointersState; 279 | } 280 | 281 | PEB* PatternScan::GetPEB() 282 | { 283 | return (PEB*)__readgsqword(0x60); 284 | } 285 | 286 | LDR_DATA_TABLE_ENTRY* PatternScan::GetLdrEntry(const wchar_t* pModName) 287 | { 288 | PEB* peb{ GetPEB() }; 289 | 290 | LIST_ENTRY headList{ peb->Ldr->InMemoryOrderModuleList }; 291 | LIST_ENTRY currList{ headList }; 292 | 293 | while (currList.Flink != headList.Blink) 294 | { 295 | LDR_DATA_TABLE_ENTRY* currLdrEntry{ CONTAINING_RECORD(currList.Flink, LDR_DATA_TABLE_ENTRY, InMemoryOrderLinks) }; 296 | 297 | if (currLdrEntry->FullDllName.Buffer) 298 | { 299 | wchar_t* wNameBuffer{ currLdrEntry->BaseDllName.Buffer }; 300 | 301 | // Equal 302 | if (wcscmp(wNameBuffer, pModName) == 0) 303 | return currLdrEntry; 304 | } 305 | currList = *currList.Flink; 306 | } 307 | 308 | return nullptr; 309 | } -------------------------------------------------------------------------------- /XAnan CG Intern/Search.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "Offsets.h" 3 | #include "Vector.h" 4 | #include "Peb.h" 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | class PatternScan 11 | { 12 | private: 13 | std::map pointersState; 14 | 15 | PEB* GetPEB(); 16 | LDR_DATA_TABLE_ENTRY* GetLdrEntry(const wchar_t* pModName); 17 | 18 | void SetViewAngles(LDR_DATA_TABLE_ENTRY* pLdrEntry, const std::string& pPattern); 19 | void SetPrediction(LDR_DATA_TABLE_ENTRY* pLdrEntry, const std::string& pPattern); 20 | void SetViewMatrix(LDR_DATA_TABLE_ENTRY* pLdrEntry, const std::string& pPattern); 21 | void SetGameRules(LDR_DATA_TABLE_ENTRY* pLdrEntry, const std::string& pPattern); 22 | void SetLpController(LDR_DATA_TABLE_ENTRY* pLdrEntry, const std::string& pPattern); 23 | void SetGameEntitySystem(LDR_DATA_TABLE_ENTRY* pLdrEntry, const std::string& pPattern); 24 | 25 | intptr_t GetPatternSize(const std::string& pPattern); 26 | std::vector GetParsedPattern(const std::string& pPattern); 27 | intptr_t GetPatternAddr(char* currRegion, intptr_t pRegionSize, const std::string& pPattern); 28 | intptr_t GetValidMemRegion(LDR_DATA_TABLE_ENTRY* pLdrEntry, const std::string& pPattern); 29 | intptr_t ExtractPointer(intptr_t pPatternResult); 30 | 31 | public: 32 | 33 | void SetClientMod(PVOID pDllBase); 34 | void SetEngine2Mod(PVOID pDllBase); 35 | bool ArePointersInit(); 36 | bool InitPointers(); 37 | std::map GetPtrState(); 38 | }; 39 | 40 | namespace Pattern 41 | { 42 | inline const std::string EntityList{ "48 8B 0D ?? ?? ?? ?? 48 89 7C 24 ?? 8B FA C1 EB" }; 43 | inline const std::string ViewMatrix{ "48 8D 0D ?? ?? ?? ?? 48 C1 E0 06" }; 44 | inline const std::string LP_Controller{ "48 8B ? ? ? ? ? 48 85 ? 74 ? B2 ? E8 ? ? ? ? 45 33" }; 45 | inline const std::string GameRules{ "48 8B ? ? ? ? ? 4C 8B ? 48 8B ? 48 8B ? FF 90 ? ? ? ? 0F B6" }; 46 | inline const std::string Prediction{ "48 8B ? ? ? ? ? B2 ? F3 0F ? ? ? ? 89 6C" }; 47 | inline const std::string CCSGoInput{ "4C 89 ? ? ? ? ? 0F 11 ? ? ? ? ? 48 89 ? ? ? ? ? 4C 89" }; // Dereference 2 times 48 | inline const std::string BoneMatrix{ "4D 8B ? ? ? ? ? 4D 8B ? ? ? ? ? 8B 9F" }; 49 | } 50 | -------------------------------------------------------------------------------- /XAnan CG Intern/Ults.cpp: -------------------------------------------------------------------------------- 1 | #include "Ults.h" 2 | 3 | 4 | bool Utils::WorldToScreen(Vector3 pWorldPos, Vector3& pScreenPos, float* pMatrixPtr, const FLOAT pWinWidth, const FLOAT pWinHeight) 5 | { 6 | float matrix2[4][4]; 7 | 8 | memcpy(matrix2, pMatrixPtr, 16 * sizeof(float)); 9 | 10 | const float mX{ pWinWidth / 2 }; 11 | const float mY{ pWinHeight / 2 }; 12 | 13 | const float w{ 14 | matrix2[3][0] * pWorldPos.x + 15 | matrix2[3][1] * pWorldPos.y + 16 | matrix2[3][2] * pWorldPos.z + 17 | matrix2[3][3] }; 18 | 19 | if (w < 0.65f) return false; 20 | 21 | const float x{ 22 | matrix2[0][0] * pWorldPos.x + 23 | matrix2[0][1] * pWorldPos.y + 24 | matrix2[0][2] * pWorldPos.z + 25 | matrix2[0][3] }; 26 | 27 | const float y{ 28 | matrix2[1][0] * pWorldPos.x + 29 | matrix2[1][1] * pWorldPos.y + 30 | matrix2[1][2] * pWorldPos.z + 31 | matrix2[1][3] }; 32 | 33 | pScreenPos.x = (mX + mX * x / w); 34 | pScreenPos.y = (mY - mY * y / w); 35 | pScreenPos.z = 0; 36 | 37 | return true; 38 | } 39 | 40 | bool Utils::WorldToScreen2(Vector3 pWorldPos, Vector4& pScreenPos, float* pMatrixPtr, const FLOAT pWinWidth, const FLOAT pWinHeight, int& distance) 41 | { 42 | float matrix2[4][4]; 43 | 44 | memcpy(matrix2, pMatrixPtr, 16 * sizeof(float)); 45 | 46 | float view = matrix2[2][0] * pWorldPos.x + matrix2[2][1] * pWorldPos.y + matrix2[2][2] * pWorldPos.z + matrix2[2][3] ; 47 | 48 | if (view < 0.01f) return false; 49 | 50 | view = 1 / view; 51 | 52 | float mX = pWinWidth / 2 + (matrix2[0][0] * pWorldPos.x + matrix2[0][1] * pWorldPos.y + matrix2[0][2] * pWorldPos.z + matrix2[0][3]) * view * pWinWidth / 2; 53 | 54 | float mY = pWinHeight / 2 - (matrix2[1][0] * pWorldPos.x + matrix2[1][1] * pWorldPos.y + matrix2[1][2] * (pWorldPos.z + 72) + matrix2[1][3]) * view * pWinHeight / 2; 55 | 56 | float mY2 = pWinHeight / 2 - (matrix2[1][0] * pWorldPos.x + matrix2[1][1] * pWorldPos.y + matrix2[1][2] * (pWorldPos.z - 1.5) + matrix2[1][3]) * view * pWinHeight / 2; 57 | 58 | float mH = mY2 - mY; 59 | 60 | pScreenPos.x = mX - mH / 4; 61 | pScreenPos.y = mY; 62 | pScreenPos.h = mH; 63 | pScreenPos.w = mH / 2; 64 | 65 | return true; 66 | } -------------------------------------------------------------------------------- /XAnan CG Intern/Ults.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include "Vector.h" 5 | 6 | namespace Utils 7 | { 8 | bool WorldToScreen(Vector3 pWorldPos, Vector3& pScreenPos, float* pMatrixPtr, const FLOAT pWinWidth, const FLOAT pWinHeight); 9 | bool WorldToScreen2(Vector3 pWorldPos, Vector4& pScreenPos, float* pMatrixPtr, const FLOAT pWinWidth, const FLOAT pWinHeight, int& distance); 10 | 11 | } 12 | -------------------------------------------------------------------------------- /XAnan CG Intern/Vector.cpp: -------------------------------------------------------------------------------- 1 | #include "Vector.h" 2 | 3 | Vector3 Vector3::operator+(Vector3 d) 4 | { 5 | return { x + d.x, y + d.y, z + d.z }; 6 | } 7 | 8 | Vector3 Vector3::operator-(Vector3 d) 9 | { 10 | return { x - d.x, y - d.y, z - d.z }; 11 | } 12 | 13 | Vector3 Vector3::operator*(Vector3 d) 14 | { 15 | return { x * d.x, y * d.y, z * d.z }; 16 | } 17 | 18 | Vector3 Vector3::operator*(float d) 19 | { 20 | return { x * d, y * d, z * d }; 21 | } 22 | 23 | Vector4 Vector4::operator+(Vector4 d) 24 | { 25 | return { x + d.x, y + d.y, w + d.w, h + d.h }; 26 | } 27 | 28 | Vector4 Vector4::operator-(Vector4 d) 29 | { 30 | return { x - d.x, y - d.y, w - d.w, h - d.h }; 31 | } 32 | 33 | Vector4 Vector4::operator*(Vector4 d) 34 | { 35 | return { x * d.x, y * d.y, w * d.w, h * d.h }; 36 | } 37 | 38 | Vector4 Vector4::operator*(float d) 39 | { 40 | return { x * d, y * d, w * d, h * d}; 41 | } -------------------------------------------------------------------------------- /XAnan CG Intern/Vector.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | struct Vector3 4 | { 5 | float x, y, z; 6 | 7 | Vector3 operator+(Vector3 d); 8 | Vector3 operator-(Vector3 d); 9 | Vector3 operator*(Vector3 d); 10 | Vector3 operator*(float d); 11 | }; 12 | 13 | struct Vector4 14 | { 15 | float x, y, w, h; 16 | 17 | Vector4 operator+(Vector4 d); 18 | Vector4 operator-(Vector4 d); 19 | Vector4 operator*(Vector4 d); 20 | Vector4 operator*(float d); 21 | }; -------------------------------------------------------------------------------- /XAnan CG Intern/XAnan CG Intern.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 6 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd 7 | 8 | 9 | {8154ad2d-852f-43b4-9c12-f71e095f339c} 10 | 11 | 12 | {0caebb7a-6174-435d-8e6f-d1d670493bc4} 13 | 14 | 15 | {7d3531d0-b192-4cca-92e9-ac22eccc7da0} 16 | 17 | 18 | {51cb0931-f8ad-41b1-b8dc-cc40698e637b} 19 | 20 | 21 | {bf13f3cf-4633-4c15-8928-f57637fb9cc7} 22 | 23 | 24 | {9d9e7049-12d9-40a6-bc6d-43d9c73c236c} 25 | 26 | 27 | {76f32978-c5ba-46e6-b96e-b94d9bf497f0} 28 | 29 | 30 | 31 | 32 | include 33 | 34 | 35 | include\kiero 36 | 37 | 38 | include\kiero 39 | 40 | 41 | include\kiero 42 | 43 | 44 | include\kiero 45 | 46 | 47 | include\kiero 48 | 49 | 50 | include\kiero 51 | 52 | 53 | include\kiero 54 | 55 | 56 | include\kiero 57 | 58 | 59 | include\kiero 60 | 61 | 62 | sdk 63 | 64 | 65 | sdk\dumper 66 | 67 | 68 | sdk\dumper 69 | 70 | 71 | sdk\dumper 72 | 73 | 74 | sdk\dumper 75 | 76 | 77 | sdk\dumper 78 | 79 | 80 | sdk\dumper 81 | 82 | 83 | sdk\dumper 84 | 85 | 86 | sdk\dumper 87 | 88 | 89 | sdk\dumper 90 | 91 | 92 | sdk\dumper 93 | 94 | 95 | sdk\dumper 96 | 97 | 98 | sdk\dumper 99 | 100 | 101 | sdk\dumper 102 | 103 | 104 | sdk\dumper 105 | 106 | 107 | sdk\dumper 108 | 109 | 110 | sdk\dumper 111 | 112 | 113 | sdk\dumper 114 | 115 | 116 | sdk\dumper 117 | 118 | 119 | sdk\dumper 120 | 121 | 122 | sdk\dumper 123 | 124 | 125 | sdk 126 | 127 | 128 | sdk 129 | 130 | 131 | sdk 132 | 133 | 134 | sdk 135 | 136 | 137 | sdk 138 | 139 | 140 | sdk 141 | 142 | 143 | sdk 144 | 145 | 146 | cheat 147 | 148 | 149 | cheat\feature 150 | 151 | 152 | cheat\menu 153 | 154 | 155 | cheat\feature 156 | 157 | 158 | sdk 159 | 160 | 161 | imgui 162 | 163 | 164 | imgui 165 | 166 | 167 | imgui 168 | 169 | 170 | imgui 171 | 172 | 173 | imgui 174 | 175 | 176 | imgui 177 | 178 | 179 | imgui 180 | 181 | 182 | imgui 183 | 184 | 185 | imgui 186 | 187 | 188 | imgui 189 | 190 | 191 | imgui 192 | 193 | 194 | cheat\menu 195 | 196 | 197 | sdk 198 | 199 | 200 | sdk 201 | 202 | 203 | 204 | 205 | include\kiero 206 | 207 | 208 | include\kiero 209 | 210 | 211 | include\kiero 212 | 213 | 214 | include\kiero 215 | 216 | 217 | include\kiero 218 | 219 | 220 | include\kiero 221 | 222 | 223 | sdk 224 | 225 | 226 | sdk 227 | 228 | 229 | sdk 230 | 231 | 232 | sdk 233 | 234 | 235 | sdk 236 | 237 | 238 | 239 | cheat 240 | 241 | 242 | cheat\feature 243 | 244 | 245 | sdk 246 | 247 | 248 | cheat\menu 249 | 250 | 251 | cheat\feature 252 | 253 | 254 | sdk 255 | 256 | 257 | imgui 258 | 259 | 260 | imgui 261 | 262 | 263 | imgui 264 | 265 | 266 | imgui 267 | 268 | 269 | imgui 270 | 271 | 272 | imgui 273 | 274 | 275 | cheat\menu 276 | 277 | 278 | sdk 279 | 280 | 281 | 282 | 283 | include\kiero 284 | 285 | 286 | 287 | 288 | include\kiero 289 | 290 | 291 | -------------------------------------------------------------------------------- /XAnan CG Intern/XAnan CG Intern.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /XAnan CG Intern/dllmain.cpp: -------------------------------------------------------------------------------- 1 | // dllmain.cpp : 定义 DLL 应用程序的入口点。 2 | #include "include.h" 3 | #include "Cheat.h" 4 | #include "Search.h" 5 | #include "Menu.h" 6 | #include "imgui/font.h" 7 | #include "Console.h" 8 | 9 | bool init = false; 10 | 11 | extern LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); 12 | 13 | Present oPresent; 14 | HWND window = NULL; 15 | WNDPROC oWndProc; 16 | ID3D11Device* pDevice = NULL; 17 | ID3D11DeviceContext* pContext = NULL; 18 | ID3D11RenderTargetView* mainRenderTargetView; 19 | 20 | void InitImGui() 21 | { 22 | ImGui::CreateContext(); 23 | ImGuiIO& io = ImGui::GetIO(); 24 | io.ConfigFlags = ImGuiConfigFlags_NoMouseCursorChange; 25 | io.Fonts->AddFontFromMemoryTTF(&inter, sizeof inter, 16 * dpi_scale, NULL, io.Fonts->GetGlyphRangesCyrillic()); 26 | chinesefont = io.Fonts->AddFontFromFileTTF("c:/windows/fonts/simhei.ttf", 15.0f, NULL, io.Fonts->GetGlyphRangesChineseSimplifiedCommon()); 27 | tab_text1 = io.Fonts->AddFontFromMemoryTTF(&inter, sizeof inter, 12 * dpi_scale, NULL, io.Fonts->GetGlyphRangesCyrillic()); 28 | tab_text2 = io.Fonts->AddFontFromMemoryTTF(&inter, sizeof inter, 24 * dpi_scale, NULL, io.Fonts->GetGlyphRangesCyrillic()); 29 | tab_text3 = io.Fonts->AddFontFromMemoryTTF(&inter, sizeof inter, 40 * dpi_scale, NULL, io.Fonts->GetGlyphRangesCyrillic()); 30 | ico = io.Fonts->AddFontFromMemoryTTF(&icon, sizeof icon, 25 * dpi_scale, NULL, io.Fonts->GetGlyphRangesCyrillic()); 31 | ico_2 = io.Fonts->AddFontFromMemoryTTF(&Menuicon, sizeof Menuicon, 20 * dpi_scale, NULL, io.Fonts->GetGlyphRangesCyrillic()); 32 | ico_subtab = io.Fonts->AddFontFromMemoryTTF(&icon, sizeof icon, 35 * dpi_scale, NULL, io.Fonts->GetGlyphRangesCyrillic()); 33 | ico_logo = io.Fonts->AddFontFromMemoryTTF(&icon, sizeof icon, 31 * dpi_scale, NULL, io.Fonts->GetGlyphRangesCyrillic()); 34 | tab_textA = io.Fonts->AddFontFromMemoryTTF(&inter, sizeof inter, 19 * dpi_scale, NULL, io.Fonts->GetGlyphRangesCyrillic()); 35 | ico_minimize = io.Fonts->AddFontFromMemoryTTF(&icon, sizeof icon, 27 * dpi_scale, NULL, io.Fonts->GetGlyphRangesCyrillic()); 36 | 37 | ImGui_ImplWin32_Init(window); 38 | ImGui_ImplDX11_Init(pDevice, pContext); 39 | } 40 | 41 | LRESULT __stdcall WndProc(const HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { 42 | 43 | if (true && ImGui_ImplWin32_WndProcHandler(hWnd, uMsg, wParam, lParam)) 44 | return true; 45 | 46 | return CallWindowProc(oWndProc, hWnd, uMsg, wParam, lParam); 47 | } 48 | 49 | HRESULT __stdcall hkPresent(IDXGISwapChain* pSwapChain, UINT SyncInterval, UINT Flags) 50 | { 51 | if (!init) 52 | { 53 | if (SUCCEEDED(pSwapChain->GetDevice(__uuidof(ID3D11Device), (void**)&pDevice))) 54 | { 55 | pDevice->GetImmediateContext(&pContext); 56 | DXGI_SWAP_CHAIN_DESC sd; 57 | pSwapChain->GetDesc(&sd); 58 | window = sd.OutputWindow; 59 | ID3D11Texture2D* pBackBuffer; 60 | pSwapChain->GetBuffer(0, __uuidof(ID3D11Texture2D), (LPVOID*)&pBackBuffer); 61 | pDevice->CreateRenderTargetView(pBackBuffer, NULL, &mainRenderTargetView); 62 | pBackBuffer->Release(); 63 | oWndProc = (WNDPROC)SetWindowLongPtr(window, GWLP_WNDPROC, (LONG_PTR)WndProc); 64 | InitImGui(); 65 | //Console::InitConsole(); 66 | init = true; 67 | } 68 | 69 | else 70 | return oPresent(pSwapChain, SyncInterval, Flags); 71 | } 72 | 73 | 74 | ImGui_ImplDX11_NewFrame(); 75 | ImGui_ImplWin32_NewFrame(); 76 | ImGui::NewFrame(); 77 | 78 | Cheat::Run(); 79 | 80 | ImGui::Render(); 81 | 82 | pContext->OMSetRenderTargets(1, &mainRenderTargetView, NULL); 83 | ImGui_ImplDX11_RenderDrawData(ImGui::GetDrawData()); 84 | return oPresent(pSwapChain, SyncInterval, Flags); 85 | } 86 | 87 | DWORD WINAPI MainThread(LPVOID lpReserved) 88 | { 89 | 90 | PatternScan patternScan{}; 91 | 92 | if (patternScan.InitPointers()) 93 | { 94 | 95 | //Console::InitConsole(); 96 | 97 | bool init_hook = false; 98 | do 99 | { 100 | if (kiero::init(kiero::RenderType::D3D11) == kiero::Status::Success) 101 | { 102 | kiero::bind(8, (void**)&oPresent, hkPresent); 103 | init_hook = true; 104 | } 105 | } while (!init_hook); 106 | 107 | } 108 | else 109 | { 110 | MessageBox(0,L"Update Offsets error !",0,0); 111 | } 112 | 113 | return TRUE; 114 | } 115 | 116 | BOOL APIENTRY DllMain( HMODULE hModule, 117 | DWORD dwReason, 118 | LPVOID lpReserved 119 | ) 120 | { 121 | switch (dwReason) 122 | { 123 | case DLL_PROCESS_ATTACH: 124 | DisableThreadLibraryCalls(hModule); 125 | CreateThread(nullptr, 0, MainThread, hModule, 0, nullptr); 126 | break; 127 | case DLL_PROCESS_DETACH: 128 | kiero::shutdown(); 129 | break; 130 | } 131 | return TRUE; 132 | } 133 | 134 | -------------------------------------------------------------------------------- /XAnan CG Intern/imgui/color.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "imgui.h" 3 | 4 | 5 | 6 | namespace colors { 7 | 8 | inline ImVec4 general_color = ImColor(195, 105, 48, 255); 9 | inline ImVec4 main_color = ImColor(16, 16, 16, 255); 10 | inline ImVec4 lite_color = ImColor(20, 20, 20, 255); 11 | inline ImVec4 gray_color = ImColor(43, 43, 43, 255); 12 | inline ImVec4 Tab_Child = ImColor(15, 15, 15, 255); 13 | inline ImVec4 Tab_Border = ImColor(26, 26, 26, 255); 14 | 15 | inline ImVec4 Tab_Selected = ImColor(223, 99, 25,255); 16 | inline ImVec4 Tab_Hovered = ImColor(130, 130, 130, 255); 17 | inline ImVec4 Tab = ImColor(80, 80, 80, 255); 18 | 19 | inline ImVec4 Checkbox = ImColor(14, 14, 14, 255); 20 | inline ImVec4 Checkbox_Hovered = ImColor(12, 12, 12, 255); 21 | inline ImVec4 Checkbox_Active = ImColor(218, 96, 21, 255); 22 | 23 | inline ImVec4 Car_Slider = ImColor(221, 97, 23, 255); 24 | inline ImVec4 Car_Slider_Hovered = ImColor(223, 99, 25, 255); 25 | inline ImVec4 Car_Slider_Active = ImColor(223, 99, 25, 255); 26 | 27 | inline ImVec4 Slider = ImColor(16, 16, 16, 255); 28 | inline ImVec4 Slider_Hovered = ImColor(18, 18, 18, 255); 29 | inline ImVec4 Slider_Active = ImColor(18, 18, 18, 255); 30 | 31 | inline ImVec4 Circle_Slider = ImColor(255, 255, 255, 255); 32 | inline ImVec4 Circle_SliderHovered = ImColor(255, 255, 255, 255); 33 | inline ImVec4 Circle_SliderActive = ImColor(255, 255, 255, 255); 34 | 35 | inline ImVec4 Combo = ImColor(26, 26, 26, 255); 36 | inline ImVec4 Combo_Hovered = ImColor(26, 26, 26, 255); 37 | inline ImVec4 Combo_Active = ImColor(26, 26, 26, 255); 38 | 39 | inline ImVec4 InputText = ImColor(16, 16, 16, 255); 40 | inline ImVec4 InputText_Hovered = ImColor(18, 18, 18, 255); 41 | inline ImVec4 InputText_Active = ImColor(18, 18, 18, 255); 42 | 43 | inline ImVec4 Button = ImColor(26, 26, 26, 255); 44 | inline ImVec4 Button_Hovered = ImColor(30, 30, 30, 255); 45 | inline ImVec4 Button_Active = ImColor(33, 33, 33, 255); 46 | 47 | inline ImVec4 Selectable_Hovered = ImColor(150, 150, 150, 255); 48 | inline ImVec4 Selectable_Active = ImColor(250, 250, 250, 255); 49 | 50 | inline ImVec4 Picker_Active = ImColor(20, 20, 20, 255); 51 | 52 | inline ImVec4 Text = ImColor(71, 71, 71, 255); 53 | inline ImVec4 Text_Hovered = ImColor(200, 200, 200, 255); 54 | inline ImVec4 Text_Active = ImColor(235, 245, 255, 255); 55 | 56 | inline ImVec4 CheckMark = ImColor(255, 255, 255, 255); 57 | 58 | inline ImVec4 Transparent = ImColor(0, 0, 0, 0); 59 | 60 | inline ImVec4 tab_tooltip = ImColor(180, 180, 180, 255); 61 | 62 | inline ImVec4 keybind_background = ImColor(17, 17, 17, 255); 63 | inline ImVec4 keybind_border = ImColor(28, 28, 28, 255); 64 | } -------------------------------------------------------------------------------- /XAnan CG Intern/imgui/imconfig.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // COMPILE-TIME OPTIONS FOR DEAR IMGUI 3 | // Runtime options (clipboard callbacks, enabling various features, etc.) can generally be set via the ImGuiIO structure. 4 | // You can use ImGui::SetAllocatorFunctions() before calling ImGui::CreateContext() to rewire memory allocation functions. 5 | //----------------------------------------------------------------------------- 6 | // A) You may edit imconfig.h (and not overwrite it when updating Dear ImGui, or maintain a patch/rebased branch with your modifications to it) 7 | // B) or '#define IMGUI_USER_CONFIG "my_imgui_config.h"' in your project and then add directives in your own file without touching this template. 8 | //----------------------------------------------------------------------------- 9 | // You need to make sure that configuration settings are defined consistently _everywhere_ Dear ImGui is used, which include the imgui*.cpp 10 | // files but also _any_ of your code that uses Dear ImGui. This is because some compile-time options have an affect on data structures. 11 | // Defining those options in imconfig.h will ensure every compilation unit gets to see the same data structure layouts. 12 | // Call IMGUI_CHECKVERSION() from your .cpp files to verify that the data structures your files are using are matching the ones imgui.cpp is using. 13 | //----------------------------------------------------------------------------- 14 | 15 | #pragma once 16 | 17 | //---- Define assertion handler. Defaults to calling assert(). 18 | // If your macro uses multiple statements, make sure is enclosed in a 'do { .. } while (0)' block so it can be used as a single statement. 19 | //#define IM_ASSERT(_EXPR) MyAssert(_EXPR) 20 | //#define IM_ASSERT(_EXPR) ((void)(_EXPR)) // Disable asserts 21 | 22 | //---- Define attributes of all API symbols declarations, e.g. for DLL under Windows 23 | // Using Dear ImGui via a shared library is not recommended, because of function call overhead and because we don't guarantee backward nor forward ABI compatibility. 24 | // DLL users: heaps and globals are not shared across DLL boundaries! You will need to call SetCurrentContext() + SetAllocatorFunctions() 25 | // for each static/DLL boundary you are calling from. Read "Context and Memory Allocators" section of imgui.cpp for more details. 26 | //#define IMGUI_API __declspec( dllexport ) 27 | //#define IMGUI_API __declspec( dllimport ) 28 | 29 | //---- Don't define obsolete functions/enums/behaviors. Consider enabling from time to time after updating to avoid using soon-to-be obsolete function/names. 30 | //#define IMGUI_DISABLE_OBSOLETE_FUNCTIONS 31 | //#define IMGUI_DISABLE_OBSOLETE_KEYIO // 1.87: disable legacy io.KeyMap[]+io.KeysDown[] in favor io.AddKeyEvent(). This will be folded into IMGUI_DISABLE_OBSOLETE_FUNCTIONS in a few versions. 32 | 33 | //---- Disable all of Dear ImGui or don't implement standard windows/tools. 34 | // It is very strongly recommended to NOT disable the demo windows and debug tool during development. They are extremely useful in day to day work. Please read comments in imgui_demo.cpp. 35 | //#define IMGUI_DISABLE // Disable everything: all headers and source files will be empty. 36 | //#define IMGUI_DISABLE_DEMO_WINDOWS // Disable demo windows: ShowDemoWindow()/ShowStyleEditor() will be empty. 37 | //#define IMGUI_DISABLE_DEBUG_TOOLS // Disable metrics/debugger and other debug tools: ShowMetricsWindow(), ShowDebugLogWindow() and ShowStackToolWindow() will be empty (this was called IMGUI_DISABLE_METRICS_WINDOW before 1.88). 38 | 39 | //---- Don't implement some functions to reduce linkage requirements. 40 | //#define IMGUI_DISABLE_WIN32_DEFAULT_CLIPBOARD_FUNCTIONS // [Win32] Don't implement default clipboard handler. Won't use and link with OpenClipboard/GetClipboardData/CloseClipboard etc. (user32.lib/.a, kernel32.lib/.a) 41 | //#define IMGUI_ENABLE_WIN32_DEFAULT_IME_FUNCTIONS // [Win32] [Default with Visual Studio] Implement default IME handler (require imm32.lib/.a, auto-link for Visual Studio, -limm32 on command-line for MinGW) 42 | //#define IMGUI_DISABLE_WIN32_DEFAULT_IME_FUNCTIONS // [Win32] [Default with non-Visual Studio compilers] Don't implement default IME handler (won't require imm32.lib/.a) 43 | //#define IMGUI_DISABLE_WIN32_FUNCTIONS // [Win32] Won't use and link with any Win32 function (clipboard, ime). 44 | //#define IMGUI_ENABLE_OSX_DEFAULT_CLIPBOARD_FUNCTIONS // [OSX] Implement default OSX clipboard handler (need to link with '-framework ApplicationServices', this is why this is not the default). 45 | //#define IMGUI_DISABLE_DEFAULT_FORMAT_FUNCTIONS // Don't implement ImFormatString/ImFormatStringV so you can implement them yourself (e.g. if you don't want to link with vsnprintf) 46 | //#define IMGUI_DISABLE_DEFAULT_MATH_FUNCTIONS // Don't implement ImFabs/ImSqrt/ImPow/ImFmod/ImCos/ImSin/ImAcos/ImAtan2 so you can implement them yourself. 47 | //#define IMGUI_DISABLE_FILE_FUNCTIONS // Don't implement ImFileOpen/ImFileClose/ImFileRead/ImFileWrite and ImFileHandle at all (replace them with dummies) 48 | //#define IMGUI_DISABLE_DEFAULT_FILE_FUNCTIONS // Don't implement ImFileOpen/ImFileClose/ImFileRead/ImFileWrite and ImFileHandle so you can implement them yourself if you don't want to link with fopen/fclose/fread/fwrite. This will also disable the LogToTTY() function. 49 | //#define IMGUI_DISABLE_DEFAULT_ALLOCATORS // Don't implement default allocators calling malloc()/free() to avoid linking with them. You will need to call ImGui::SetAllocatorFunctions(). 50 | //#define IMGUI_DISABLE_SSE // Disable use of SSE intrinsics even if available 51 | 52 | //---- Include imgui_user.h at the end of imgui.h as a convenience 53 | //#define IMGUI_INCLUDE_IMGUI_USER_H 54 | 55 | //---- Pack colors to BGRA8 instead of RGBA8 (to avoid converting from one to another) 56 | //#define IMGUI_USE_BGRA_PACKED_COLOR 57 | 58 | //---- Use 32-bit for ImWchar (default is 16-bit) to support unicode planes 1-16. (e.g. point beyond 0xFFFF like emoticons, dingbats, symbols, shapes, ancient languages, etc...) 59 | //#define IMGUI_USE_WCHAR32 60 | 61 | //---- Avoid multiple STB libraries implementations, or redefine path/filenames to prioritize another version 62 | // By default the embedded implementations are declared static and not available outside of Dear ImGui sources files. 63 | //#define IMGUI_STB_TRUETYPE_FILENAME "my_folder/stb_truetype.h" 64 | //#define IMGUI_STB_RECT_PACK_FILENAME "my_folder/stb_rect_pack.h" 65 | //#define IMGUI_STB_SPRINTF_FILENAME "my_folder/stb_sprintf.h" // only used if enabled 66 | //#define IMGUI_DISABLE_STB_TRUETYPE_IMPLEMENTATION 67 | //#define IMGUI_DISABLE_STB_RECT_PACK_IMPLEMENTATION 68 | 69 | //---- Use stb_sprintf.h for a faster implementation of vsnprintf instead of the one from libc (unless IMGUI_DISABLE_DEFAULT_FORMAT_FUNCTIONS is defined) 70 | // Compatibility checks of arguments and formats done by clang and GCC will be disabled in order to support the extra formats provided by stb_sprintf.h. 71 | //#define IMGUI_USE_STB_SPRINTF 72 | 73 | //---- Use FreeType to build and rasterize the font atlas (instead of stb_truetype which is embedded by default in Dear ImGui) 74 | // Requires FreeType headers to be available in the include path. Requires program to be compiled with 'misc/freetype/imgui_freetype.cpp' (in this repository) + the FreeType library (not provided). 75 | // On Windows you may use vcpkg with 'vcpkg install freetype --triplet=x64-windows' + 'vcpkg integrate install'. 76 | //#define IMGUI_ENABLE_FREETYPE 77 | 78 | //---- Use stb_truetype to build and rasterize the font atlas (default) 79 | // The only purpose of this define is if you want force compilation of the stb_truetype backend ALONG with the FreeType backend. 80 | //#define IMGUI_ENABLE_STB_TRUETYPE 81 | 82 | //---- Define constructor and implicit cast operators to convert back<>forth between your math types and ImVec2/ImVec4. 83 | // This will be inlined as part of ImVec2 and ImVec4 class declarations. 84 | /* 85 | #define IM_VEC2_CLASS_EXTRA \ 86 | constexpr ImVec2(const MyVec2& f) : x(f.x), y(f.y) {} \ 87 | operator MyVec2() const { return MyVec2(x,y); } 88 | 89 | #define IM_VEC4_CLASS_EXTRA \ 90 | constexpr ImVec4(const MyVec4& f) : x(f.x), y(f.y), z(f.z), w(f.w) {} \ 91 | operator MyVec4() const { return MyVec4(x,y,z,w); } 92 | */ 93 | 94 | //---- Use 32-bit vertex indices (default is 16-bit) is one way to allow large meshes with more than 64K vertices. 95 | // Your renderer backend will need to support it (most example renderer backends support both 16/32-bit indices). 96 | // Another way to allow large meshes while keeping 16-bit indices is to handle ImDrawCmd::VtxOffset in your renderer. 97 | // Read about ImGuiBackendFlags_RendererHasVtxOffset for details. 98 | //#define ImDrawIdx unsigned int 99 | 100 | //---- Override ImDrawCallback signature (will need to modify renderer backends accordingly) 101 | //struct ImDrawList; 102 | //struct ImDrawCmd; 103 | //typedef void (*MyImDrawCallback)(const ImDrawList* draw_list, const ImDrawCmd* cmd, void* my_renderer_user_data); 104 | //#define ImDrawCallback MyImDrawCallback 105 | 106 | //---- Debug Tools: Macro to break in Debugger 107 | // (use 'Metrics->Tools->Item Picker' to pick widgets with the mouse and break into them for easy debugging.) 108 | //#define IM_DEBUG_BREAK IM_ASSERT(0) 109 | //#define IM_DEBUG_BREAK __debugbreak() 110 | 111 | //---- Debug Tools: Enable slower asserts 112 | //#define IMGUI_DEBUG_PARANOID 113 | 114 | //---- Tip: You can add extra functions within the ImGui:: namespace, here or in your own headers files. 115 | /* 116 | namespace ImGui 117 | { 118 | void MyFunction(const char* name, const MyMatrix44& v); 119 | } 120 | */ 121 | -------------------------------------------------------------------------------- /XAnan CG Intern/imgui/imgui_impl_dx11.h: -------------------------------------------------------------------------------- 1 | // dear imgui: Renderer Backend for DirectX11 2 | // This needs to be used along with a Platform Backend (e.g. Win32) 3 | 4 | // Implemented features: 5 | // [X] Renderer: User texture binding. Use 'ID3D11ShaderResourceView*' as ImTextureID. Read the FAQ about ImTextureID! 6 | // [X] Renderer: Large meshes support (64k+ vertices) with 16-bit indices. 7 | 8 | // You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this. 9 | // Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need. 10 | // If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp. 11 | // Read online: https://github.com/ocornut/imgui/tree/master/docs 12 | 13 | #pragma once 14 | #include "imgui.h" // IMGUI_IMPL_API 15 | 16 | struct ID3D11Device; 17 | struct ID3D11DeviceContext; 18 | 19 | IMGUI_IMPL_API bool ImGui_ImplDX11_Init(ID3D11Device* device, ID3D11DeviceContext* device_context); 20 | IMGUI_IMPL_API void ImGui_ImplDX11_Shutdown(); 21 | IMGUI_IMPL_API void ImGui_ImplDX11_NewFrame(); 22 | IMGUI_IMPL_API void ImGui_ImplDX11_RenderDrawData(ImDrawData* draw_data); 23 | 24 | // Use if you want to reset your rendering device without losing Dear ImGui state. 25 | IMGUI_IMPL_API void ImGui_ImplDX11_InvalidateDeviceObjects(); 26 | IMGUI_IMPL_API bool ImGui_ImplDX11_CreateDeviceObjects(); 27 | -------------------------------------------------------------------------------- /XAnan CG Intern/imgui/imgui_impl_win32.h: -------------------------------------------------------------------------------- 1 | // dear imgui: Platform Backend for Windows (standard windows API for 32-bits AND 64-bits applications) 2 | // This needs to be used along with a Renderer (e.g. DirectX11, OpenGL3, Vulkan..) 3 | 4 | // Implemented features: 5 | // [X] Platform: Clipboard support (for Win32 this is actually part of core dear imgui) 6 | // [X] Platform: Mouse support. Can discriminate Mouse/TouchScreen/Pen. 7 | // [X] Platform: Keyboard support. Since 1.87 we are using the io.AddKeyEvent() function. Pass ImGuiKey values to all key functions e.g. ImGui::IsKeyPressed(ImGuiKey_Space). [Legacy VK_* values will also be supported unless IMGUI_DISABLE_OBSOLETE_KEYIO is set] 8 | // [X] Platform: Gamepad support. Enabled with 'io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad'. 9 | // [X] Platform: Mouse cursor shape and visibility. Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'. 10 | 11 | // You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this. 12 | // Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need. 13 | // If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp. 14 | // Read online: https://github.com/ocornut/imgui/tree/master/docs 15 | 16 | #pragma once 17 | #include "imgui.h" // IMGUI_IMPL_API 18 | 19 | IMGUI_IMPL_API bool ImGui_ImplWin32_Init(void* hwnd); 20 | IMGUI_IMPL_API bool ImGui_ImplWin32_InitForOpenGL(void* hwnd); 21 | IMGUI_IMPL_API void ImGui_ImplWin32_Shutdown(); 22 | IMGUI_IMPL_API void ImGui_ImplWin32_NewFrame(); 23 | 24 | // Win32 message handler your application need to call. 25 | // - Intentionally commented out in a '#if 0' block to avoid dragging dependencies on from this helper. 26 | // - You should COPY the line below into your .cpp code to forward declare the function and then you can call it. 27 | // - Call from your application's message handler. Keep calling your message handler unless this function returns TRUE. 28 | 29 | #if 0 30 | extern IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); 31 | #endif 32 | 33 | // DPI-related helpers (optional) 34 | // - Use to enable DPI awareness without having to create an application manifest. 35 | // - Your own app may already do this via a manifest or explicit calls. This is mostly useful for our examples/ apps. 36 | // - In theory we could call simple functions from Windows SDK such as SetProcessDPIAware(), SetProcessDpiAwareness(), etc. 37 | // but most of the functions provided by Microsoft require Windows 8.1/10+ SDK at compile time and Windows 8/10+ at runtime, 38 | // neither we want to require the user to have. So we dynamically select and load those functions to avoid dependencies. 39 | IMGUI_IMPL_API void ImGui_ImplWin32_EnableDpiAwareness(); 40 | IMGUI_IMPL_API float ImGui_ImplWin32_GetDpiScaleForHwnd(void* hwnd); // HWND hwnd 41 | IMGUI_IMPL_API float ImGui_ImplWin32_GetDpiScaleForMonitor(void* monitor); // HMONITOR monitor 42 | 43 | // Transparency related helpers (optional) [experimental] 44 | // - Use to enable alpha compositing transparency with the desktop. 45 | // - Use together with e.g. clearing your framebuffer with zero-alpha. 46 | IMGUI_IMPL_API void ImGui_ImplWin32_EnableAlphaCompositing(void* hwnd); // HWND hwnd 47 | -------------------------------------------------------------------------------- /XAnan CG Intern/imgui/imgui_settings.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "imgui.h" 3 | 4 | static inline ImVec4 main_color(0.7f, 0.f, 0.f, 1.f); 5 | static inline ImVec4 color_particle(0.7f, 0.f, 0.f, 1.f); 6 | 7 | static inline ImColor background_color(24, 24, 24, 255); 8 | 9 | static inline ImVec4 second_color(0.09f, 0.09f, 0.09f, 1.f); 10 | 11 | 12 | static inline ImVec2 frame_size = ImVec2(605, 65); 13 | 14 | static inline float anim_speed = 8.f; 15 | 16 | static inline bool draw_grind; 17 | 18 | static inline float pos_offset; 19 | static inline bool size_change; 20 | 21 | static inline ImFont* icon_font; 22 | static inline ImFont* tab_font; 23 | static inline ImFont* hint_font; 24 | static inline ImFont* second_font; 25 | -------------------------------------------------------------------------------- /XAnan CG Intern/include.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include "kiero/kiero.h" 6 | #include "imgui/imgui.h" 7 | #include "imgui/imgui_impl_win32.h" 8 | #include "imgui/imgui_impl_dx11.h" 9 | 10 | typedef HRESULT(__stdcall* Present) (IDXGISwapChain* pSwapChain, UINT SyncInterval, UINT Flags); 11 | typedef LRESULT(CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM); 12 | typedef uintptr_t PTR; -------------------------------------------------------------------------------- /XAnan CG Intern/kiero/kiero.h: -------------------------------------------------------------------------------- 1 | #ifndef __KIERO_H__ 2 | #define __KIERO_H__ 3 | 4 | #include 5 | 6 | #define KIERO_VERSION "1.2.6" 7 | 8 | #define KIERO_INCLUDE_D3D9 0 // 1 if you need D3D9 hook 9 | #define KIERO_INCLUDE_D3D10 0 // 1 if you need D3D10 hook 10 | #define KIERO_INCLUDE_D3D11 1 // 1 if you need D3D11 hook 11 | #define KIERO_INCLUDE_D3D12 0 // 1 if you need D3D12 hook 12 | #define KIERO_INCLUDE_OPENGL 0 // 1 if you need OpenGL hook 13 | #define KIERO_INCLUDE_VULKAN 0 // 1 if you need Vulkan hook 14 | #define KIERO_USE_MINHOOK 1 // 1 if you will use kiero::bind function 15 | 16 | #define KIERO_ARCH_X64 0 17 | #define KIERO_ARCH_X86 0 18 | 19 | #if defined(_M_X64) 20 | # undef KIERO_ARCH_X64 21 | # define KIERO_ARCH_X64 1 22 | #else 23 | # undef KIERO_ARCH_X86 24 | # define KIERO_ARCH_X86 1 25 | #endif 26 | 27 | #if KIERO_ARCH_X64 28 | typedef uint64_t uint150_t; 29 | #else 30 | typedef uint32_t uint150_t; 31 | #endif 32 | 33 | namespace kiero 34 | { 35 | struct Status 36 | { 37 | enum Enum 38 | { 39 | UnknownError = -1, 40 | NotSupportedError = -2, 41 | ModuleNotFoundError = -3, 42 | 43 | AlreadyInitializedError = -4, 44 | NotInitializedError = -5, 45 | 46 | Success = 0, 47 | }; 48 | }; 49 | 50 | struct RenderType 51 | { 52 | enum Enum 53 | { 54 | None, 55 | 56 | D3D9, 57 | D3D10, 58 | D3D11, 59 | D3D12, 60 | 61 | OpenGL, 62 | Vulkan, 63 | 64 | Auto 65 | }; 66 | }; 67 | 68 | Status::Enum init(RenderType::Enum renderType); 69 | void shutdown(); 70 | 71 | Status::Enum bind(uint16_t index, void** original, void* function); 72 | void unbind(uint16_t index); 73 | 74 | RenderType::Enum getRenderType(); 75 | uint150_t* getMethodsTable(); 76 | } 77 | 78 | #endif // __KIERO_H__ -------------------------------------------------------------------------------- /XAnan CG Intern/kiero/minhook/dll_resources/MinHook.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | MH_Initialize 3 | MH_Uninitialize 4 | 5 | MH_CreateHook 6 | MH_CreateHookApi 7 | MH_CreateHookApiEx 8 | MH_RemoveHook 9 | MH_EnableHook 10 | MH_DisableHook 11 | MH_QueueEnableHook 12 | MH_QueueDisableHook 13 | MH_ApplyQueued 14 | MH_StatusToString 15 | -------------------------------------------------------------------------------- /XAnan CG Intern/kiero/minhook/dll_resources/MinHook.rc: -------------------------------------------------------------------------------- 1 | 1 VERSIONINFO 2 | FILEVERSION 1,3,3,0 3 | PRODUCTVERSION 1,3,3,0 4 | FILEFLAGSMASK 0x17L 5 | #ifdef _DEBUG 6 | FILEFLAGS 0x1L 7 | #else 8 | FILEFLAGS 0x0L 9 | #endif 10 | FILEOS 0x4L 11 | FILETYPE 0x2L 12 | FILESUBTYPE 0x0L 13 | BEGIN 14 | BLOCK "StringFileInfo" 15 | BEGIN 16 | BLOCK "040904b0" 17 | BEGIN 18 | VALUE "CompanyName", "Tsuda Kageyu" 19 | VALUE "FileDescription", "MinHook - The Minimalistic API Hook Library for x64/x86" 20 | VALUE "FileVersion", "1.3.3.0" 21 | VALUE "InternalName", "MinHookD" 22 | VALUE "LegalCopyright", "Copyright (C) 2009-2017 Tsuda Kageyu. All rights reserved." 23 | VALUE "LegalTrademarks", "Tsuda Kageyu" 24 | VALUE "ProductName", "MinHook DLL" 25 | VALUE "ProductVersion", "1.3.3.0" 26 | END 27 | END 28 | BLOCK "VarFileInfo" 29 | BEGIN 30 | VALUE "Translation", 0x409, 1200 31 | END 32 | END 33 | -------------------------------------------------------------------------------- /XAnan CG Intern/kiero/minhook/include/MinHook.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MinHook - The Minimalistic API Hooking Library for x64/x86 3 | * Copyright (C) 2009-2017 Tsuda Kageyu. 4 | * All rights reserved. 5 | * 6 | * Redistribution and use in source and binary forms, with or without 7 | * modification, are permitted provided that the following conditions 8 | * are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright 11 | * notice, this list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright 13 | * notice, this list of conditions and the following disclaimer in the 14 | * documentation and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 18 | * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 19 | * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER 20 | * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 24 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 25 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #pragma once 30 | 31 | #if !(defined _M_IX86) && !(defined _M_X64) && !(defined __i386__) && !(defined __x86_64__) 32 | #error MinHook supports only x86 and x64 systems. 33 | #endif 34 | 35 | #include 36 | 37 | // MinHook Error Codes. 38 | typedef enum MH_STATUS 39 | { 40 | // Unknown error. Should not be returned. 41 | MH_UNKNOWN = -1, 42 | 43 | // Successful. 44 | MH_OK = 0, 45 | 46 | // MinHook is already initialized. 47 | MH_ERROR_ALREADY_INITIALIZED, 48 | 49 | // MinHook is not initialized yet, or already uninitialized. 50 | MH_ERROR_NOT_INITIALIZED, 51 | 52 | // The hook for the specified target function is already created. 53 | MH_ERROR_ALREADY_CREATED, 54 | 55 | // The hook for the specified target function is not created yet. 56 | MH_ERROR_NOT_CREATED, 57 | 58 | // The hook for the specified target function is already enabled. 59 | MH_ERROR_ENABLED, 60 | 61 | // The hook for the specified target function is not enabled yet, or already 62 | // disabled. 63 | MH_ERROR_DISABLED, 64 | 65 | // The specified pointer is invalid. It points the address of non-allocated 66 | // and/or non-executable region. 67 | MH_ERROR_NOT_EXECUTABLE, 68 | 69 | // The specified target function cannot be hooked. 70 | MH_ERROR_UNSUPPORTED_FUNCTION, 71 | 72 | // Failed to allocate memory. 73 | MH_ERROR_MEMORY_ALLOC, 74 | 75 | // Failed to change the memory protection. 76 | MH_ERROR_MEMORY_PROTECT, 77 | 78 | // The specified module is not loaded. 79 | MH_ERROR_MODULE_NOT_FOUND, 80 | 81 | // The specified function is not found. 82 | MH_ERROR_FUNCTION_NOT_FOUND 83 | } 84 | MH_STATUS; 85 | 86 | // Can be passed as a parameter to MH_EnableHook, MH_DisableHook, 87 | // MH_QueueEnableHook or MH_QueueDisableHook. 88 | #define MH_ALL_HOOKS NULL 89 | 90 | #ifdef __cplusplus 91 | extern "C" { 92 | #endif 93 | 94 | // Initialize the MinHook library. You must call this function EXACTLY ONCE 95 | // at the beginning of your program. 96 | MH_STATUS WINAPI MH_Initialize(VOID); 97 | 98 | // Uninitialize the MinHook library. You must call this function EXACTLY 99 | // ONCE at the end of your program. 100 | MH_STATUS WINAPI MH_Uninitialize(VOID); 101 | 102 | // Creates a Hook for the specified target function, in disabled state. 103 | // Parameters: 104 | // pTarget [in] A pointer to the target function, which will be 105 | // overridden by the detour function. 106 | // pDetour [in] A pointer to the detour function, which will override 107 | // the target function. 108 | // ppOriginal [out] A pointer to the trampoline function, which will be 109 | // used to call the original target function. 110 | // This parameter can be NULL. 111 | MH_STATUS WINAPI MH_CreateHook(LPVOID pTarget, LPVOID pDetour, LPVOID *ppOriginal); 112 | 113 | // Creates a Hook for the specified API function, in disabled state. 114 | // Parameters: 115 | // pszModule [in] A pointer to the loaded module name which contains the 116 | // target function. 117 | // pszTarget [in] A pointer to the target function name, which will be 118 | // overridden by the detour function. 119 | // pDetour [in] A pointer to the detour function, which will override 120 | // the target function. 121 | // ppOriginal [out] A pointer to the trampoline function, which will be 122 | // used to call the original target function. 123 | // This parameter can be NULL. 124 | MH_STATUS WINAPI MH_CreateHookApi( 125 | LPCWSTR pszModule, LPCSTR pszProcName, LPVOID pDetour, LPVOID *ppOriginal); 126 | 127 | // Creates a Hook for the specified API function, in disabled state. 128 | // Parameters: 129 | // pszModule [in] A pointer to the loaded module name which contains the 130 | // target function. 131 | // pszTarget [in] A pointer to the target function name, which will be 132 | // overridden by the detour function. 133 | // pDetour [in] A pointer to the detour function, which will override 134 | // the target function. 135 | // ppOriginal [out] A pointer to the trampoline function, which will be 136 | // used to call the original target function. 137 | // This parameter can be NULL. 138 | // ppTarget [out] A pointer to the target function, which will be used 139 | // with other functions. 140 | // This parameter can be NULL. 141 | MH_STATUS WINAPI MH_CreateHookApiEx( 142 | LPCWSTR pszModule, LPCSTR pszProcName, LPVOID pDetour, LPVOID *ppOriginal, LPVOID *ppTarget); 143 | 144 | // Removes an already created hook. 145 | // Parameters: 146 | // pTarget [in] A pointer to the target function. 147 | MH_STATUS WINAPI MH_RemoveHook(LPVOID pTarget); 148 | 149 | // Enables an already created hook. 150 | // Parameters: 151 | // pTarget [in] A pointer to the target function. 152 | // If this parameter is MH_ALL_HOOKS, all created hooks are 153 | // enabled in one go. 154 | MH_STATUS WINAPI MH_EnableHook(LPVOID pTarget); 155 | 156 | // Disables an already created hook. 157 | // Parameters: 158 | // pTarget [in] A pointer to the target function. 159 | // If this parameter is MH_ALL_HOOKS, all created hooks are 160 | // disabled in one go. 161 | MH_STATUS WINAPI MH_DisableHook(LPVOID pTarget); 162 | 163 | // Queues to enable an already created hook. 164 | // Parameters: 165 | // pTarget [in] A pointer to the target function. 166 | // If this parameter is MH_ALL_HOOKS, all created hooks are 167 | // queued to be enabled. 168 | MH_STATUS WINAPI MH_QueueEnableHook(LPVOID pTarget); 169 | 170 | // Queues to disable an already created hook. 171 | // Parameters: 172 | // pTarget [in] A pointer to the target function. 173 | // If this parameter is MH_ALL_HOOKS, all created hooks are 174 | // queued to be disabled. 175 | MH_STATUS WINAPI MH_QueueDisableHook(LPVOID pTarget); 176 | 177 | // Applies all queued changes in one go. 178 | MH_STATUS WINAPI MH_ApplyQueued(VOID); 179 | 180 | // Translates the MH_STATUS to its name as a string. 181 | const char * WINAPI MH_StatusToString(MH_STATUS status); 182 | 183 | #ifdef __cplusplus 184 | } 185 | #endif 186 | 187 | -------------------------------------------------------------------------------- /XAnan CG Intern/kiero/minhook/src/buffer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MinHook - The Minimalistic API Hooking Library for x64/x86 3 | * Copyright (C) 2009-2017 Tsuda Kageyu. 4 | * All rights reserved. 5 | * 6 | * Redistribution and use in source and binary forms, with or without 7 | * modification, are permitted provided that the following conditions 8 | * are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright 11 | * notice, this list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright 13 | * notice, this list of conditions and the following disclaimer in the 14 | * documentation and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 18 | * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 19 | * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER 20 | * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 24 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 25 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #pragma once 30 | 31 | // Size of each memory slot. 32 | #if defined(_M_X64) || defined(__x86_64__) 33 | #define MEMORY_SLOT_SIZE 64 34 | #else 35 | #define MEMORY_SLOT_SIZE 32 36 | #endif 37 | 38 | VOID InitializeBuffer(VOID); 39 | VOID UninitializeBuffer(VOID); 40 | LPVOID AllocateBuffer(LPVOID pOrigin); 41 | VOID FreeBuffer(LPVOID pBuffer); 42 | BOOL IsExecutableAddress(LPVOID pAddress); 43 | -------------------------------------------------------------------------------- /XAnan CG Intern/kiero/minhook/src/hde/hde32.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Hacker Disassembler Engine 32 C 3 | * Copyright (c) 2008-2009, Vyacheslav Patkov. 4 | * All rights reserved. 5 | * 6 | */ 7 | 8 | #if defined(_M_IX86) || defined(__i386__) 9 | 10 | #include "hde32.h" 11 | #include "table32.h" 12 | 13 | unsigned int hde32_disasm(const void *code, hde32s *hs) 14 | { 15 | uint8_t x, c, *p = (uint8_t *)code, cflags, opcode, pref = 0; 16 | uint8_t *ht = hde32_table, m_mod, m_reg, m_rm, disp_size = 0; 17 | 18 | // Avoid using memset to reduce the footprint. 19 | #ifndef _MSC_VER 20 | memset((LPBYTE)hs, 0, sizeof(hde32s)); 21 | #else 22 | __stosb((LPBYTE)hs, 0, sizeof(hde32s)); 23 | #endif 24 | 25 | for (x = 16; x; x--) 26 | switch (c = *p++) { 27 | case 0xf3: 28 | hs->p_rep = c; 29 | pref |= PRE_F3; 30 | break; 31 | case 0xf2: 32 | hs->p_rep = c; 33 | pref |= PRE_F2; 34 | break; 35 | case 0xf0: 36 | hs->p_lock = c; 37 | pref |= PRE_LOCK; 38 | break; 39 | case 0x26: case 0x2e: case 0x36: 40 | case 0x3e: case 0x64: case 0x65: 41 | hs->p_seg = c; 42 | pref |= PRE_SEG; 43 | break; 44 | case 0x66: 45 | hs->p_66 = c; 46 | pref |= PRE_66; 47 | break; 48 | case 0x67: 49 | hs->p_67 = c; 50 | pref |= PRE_67; 51 | break; 52 | default: 53 | goto pref_done; 54 | } 55 | pref_done: 56 | 57 | hs->flags = (uint32_t)pref << 23; 58 | 59 | if (!pref) 60 | pref |= PRE_NONE; 61 | 62 | if ((hs->opcode = c) == 0x0f) { 63 | hs->opcode2 = c = *p++; 64 | ht += DELTA_OPCODES; 65 | } else if (c >= 0xa0 && c <= 0xa3) { 66 | if (pref & PRE_67) 67 | pref |= PRE_66; 68 | else 69 | pref &= ~PRE_66; 70 | } 71 | 72 | opcode = c; 73 | cflags = ht[ht[opcode / 4] + (opcode % 4)]; 74 | 75 | if (cflags == C_ERROR) { 76 | hs->flags |= F_ERROR | F_ERROR_OPCODE; 77 | cflags = 0; 78 | if ((opcode & -3) == 0x24) 79 | cflags++; 80 | } 81 | 82 | x = 0; 83 | if (cflags & C_GROUP) { 84 | uint16_t t; 85 | t = *(uint16_t *)(ht + (cflags & 0x7f)); 86 | cflags = (uint8_t)t; 87 | x = (uint8_t)(t >> 8); 88 | } 89 | 90 | if (hs->opcode2) { 91 | ht = hde32_table + DELTA_PREFIXES; 92 | if (ht[ht[opcode / 4] + (opcode % 4)] & pref) 93 | hs->flags |= F_ERROR | F_ERROR_OPCODE; 94 | } 95 | 96 | if (cflags & C_MODRM) { 97 | hs->flags |= F_MODRM; 98 | hs->modrm = c = *p++; 99 | hs->modrm_mod = m_mod = c >> 6; 100 | hs->modrm_rm = m_rm = c & 7; 101 | hs->modrm_reg = m_reg = (c & 0x3f) >> 3; 102 | 103 | if (x && ((x << m_reg) & 0x80)) 104 | hs->flags |= F_ERROR | F_ERROR_OPCODE; 105 | 106 | if (!hs->opcode2 && opcode >= 0xd9 && opcode <= 0xdf) { 107 | uint8_t t = opcode - 0xd9; 108 | if (m_mod == 3) { 109 | ht = hde32_table + DELTA_FPU_MODRM + t*8; 110 | t = ht[m_reg] << m_rm; 111 | } else { 112 | ht = hde32_table + DELTA_FPU_REG; 113 | t = ht[t] << m_reg; 114 | } 115 | if (t & 0x80) 116 | hs->flags |= F_ERROR | F_ERROR_OPCODE; 117 | } 118 | 119 | if (pref & PRE_LOCK) { 120 | if (m_mod == 3) { 121 | hs->flags |= F_ERROR | F_ERROR_LOCK; 122 | } else { 123 | uint8_t *table_end, op = opcode; 124 | if (hs->opcode2) { 125 | ht = hde32_table + DELTA_OP2_LOCK_OK; 126 | table_end = ht + DELTA_OP_ONLY_MEM - DELTA_OP2_LOCK_OK; 127 | } else { 128 | ht = hde32_table + DELTA_OP_LOCK_OK; 129 | table_end = ht + DELTA_OP2_LOCK_OK - DELTA_OP_LOCK_OK; 130 | op &= -2; 131 | } 132 | for (; ht != table_end; ht++) 133 | if (*ht++ == op) { 134 | if (!((*ht << m_reg) & 0x80)) 135 | goto no_lock_error; 136 | else 137 | break; 138 | } 139 | hs->flags |= F_ERROR | F_ERROR_LOCK; 140 | no_lock_error: 141 | ; 142 | } 143 | } 144 | 145 | if (hs->opcode2) { 146 | switch (opcode) { 147 | case 0x20: case 0x22: 148 | m_mod = 3; 149 | if (m_reg > 4 || m_reg == 1) 150 | goto error_operand; 151 | else 152 | goto no_error_operand; 153 | case 0x21: case 0x23: 154 | m_mod = 3; 155 | if (m_reg == 4 || m_reg == 5) 156 | goto error_operand; 157 | else 158 | goto no_error_operand; 159 | } 160 | } else { 161 | switch (opcode) { 162 | case 0x8c: 163 | if (m_reg > 5) 164 | goto error_operand; 165 | else 166 | goto no_error_operand; 167 | case 0x8e: 168 | if (m_reg == 1 || m_reg > 5) 169 | goto error_operand; 170 | else 171 | goto no_error_operand; 172 | } 173 | } 174 | 175 | if (m_mod == 3) { 176 | uint8_t *table_end; 177 | if (hs->opcode2) { 178 | ht = hde32_table + DELTA_OP2_ONLY_MEM; 179 | table_end = ht + sizeof(hde32_table) - DELTA_OP2_ONLY_MEM; 180 | } else { 181 | ht = hde32_table + DELTA_OP_ONLY_MEM; 182 | table_end = ht + DELTA_OP2_ONLY_MEM - DELTA_OP_ONLY_MEM; 183 | } 184 | for (; ht != table_end; ht += 2) 185 | if (*ht++ == opcode) { 186 | if (*ht++ & pref && !((*ht << m_reg) & 0x80)) 187 | goto error_operand; 188 | else 189 | break; 190 | } 191 | goto no_error_operand; 192 | } else if (hs->opcode2) { 193 | switch (opcode) { 194 | case 0x50: case 0xd7: case 0xf7: 195 | if (pref & (PRE_NONE | PRE_66)) 196 | goto error_operand; 197 | break; 198 | case 0xd6: 199 | if (pref & (PRE_F2 | PRE_F3)) 200 | goto error_operand; 201 | break; 202 | case 0xc5: 203 | goto error_operand; 204 | } 205 | goto no_error_operand; 206 | } else 207 | goto no_error_operand; 208 | 209 | error_operand: 210 | hs->flags |= F_ERROR | F_ERROR_OPERAND; 211 | no_error_operand: 212 | 213 | c = *p++; 214 | if (m_reg <= 1) { 215 | if (opcode == 0xf6) 216 | cflags |= C_IMM8; 217 | else if (opcode == 0xf7) 218 | cflags |= C_IMM_P66; 219 | } 220 | 221 | switch (m_mod) { 222 | case 0: 223 | if (pref & PRE_67) { 224 | if (m_rm == 6) 225 | disp_size = 2; 226 | } else 227 | if (m_rm == 5) 228 | disp_size = 4; 229 | break; 230 | case 1: 231 | disp_size = 1; 232 | break; 233 | case 2: 234 | disp_size = 2; 235 | if (!(pref & PRE_67)) 236 | disp_size <<= 1; 237 | } 238 | 239 | if (m_mod != 3 && m_rm == 4 && !(pref & PRE_67)) { 240 | hs->flags |= F_SIB; 241 | p++; 242 | hs->sib = c; 243 | hs->sib_scale = c >> 6; 244 | hs->sib_index = (c & 0x3f) >> 3; 245 | if ((hs->sib_base = c & 7) == 5 && !(m_mod & 1)) 246 | disp_size = 4; 247 | } 248 | 249 | p--; 250 | switch (disp_size) { 251 | case 1: 252 | hs->flags |= F_DISP8; 253 | hs->disp.disp8 = *p; 254 | break; 255 | case 2: 256 | hs->flags |= F_DISP16; 257 | hs->disp.disp16 = *(uint16_t *)p; 258 | break; 259 | case 4: 260 | hs->flags |= F_DISP32; 261 | hs->disp.disp32 = *(uint32_t *)p; 262 | } 263 | p += disp_size; 264 | } else if (pref & PRE_LOCK) 265 | hs->flags |= F_ERROR | F_ERROR_LOCK; 266 | 267 | if (cflags & C_IMM_P66) { 268 | if (cflags & C_REL32) { 269 | if (pref & PRE_66) { 270 | hs->flags |= F_IMM16 | F_RELATIVE; 271 | hs->imm.imm16 = *(uint16_t *)p; 272 | p += 2; 273 | goto disasm_done; 274 | } 275 | goto rel32_ok; 276 | } 277 | if (pref & PRE_66) { 278 | hs->flags |= F_IMM16; 279 | hs->imm.imm16 = *(uint16_t *)p; 280 | p += 2; 281 | } else { 282 | hs->flags |= F_IMM32; 283 | hs->imm.imm32 = *(uint32_t *)p; 284 | p += 4; 285 | } 286 | } 287 | 288 | if (cflags & C_IMM16) { 289 | if (hs->flags & F_IMM32) { 290 | hs->flags |= F_IMM16; 291 | hs->disp.disp16 = *(uint16_t *)p; 292 | } else if (hs->flags & F_IMM16) { 293 | hs->flags |= F_2IMM16; 294 | hs->disp.disp16 = *(uint16_t *)p; 295 | } else { 296 | hs->flags |= F_IMM16; 297 | hs->imm.imm16 = *(uint16_t *)p; 298 | } 299 | p += 2; 300 | } 301 | if (cflags & C_IMM8) { 302 | hs->flags |= F_IMM8; 303 | hs->imm.imm8 = *p++; 304 | } 305 | 306 | if (cflags & C_REL32) { 307 | rel32_ok: 308 | hs->flags |= F_IMM32 | F_RELATIVE; 309 | hs->imm.imm32 = *(uint32_t *)p; 310 | p += 4; 311 | } else if (cflags & C_REL8) { 312 | hs->flags |= F_IMM8 | F_RELATIVE; 313 | hs->imm.imm8 = *p++; 314 | } 315 | 316 | disasm_done: 317 | 318 | if ((hs->len = (uint8_t)(p-(uint8_t *)code)) > 15) { 319 | hs->flags |= F_ERROR | F_ERROR_LENGTH; 320 | hs->len = 15; 321 | } 322 | 323 | return (unsigned int)hs->len; 324 | } 325 | 326 | #endif // defined(_M_IX86) || defined(__i386__) 327 | -------------------------------------------------------------------------------- /XAnan CG Intern/kiero/minhook/src/hde/hde32.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Hacker Disassembler Engine 32 3 | * Copyright (c) 2006-2009, Vyacheslav Patkov. 4 | * All rights reserved. 5 | * 6 | * hde32.h: C/C++ header file 7 | * 8 | */ 9 | 10 | #ifndef _HDE32_H_ 11 | #define _HDE32_H_ 12 | 13 | /* stdint.h - C99 standard header 14 | * http://en.wikipedia.org/wiki/stdint.h 15 | * 16 | * if your compiler doesn't contain "stdint.h" header (for 17 | * example, Microsoft Visual C++), you can download file: 18 | * http://www.azillionmonkeys.com/qed/pstdint.h 19 | * and change next line to: 20 | * #include "pstdint.h" 21 | */ 22 | #include "pstdint.h" 23 | 24 | #define F_MODRM 0x00000001 25 | #define F_SIB 0x00000002 26 | #define F_IMM8 0x00000004 27 | #define F_IMM16 0x00000008 28 | #define F_IMM32 0x00000010 29 | #define F_DISP8 0x00000020 30 | #define F_DISP16 0x00000040 31 | #define F_DISP32 0x00000080 32 | #define F_RELATIVE 0x00000100 33 | #define F_2IMM16 0x00000800 34 | #define F_ERROR 0x00001000 35 | #define F_ERROR_OPCODE 0x00002000 36 | #define F_ERROR_LENGTH 0x00004000 37 | #define F_ERROR_LOCK 0x00008000 38 | #define F_ERROR_OPERAND 0x00010000 39 | #define F_PREFIX_REPNZ 0x01000000 40 | #define F_PREFIX_REPX 0x02000000 41 | #define F_PREFIX_REP 0x03000000 42 | #define F_PREFIX_66 0x04000000 43 | #define F_PREFIX_67 0x08000000 44 | #define F_PREFIX_LOCK 0x10000000 45 | #define F_PREFIX_SEG 0x20000000 46 | #define F_PREFIX_ANY 0x3f000000 47 | 48 | #define PREFIX_SEGMENT_CS 0x2e 49 | #define PREFIX_SEGMENT_SS 0x36 50 | #define PREFIX_SEGMENT_DS 0x3e 51 | #define PREFIX_SEGMENT_ES 0x26 52 | #define PREFIX_SEGMENT_FS 0x64 53 | #define PREFIX_SEGMENT_GS 0x65 54 | #define PREFIX_LOCK 0xf0 55 | #define PREFIX_REPNZ 0xf2 56 | #define PREFIX_REPX 0xf3 57 | #define PREFIX_OPERAND_SIZE 0x66 58 | #define PREFIX_ADDRESS_SIZE 0x67 59 | 60 | #pragma pack(push,1) 61 | 62 | typedef struct { 63 | uint8_t len; 64 | uint8_t p_rep; 65 | uint8_t p_lock; 66 | uint8_t p_seg; 67 | uint8_t p_66; 68 | uint8_t p_67; 69 | uint8_t opcode; 70 | uint8_t opcode2; 71 | uint8_t modrm; 72 | uint8_t modrm_mod; 73 | uint8_t modrm_reg; 74 | uint8_t modrm_rm; 75 | uint8_t sib; 76 | uint8_t sib_scale; 77 | uint8_t sib_index; 78 | uint8_t sib_base; 79 | union { 80 | uint8_t imm8; 81 | uint16_t imm16; 82 | uint32_t imm32; 83 | } imm; 84 | union { 85 | uint8_t disp8; 86 | uint16_t disp16; 87 | uint32_t disp32; 88 | } disp; 89 | uint32_t flags; 90 | } hde32s; 91 | 92 | #pragma pack(pop) 93 | 94 | #ifdef __cplusplus 95 | extern "C" { 96 | #endif 97 | 98 | /* __cdecl */ 99 | unsigned int hde32_disasm(const void *code, hde32s *hs); 100 | 101 | #ifdef __cplusplus 102 | } 103 | #endif 104 | 105 | #endif /* _HDE32_H_ */ 106 | -------------------------------------------------------------------------------- /XAnan CG Intern/kiero/minhook/src/hde/hde64.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Hacker Disassembler Engine 64 3 | * Copyright (c) 2008-2009, Vyacheslav Patkov. 4 | * All rights reserved. 5 | * 6 | * hde64.h: C/C++ header file 7 | * 8 | */ 9 | 10 | #ifndef _HDE64_H_ 11 | #define _HDE64_H_ 12 | 13 | /* stdint.h - C99 standard header 14 | * http://en.wikipedia.org/wiki/stdint.h 15 | * 16 | * if your compiler doesn't contain "stdint.h" header (for 17 | * example, Microsoft Visual C++), you can download file: 18 | * http://www.azillionmonkeys.com/qed/pstdint.h 19 | * and change next line to: 20 | * #include "pstdint.h" 21 | */ 22 | #include "pstdint.h" 23 | 24 | #define F_MODRM 0x00000001 25 | #define F_SIB 0x00000002 26 | #define F_IMM8 0x00000004 27 | #define F_IMM16 0x00000008 28 | #define F_IMM32 0x00000010 29 | #define F_IMM64 0x00000020 30 | #define F_DISP8 0x00000040 31 | #define F_DISP16 0x00000080 32 | #define F_DISP32 0x00000100 33 | #define F_RELATIVE 0x00000200 34 | #define F_ERROR 0x00001000 35 | #define F_ERROR_OPCODE 0x00002000 36 | #define F_ERROR_LENGTH 0x00004000 37 | #define F_ERROR_LOCK 0x00008000 38 | #define F_ERROR_OPERAND 0x00010000 39 | #define F_PREFIX_REPNZ 0x01000000 40 | #define F_PREFIX_REPX 0x02000000 41 | #define F_PREFIX_REP 0x03000000 42 | #define F_PREFIX_66 0x04000000 43 | #define F_PREFIX_67 0x08000000 44 | #define F_PREFIX_LOCK 0x10000000 45 | #define F_PREFIX_SEG 0x20000000 46 | #define F_PREFIX_REX 0x40000000 47 | #define F_PREFIX_ANY 0x7f000000 48 | 49 | #define PREFIX_SEGMENT_CS 0x2e 50 | #define PREFIX_SEGMENT_SS 0x36 51 | #define PREFIX_SEGMENT_DS 0x3e 52 | #define PREFIX_SEGMENT_ES 0x26 53 | #define PREFIX_SEGMENT_FS 0x64 54 | #define PREFIX_SEGMENT_GS 0x65 55 | #define PREFIX_LOCK 0xf0 56 | #define PREFIX_REPNZ 0xf2 57 | #define PREFIX_REPX 0xf3 58 | #define PREFIX_OPERAND_SIZE 0x66 59 | #define PREFIX_ADDRESS_SIZE 0x67 60 | 61 | #pragma pack(push,1) 62 | 63 | typedef struct { 64 | uint8_t len; 65 | uint8_t p_rep; 66 | uint8_t p_lock; 67 | uint8_t p_seg; 68 | uint8_t p_66; 69 | uint8_t p_67; 70 | uint8_t rex; 71 | uint8_t rex_w; 72 | uint8_t rex_r; 73 | uint8_t rex_x; 74 | uint8_t rex_b; 75 | uint8_t opcode; 76 | uint8_t opcode2; 77 | uint8_t modrm; 78 | uint8_t modrm_mod; 79 | uint8_t modrm_reg; 80 | uint8_t modrm_rm; 81 | uint8_t sib; 82 | uint8_t sib_scale; 83 | uint8_t sib_index; 84 | uint8_t sib_base; 85 | union { 86 | uint8_t imm8; 87 | uint16_t imm16; 88 | uint32_t imm32; 89 | uint64_t imm64; 90 | } imm; 91 | union { 92 | uint8_t disp8; 93 | uint16_t disp16; 94 | uint32_t disp32; 95 | } disp; 96 | uint32_t flags; 97 | } hde64s; 98 | 99 | #pragma pack(pop) 100 | 101 | #ifdef __cplusplus 102 | extern "C" { 103 | #endif 104 | 105 | /* __cdecl */ 106 | unsigned int hde64_disasm(const void *code, hde64s *hs); 107 | 108 | #ifdef __cplusplus 109 | } 110 | #endif 111 | 112 | #endif /* _HDE64_H_ */ 113 | -------------------------------------------------------------------------------- /XAnan CG Intern/kiero/minhook/src/hde/pstdint.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MinHook - The Minimalistic API Hooking Library for x64/x86 3 | * Copyright (C) 2009-2017 Tsuda Kageyu. All rights reserved. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions 7 | * are met: 8 | * 9 | * 1. Redistributions of source code must retain the above copyright 10 | * notice, this list of conditions and the following disclaimer. 11 | * 2. Redistributions in binary form must reproduce the above copyright 12 | * notice, this list of conditions and the following disclaimer in the 13 | * documentation and/or other materials provided with the distribution. 14 | * 15 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR 16 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18 | * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | */ 26 | 27 | #pragma once 28 | 29 | #include 30 | 31 | // Integer types for HDE. 32 | typedef INT8 int8_t; 33 | typedef INT16 int16_t; 34 | typedef INT32 int32_t; 35 | typedef INT64 int64_t; 36 | typedef UINT8 uint8_t; 37 | typedef UINT16 uint16_t; 38 | typedef UINT32 uint32_t; 39 | typedef UINT64 uint64_t; 40 | -------------------------------------------------------------------------------- /XAnan CG Intern/kiero/minhook/src/hde/table32.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Hacker Disassembler Engine 32 C 3 | * Copyright (c) 2008-2009, Vyacheslav Patkov. 4 | * All rights reserved. 5 | * 6 | */ 7 | 8 | #define C_NONE 0x00 9 | #define C_MODRM 0x01 10 | #define C_IMM8 0x02 11 | #define C_IMM16 0x04 12 | #define C_IMM_P66 0x10 13 | #define C_REL8 0x20 14 | #define C_REL32 0x40 15 | #define C_GROUP 0x80 16 | #define C_ERROR 0xff 17 | 18 | #define PRE_ANY 0x00 19 | #define PRE_NONE 0x01 20 | #define PRE_F2 0x02 21 | #define PRE_F3 0x04 22 | #define PRE_66 0x08 23 | #define PRE_67 0x10 24 | #define PRE_LOCK 0x20 25 | #define PRE_SEG 0x40 26 | #define PRE_ALL 0xff 27 | 28 | #define DELTA_OPCODES 0x4a 29 | #define DELTA_FPU_REG 0xf1 30 | #define DELTA_FPU_MODRM 0xf8 31 | #define DELTA_PREFIXES 0x130 32 | #define DELTA_OP_LOCK_OK 0x1a1 33 | #define DELTA_OP2_LOCK_OK 0x1b9 34 | #define DELTA_OP_ONLY_MEM 0x1cb 35 | #define DELTA_OP2_ONLY_MEM 0x1da 36 | 37 | unsigned char hde32_table[] = { 38 | 0xa3,0xa8,0xa3,0xa8,0xa3,0xa8,0xa3,0xa8,0xa3,0xa8,0xa3,0xa8,0xa3,0xa8,0xa3, 39 | 0xa8,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xac,0xaa,0xb2,0xaa,0x9f,0x9f, 40 | 0x9f,0x9f,0xb5,0xa3,0xa3,0xa4,0xaa,0xaa,0xba,0xaa,0x96,0xaa,0xa8,0xaa,0xc3, 41 | 0xc3,0x96,0x96,0xb7,0xae,0xd6,0xbd,0xa3,0xc5,0xa3,0xa3,0x9f,0xc3,0x9c,0xaa, 42 | 0xaa,0xac,0xaa,0xbf,0x03,0x7f,0x11,0x7f,0x01,0x7f,0x01,0x3f,0x01,0x01,0x90, 43 | 0x82,0x7d,0x97,0x59,0x59,0x59,0x59,0x59,0x7f,0x59,0x59,0x60,0x7d,0x7f,0x7f, 44 | 0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x9a,0x88,0x7d, 45 | 0x59,0x50,0x50,0x50,0x50,0x59,0x59,0x59,0x59,0x61,0x94,0x61,0x9e,0x59,0x59, 46 | 0x85,0x59,0x92,0xa3,0x60,0x60,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x59, 47 | 0x59,0x59,0x9f,0x01,0x03,0x01,0x04,0x03,0xd5,0x03,0xcc,0x01,0xbc,0x03,0xf0, 48 | 0x10,0x10,0x10,0x10,0x50,0x50,0x50,0x50,0x14,0x20,0x20,0x20,0x20,0x01,0x01, 49 | 0x01,0x01,0xc4,0x02,0x10,0x00,0x00,0x00,0x00,0x01,0x01,0xc0,0xc2,0x10,0x11, 50 | 0x02,0x03,0x11,0x03,0x03,0x04,0x00,0x00,0x14,0x00,0x02,0x00,0x00,0xc6,0xc8, 51 | 0x02,0x02,0x02,0x02,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0xca, 52 | 0x01,0x01,0x01,0x00,0x06,0x00,0x04,0x00,0xc0,0xc2,0x01,0x01,0x03,0x01,0xff, 53 | 0xff,0x01,0x00,0x03,0xc4,0xc4,0xc6,0x03,0x01,0x01,0x01,0xff,0x03,0x03,0x03, 54 | 0xc8,0x40,0x00,0x0a,0x00,0x04,0x00,0x00,0x00,0x00,0x7f,0x00,0x33,0x01,0x00, 55 | 0x00,0x00,0x00,0x00,0x00,0xff,0xbf,0xff,0xff,0x00,0x00,0x00,0x00,0x07,0x00, 56 | 0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 57 | 0x00,0xff,0xff,0x00,0x00,0x00,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 58 | 0x7f,0x00,0x00,0xff,0x4a,0x4a,0x4a,0x4a,0x4b,0x52,0x4a,0x4a,0x4a,0x4a,0x4f, 59 | 0x4c,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x55,0x45,0x40,0x4a,0x4a,0x4a, 60 | 0x45,0x59,0x4d,0x46,0x4a,0x5d,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a,0x4a, 61 | 0x4a,0x4a,0x4a,0x4a,0x4a,0x61,0x63,0x67,0x4e,0x4a,0x4a,0x6b,0x6d,0x4a,0x4a, 62 | 0x45,0x6d,0x4a,0x4a,0x44,0x45,0x4a,0x4a,0x00,0x00,0x00,0x02,0x0d,0x06,0x06, 63 | 0x06,0x06,0x0e,0x00,0x00,0x00,0x00,0x06,0x06,0x06,0x00,0x06,0x06,0x02,0x06, 64 | 0x00,0x0a,0x0a,0x07,0x07,0x06,0x02,0x05,0x05,0x02,0x02,0x00,0x00,0x04,0x04, 65 | 0x04,0x04,0x00,0x00,0x00,0x0e,0x05,0x06,0x06,0x06,0x01,0x06,0x00,0x00,0x08, 66 | 0x00,0x10,0x00,0x18,0x00,0x20,0x00,0x28,0x00,0x30,0x00,0x80,0x01,0x82,0x01, 67 | 0x86,0x00,0xf6,0xcf,0xfe,0x3f,0xab,0x00,0xb0,0x00,0xb1,0x00,0xb3,0x00,0xba, 68 | 0xf8,0xbb,0x00,0xc0,0x00,0xc1,0x00,0xc7,0xbf,0x62,0xff,0x00,0x8d,0xff,0x00, 69 | 0xc4,0xff,0x00,0xc5,0xff,0x00,0xff,0xff,0xeb,0x01,0xff,0x0e,0x12,0x08,0x00, 70 | 0x13,0x09,0x00,0x16,0x08,0x00,0x17,0x09,0x00,0x2b,0x09,0x00,0xae,0xff,0x07, 71 | 0xb2,0xff,0x00,0xb4,0xff,0x00,0xb5,0xff,0x00,0xc3,0x01,0x00,0xc7,0xff,0xbf, 72 | 0xe7,0x08,0x00,0xf0,0x02,0x00 73 | }; 74 | -------------------------------------------------------------------------------- /XAnan CG Intern/kiero/minhook/src/hde/table64.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Hacker Disassembler Engine 64 C 3 | * Copyright (c) 2008-2009, Vyacheslav Patkov. 4 | * All rights reserved. 5 | * 6 | */ 7 | 8 | #define C_NONE 0x00 9 | #define C_MODRM 0x01 10 | #define C_IMM8 0x02 11 | #define C_IMM16 0x04 12 | #define C_IMM_P66 0x10 13 | #define C_REL8 0x20 14 | #define C_REL32 0x40 15 | #define C_GROUP 0x80 16 | #define C_ERROR 0xff 17 | 18 | #define PRE_ANY 0x00 19 | #define PRE_NONE 0x01 20 | #define PRE_F2 0x02 21 | #define PRE_F3 0x04 22 | #define PRE_66 0x08 23 | #define PRE_67 0x10 24 | #define PRE_LOCK 0x20 25 | #define PRE_SEG 0x40 26 | #define PRE_ALL 0xff 27 | 28 | #define DELTA_OPCODES 0x4a 29 | #define DELTA_FPU_REG 0xfd 30 | #define DELTA_FPU_MODRM 0x104 31 | #define DELTA_PREFIXES 0x13c 32 | #define DELTA_OP_LOCK_OK 0x1ae 33 | #define DELTA_OP2_LOCK_OK 0x1c6 34 | #define DELTA_OP_ONLY_MEM 0x1d8 35 | #define DELTA_OP2_ONLY_MEM 0x1e7 36 | 37 | unsigned char hde64_table[] = { 38 | 0xa5,0xaa,0xa5,0xb8,0xa5,0xaa,0xa5,0xaa,0xa5,0xb8,0xa5,0xb8,0xa5,0xb8,0xa5, 39 | 0xb8,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xac,0xc0,0xcc,0xc0,0xa1,0xa1, 40 | 0xa1,0xa1,0xb1,0xa5,0xa5,0xa6,0xc0,0xc0,0xd7,0xda,0xe0,0xc0,0xe4,0xc0,0xea, 41 | 0xea,0xe0,0xe0,0x98,0xc8,0xee,0xf1,0xa5,0xd3,0xa5,0xa5,0xa1,0xea,0x9e,0xc0, 42 | 0xc0,0xc2,0xc0,0xe6,0x03,0x7f,0x11,0x7f,0x01,0x7f,0x01,0x3f,0x01,0x01,0xab, 43 | 0x8b,0x90,0x64,0x5b,0x5b,0x5b,0x5b,0x5b,0x92,0x5b,0x5b,0x76,0x90,0x92,0x92, 44 | 0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x6a,0x73,0x90, 45 | 0x5b,0x52,0x52,0x52,0x52,0x5b,0x5b,0x5b,0x5b,0x77,0x7c,0x77,0x85,0x5b,0x5b, 46 | 0x70,0x5b,0x7a,0xaf,0x76,0x76,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b, 47 | 0x5b,0x5b,0x86,0x01,0x03,0x01,0x04,0x03,0xd5,0x03,0xd5,0x03,0xcc,0x01,0xbc, 48 | 0x03,0xf0,0x03,0x03,0x04,0x00,0x50,0x50,0x50,0x50,0xff,0x20,0x20,0x20,0x20, 49 | 0x01,0x01,0x01,0x01,0xc4,0x02,0x10,0xff,0xff,0xff,0x01,0x00,0x03,0x11,0xff, 50 | 0x03,0xc4,0xc6,0xc8,0x02,0x10,0x00,0xff,0xcc,0x01,0x01,0x01,0x00,0x00,0x00, 51 | 0x00,0x01,0x01,0x03,0x01,0xff,0xff,0xc0,0xc2,0x10,0x11,0x02,0x03,0x01,0x01, 52 | 0x01,0xff,0xff,0xff,0x00,0x00,0x00,0xff,0x00,0x00,0xff,0xff,0xff,0xff,0x10, 53 | 0x10,0x10,0x10,0x02,0x10,0x00,0x00,0xc6,0xc8,0x02,0x02,0x02,0x02,0x06,0x00, 54 | 0x04,0x00,0x02,0xff,0x00,0xc0,0xc2,0x01,0x01,0x03,0x03,0x03,0xca,0x40,0x00, 55 | 0x0a,0x00,0x04,0x00,0x00,0x00,0x00,0x7f,0x00,0x33,0x01,0x00,0x00,0x00,0x00, 56 | 0x00,0x00,0xff,0xbf,0xff,0xff,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0xff,0x00, 57 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff, 58 | 0x00,0x00,0x00,0xbf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x00,0x00, 59 | 0xff,0x40,0x40,0x40,0x40,0x41,0x49,0x40,0x40,0x40,0x40,0x4c,0x42,0x40,0x40, 60 | 0x40,0x40,0x40,0x40,0x40,0x40,0x4f,0x44,0x53,0x40,0x40,0x40,0x44,0x57,0x43, 61 | 0x5c,0x40,0x60,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40, 62 | 0x40,0x40,0x64,0x66,0x6e,0x6b,0x40,0x40,0x6a,0x46,0x40,0x40,0x44,0x46,0x40, 63 | 0x40,0x5b,0x44,0x40,0x40,0x00,0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x01,0x06, 64 | 0x06,0x02,0x06,0x06,0x00,0x06,0x00,0x0a,0x0a,0x00,0x00,0x00,0x02,0x07,0x07, 65 | 0x06,0x02,0x0d,0x06,0x06,0x06,0x0e,0x05,0x05,0x02,0x02,0x00,0x00,0x04,0x04, 66 | 0x04,0x04,0x05,0x06,0x06,0x06,0x00,0x00,0x00,0x0e,0x00,0x00,0x08,0x00,0x10, 67 | 0x00,0x18,0x00,0x20,0x00,0x28,0x00,0x30,0x00,0x80,0x01,0x82,0x01,0x86,0x00, 68 | 0xf6,0xcf,0xfe,0x3f,0xab,0x00,0xb0,0x00,0xb1,0x00,0xb3,0x00,0xba,0xf8,0xbb, 69 | 0x00,0xc0,0x00,0xc1,0x00,0xc7,0xbf,0x62,0xff,0x00,0x8d,0xff,0x00,0xc4,0xff, 70 | 0x00,0xc5,0xff,0x00,0xff,0xff,0xeb,0x01,0xff,0x0e,0x12,0x08,0x00,0x13,0x09, 71 | 0x00,0x16,0x08,0x00,0x17,0x09,0x00,0x2b,0x09,0x00,0xae,0xff,0x07,0xb2,0xff, 72 | 0x00,0xb4,0xff,0x00,0xb5,0xff,0x00,0xc3,0x01,0x00,0xc7,0xff,0xbf,0xe7,0x08, 73 | 0x00,0xf0,0x02,0x00 74 | }; 75 | -------------------------------------------------------------------------------- /XAnan CG Intern/kiero/minhook/src/trampoline.h: -------------------------------------------------------------------------------- 1 | /* 2 | * MinHook - The Minimalistic API Hooking Library for x64/x86 3 | * Copyright (C) 2009-2017 Tsuda Kageyu. 4 | * All rights reserved. 5 | * 6 | * Redistribution and use in source and binary forms, with or without 7 | * modification, are permitted provided that the following conditions 8 | * are met: 9 | * 10 | * 1. Redistributions of source code must retain the above copyright 11 | * notice, this list of conditions and the following disclaimer. 12 | * 2. Redistributions in binary form must reproduce the above copyright 13 | * notice, this list of conditions and the following disclaimer in the 14 | * documentation and/or other materials provided with the distribution. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 18 | * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 19 | * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER 20 | * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 24 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 25 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 26 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #pragma once 30 | 31 | #pragma pack(push, 1) 32 | 33 | // Structs for writing x86/x64 instructions. 34 | 35 | // 8-bit relative jump. 36 | typedef struct _JMP_REL_SHORT 37 | { 38 | UINT8 opcode; // EB xx: JMP +2+xx 39 | UINT8 operand; 40 | } JMP_REL_SHORT, *PJMP_REL_SHORT; 41 | 42 | // 32-bit direct relative jump/call. 43 | typedef struct _JMP_REL 44 | { 45 | UINT8 opcode; // E9/E8 xxxxxxxx: JMP/CALL +5+xxxxxxxx 46 | UINT32 operand; // Relative destination address 47 | } JMP_REL, *PJMP_REL, CALL_REL; 48 | 49 | // 64-bit indirect absolute jump. 50 | typedef struct _JMP_ABS 51 | { 52 | UINT8 opcode0; // FF25 00000000: JMP [+6] 53 | UINT8 opcode1; 54 | UINT32 dummy; 55 | UINT64 address; // Absolute destination address 56 | } JMP_ABS, *PJMP_ABS; 57 | 58 | // 64-bit indirect absolute call. 59 | typedef struct _CALL_ABS 60 | { 61 | UINT8 opcode0; // FF15 00000002: CALL [+6] 62 | UINT8 opcode1; 63 | UINT32 dummy0; 64 | UINT8 dummy1; // EB 08: JMP +10 65 | UINT8 dummy2; 66 | UINT64 address; // Absolute destination address 67 | } CALL_ABS; 68 | 69 | // 32-bit direct relative conditional jumps. 70 | typedef struct _JCC_REL 71 | { 72 | UINT8 opcode0; // 0F8* xxxxxxxx: J** +6+xxxxxxxx 73 | UINT8 opcode1; 74 | UINT32 operand; // Relative destination address 75 | } JCC_REL; 76 | 77 | // 64bit indirect absolute conditional jumps that x64 lacks. 78 | typedef struct _JCC_ABS 79 | { 80 | UINT8 opcode; // 7* 0E: J** +16 81 | UINT8 dummy0; 82 | UINT8 dummy1; // FF25 00000000: JMP [+6] 83 | UINT8 dummy2; 84 | UINT32 dummy3; 85 | UINT64 address; // Absolute destination address 86 | } JCC_ABS; 87 | 88 | #pragma pack(pop) 89 | 90 | typedef struct _TRAMPOLINE 91 | { 92 | LPVOID pTarget; // [In] Address of the target function. 93 | LPVOID pDetour; // [In] Address of the detour function. 94 | LPVOID pTrampoline; // [In] Buffer address for the trampoline and relay function. 95 | 96 | #if defined(_M_X64) || defined(__x86_64__) 97 | LPVOID pRelay; // [Out] Address of the relay function. 98 | #endif 99 | BOOL patchAbove; // [Out] Should use the hot patch area? 100 | UINT nIP; // [Out] Number of the instruction boundaries. 101 | UINT8 oldIPs[8]; // [Out] Instruction boundaries of the target function. 102 | UINT8 newIPs[8]; // [Out] Instruction boundaries of the trampoline function. 103 | } TRAMPOLINE, *PTRAMPOLINE; 104 | 105 | BOOL CreateTrampolineFunction(PTRAMPOLINE ct); 106 | -------------------------------------------------------------------------------- /XAnan CG Intern/menu.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include"GameState.h" 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include "imgui/imgui.h" 8 | #include "imgui/imgui_impl_win32.h" 9 | #include "imgui/imgui_impl_dx11.h" 10 | #include "imgui/imgui_internal.h" 11 | #include "imgui/color.h" 12 | 13 | inline ImFont* ico_subtab; 14 | inline ImFont* tab_text1; 15 | inline ImFont* ico = nullptr; 16 | inline ImFont* tab_text2; 17 | inline ImFont* ico_2 = nullptr; 18 | inline ImFont* ico_minimize = nullptr; 19 | inline ImFont* tab_textA; 20 | inline ImFont* tab_text3; 21 | inline ImFont* ico_logo; 22 | inline ImFont* chinesefont; 23 | 24 | inline float dpi_scale = 1.0f; 25 | 26 | namespace Gui 27 | { 28 | inline int tabs = 0; 29 | inline int sub_tabs = 0; 30 | inline static float tab_alpha = 0.f; 31 | inline static float tab_add; 32 | inline static int active_tab = 0; 33 | } 34 | 35 | namespace Menu 36 | { 37 | 38 | inline bool ShowMenu = { true }; 39 | 40 | inline bool bESP = { true }; 41 | inline bool bAimBot = { true }; 42 | inline bool TeamCheck = { true }; 43 | inline int FovValue = { 90 }; 44 | inline bool AimLock = { false }; 45 | inline bool AimHead = { false }; 46 | inline int smoothvalue = { 10 }; 47 | 48 | namespace ESP 49 | { 50 | inline bool Box = { true }; 51 | inline int BoxType = { 0 }; 52 | inline bool Health = { true }; 53 | inline bool Name = { true }; 54 | inline bool Weapon = { false }; 55 | inline bool Line = { false }; 56 | inline int LineType = { 0 }; 57 | inline bool AimCricle = { false }; 58 | inline int CricleType = { 0 }; 59 | inline bool Bone = { true }; 60 | inline bool HeadCricle = { true }; 61 | inline bool Glow = { true }; 62 | } 63 | 64 | namespace Misc 65 | { 66 | inline bool Rander = { true }; 67 | 68 | } 69 | 70 | namespace Color 71 | { 72 | inline ImColor BoxColor = ImColor(252, 150, 237, 255); 73 | inline ImColor FilledColor = ImColor(252, 150, 237, 80); 74 | inline ImColor BoneColor = ImColor(255, 255, 255, 255); 75 | inline ImColor HeadCricleColor = ImColor(255, 255, 255, 255); 76 | inline ImColor EyeRayColor = ImColor(255, 0, 0, 255); 77 | inline ImColor NameColor = ImColor(252, 150, 237, 255); 78 | inline ImColor LineColor = ImColor(255, 255, 255, 220); 79 | inline ImColor AimCricleColor = ImColor(255, 255, 255, 255); 80 | inline ImColor HealthColor = ImColor(0, 0, 0, 255); 81 | 82 | } 83 | 84 | namespace Aimbot 85 | { 86 | inline bool Client = { true }; 87 | inline bool TeamCheck = { true }; 88 | inline int AimSize = { 100 }; 89 | inline int AimKey = { 18 }; 90 | inline int32_t AimPos = { 6 }; 91 | } 92 | 93 | void start(); 94 | } 95 | 96 | -------------------------------------------------------------------------------- /XAnan CG Intern/offsets.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "CS2_Dumper/offsets.hpp" 4 | #include "CS2_Dumper/client.dll.hpp" 5 | 6 | namespace Offset 7 | { 8 | inline constexpr intptr_t EntityListPtr{ 0x10 }; // GameEntitySystem + EntityListPtr 9 | inline constexpr intptr_t IsMatchStarted{ 0xA0 }; // Prediction + IsMatchStarted 10 | inline constexpr intptr_t PlayerPawn{ cs2_dumper::schemas::client_dll::CCSPlayerController::m_hPlayerPawn }; 11 | 12 | inline constexpr intptr_t EntityList{ cs2_dumper::offsets::client_dll::dwEntityList}; 13 | inline constexpr intptr_t LocalPlayerControl{ cs2_dumper::offsets::client_dll::dwLocalPlayerController }; 14 | inline constexpr intptr_t ViewMatrix{ cs2_dumper::offsets::client_dll::dwViewMatrix }; 15 | 16 | namespace GPointers 17 | { 18 | inline intptr_t ClientMod{}; 19 | inline intptr_t Engine2Mod{}; 20 | inline intptr_t GameRules{}; 21 | inline intptr_t CCSGO_Input{}; 22 | inline intptr_t LP_Controller{}; 23 | inline intptr_t ViewMatrix{}; 24 | inline intptr_t ViewAngles{}; 25 | inline intptr_t EntityList{}; 26 | inline intptr_t Prediction{}; 27 | } 28 | 29 | namespace Pawn 30 | { 31 | inline constexpr intptr_t PawnAlive = cs2_dumper::schemas::client_dll::CCSPlayerController::m_bPawnIsAlive; 32 | inline constexpr intptr_t BoneArray{ cs2_dumper::schemas::client_dll::CSkeletonInstance::m_modelState + 0x80 }; // GameSceneNode + BoneArray 33 | inline constexpr intptr_t iHealth{ cs2_dumper::schemas::client_dll::C_BaseEntity::m_iHealth }; 34 | inline constexpr intptr_t pGameSceneNode{ cs2_dumper::schemas::client_dll::C_BaseEntity::m_pGameSceneNode }; 35 | inline constexpr intptr_t iTeamNum{ cs2_dumper::schemas::client_dll::C_BaseEntity::m_iTeamNum }; 36 | inline constexpr intptr_t vLastClipCameraPos{ cs2_dumper::schemas::client_dll::C_CSPlayerPawnBase::m_vecLastClipCameraPos }; 37 | inline constexpr intptr_t vAngEyeAngles{ cs2_dumper::schemas::client_dll::C_CSPlayerPawnBase::m_angEyeAngles }; 38 | inline constexpr intptr_t bSpottedMask{ cs2_dumper::schemas::client_dll::C_CSPlayerPawn::m_entitySpottedState + cs2_dumper::schemas::client_dll::EntitySpottedState_t::m_bSpottedByMask }; // C_CSPlayerPawn::entitySpottedState + EntitySpottedState_t::bSpottedByMask 39 | inline constexpr intptr_t bDormant{ cs2_dumper::schemas::client_dll::CGameSceneNode::m_bDormant }; // GameSceneNode + bDormant 40 | inline constexpr intptr_t bPos{ cs2_dumper::schemas::client_dll::C_BasePlayerPawn::m_vOldOrigin }; // GameSceneNode + bDormant 41 | inline constexpr intptr_t IsAlive{ cs2_dumper::schemas::client_dll::CCSPlayerController::m_bPawnIsAlive }; 42 | inline constexpr intptr_t CurrentArmor{ cs2_dumper::schemas::client_dll::C_CSPlayerPawn::m_ArmorValue }; 43 | inline constexpr intptr_t pClippingWeapon{ cs2_dumper::schemas::client_dll::C_CSPlayerPawnBase::m_pClippingWeapon }; 44 | inline constexpr intptr_t bSpottedByMask = cs2_dumper::schemas::client_dll::C_CSPlayerPawn::m_entitySpottedState + cs2_dumper::schemas::client_dll::EntitySpottedState_t::m_bSpottedByMask; // C_CSPlayerPawn::entitySpottedState + EntitySpottedState_t::bSpottedByMask 45 | inline constexpr intptr_t m_Glow = cs2_dumper::schemas::client_dll::C_BaseModelEntity::m_Glow; 46 | inline constexpr intptr_t m_GlowOverride = cs2_dumper::schemas::client_dll::CGlowProperty::m_glowColorOverride; 47 | inline constexpr intptr_t m_bGlowing = cs2_dumper::schemas::client_dll::CGlowProperty::m_bGlowing; 48 | inline constexpr intptr_t m_fGlowColor = cs2_dumper::schemas::client_dll::CGlowProperty::m_fGlowColor; 49 | 50 | }; 51 | 52 | namespace WeaponBaseData 53 | { 54 | inline constexpr intptr_t WeaponDataPTR = cs2_dumper::schemas::client_dll::C_BaseEntity::m_nSubclassID + 0x08; 55 | inline constexpr intptr_t szName = cs2_dumper::schemas::client_dll::CCSWeaponBaseVData::m_szName; 56 | inline constexpr intptr_t Clip1 = cs2_dumper::schemas::client_dll::C_BasePlayerWeapon::m_iClip1; // C_BasePlayerWeapon::m_iClip1 57 | inline constexpr intptr_t MaxClip = cs2_dumper::schemas::client_dll::CBasePlayerWeaponVData::m_iMaxClip1; // CBasePlayerWeaponVData::m_iMaxClip1 58 | inline constexpr intptr_t CycleTime = cs2_dumper::schemas::client_dll::CCSWeaponBaseVData::m_flCycleTime; 59 | inline constexpr intptr_t Penetration = cs2_dumper::schemas::client_dll::CCSWeaponBaseVData::m_flPenetration; 60 | inline constexpr intptr_t WeaponType = cs2_dumper::schemas::client_dll::CCSWeaponBaseVData::m_WeaponType; 61 | inline constexpr intptr_t Inaccuracy = cs2_dumper::schemas::client_dll::CCSWeaponBaseVData::m_flInaccuracyMove; // CCSWeaponBaseVData::m_flInaccuracyMove 62 | inline constexpr intptr_t inReload = cs2_dumper::schemas::client_dll::C_CSWeaponBase::m_bInReload; 63 | inline constexpr intptr_t m_nNumBullets = cs2_dumper::schemas::client_dll::CCSWeaponBaseVData::m_nNumBullets; 64 | inline constexpr intptr_t WeaponSize = 0x50; 65 | inline constexpr intptr_t ActiveWeapon = cs2_dumper::schemas::client_dll::CPlayer_WeaponServices::m_hActiveWeapon; 66 | inline constexpr intptr_t Item = cs2_dumper::schemas::client_dll::C_AttributeContainer::m_Item; // C_AttributeContainer::m_Item 67 | inline constexpr intptr_t ItemDefinitionIndex = cs2_dumper::schemas::client_dll::C_EconItemView::m_iItemDefinitionIndex; 68 | inline constexpr intptr_t m_MeshGroupMask = cs2_dumper::schemas::client_dll::CModelState::m_MeshGroupMask; // CModelState::m_MeshGroupMask 69 | } 70 | 71 | namespace Controller 72 | { 73 | inline constexpr intptr_t cEntName{ cs2_dumper::schemas::client_dll::CBasePlayerController::m_iszPlayerName }; 74 | inline constexpr intptr_t hPawn{ cs2_dumper::schemas::client_dll::CCSPlayerController::m_hPlayerPawn }; 75 | }; 76 | 77 | namespace CCSGO_Input 78 | { 79 | inline constexpr intptr_t ViewAngles{ 0xB0 }; // CCSGOInput - ViewAngles 80 | } 81 | 82 | namespace CS_GameRules 83 | { 84 | inline constexpr intptr_t GameModeRules{ cs2_dumper::schemas::client_dll::C_CSGameRules::m_pGameModeRules }; 85 | inline constexpr intptr_t DeathMatchPtr{ 0x30 }; // GameRules + GameModeRules + DeathMatchPtr 86 | }; 87 | } -------------------------------------------------------------------------------- /XAnan.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 17 4 | VisualStudioVersion = 17.10.34928.147 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XAnan CG Intern", "XAnan CG Intern\XAnan CG Intern.vcxproj", "{3148EA9B-E517-4D9B-9605-F15757627674}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x64 = Debug|x64 11 | Debug|x86 = Debug|x86 12 | Release|x64 = Release|x64 13 | Release|x86 = Release|x86 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {3148EA9B-E517-4D9B-9605-F15757627674}.Debug|x64.ActiveCfg = Debug|x64 17 | {3148EA9B-E517-4D9B-9605-F15757627674}.Debug|x64.Build.0 = Debug|x64 18 | {3148EA9B-E517-4D9B-9605-F15757627674}.Debug|x86.ActiveCfg = Debug|Win32 19 | {3148EA9B-E517-4D9B-9605-F15757627674}.Debug|x86.Build.0 = Debug|Win32 20 | {3148EA9B-E517-4D9B-9605-F15757627674}.Release|x64.ActiveCfg = Release|x64 21 | {3148EA9B-E517-4D9B-9605-F15757627674}.Release|x64.Build.0 = Release|x64 22 | {3148EA9B-E517-4D9B-9605-F15757627674}.Release|x86.ActiveCfg = Release|Win32 23 | {3148EA9B-E517-4D9B-9605-F15757627674}.Release|x86.Build.0 = Release|Win32 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {B5EF0512-6228-42F7-B578-6D34C2C3ADDB} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /dllmain.cpp: -------------------------------------------------------------------------------- 1 | // dllmain.cpp : 定义 DLL 应用程序的入口点。 2 | #include "include.h" 3 | #include "Cheat.h" 4 | #include "Search.h" 5 | #include "Menu.h" 6 | #include "imgui/font.h" 7 | #include "Console.h" 8 | 9 | bool init = false; 10 | 11 | extern LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); 12 | 13 | Present oPresent; 14 | HWND window = NULL; 15 | WNDPROC oWndProc; 16 | ID3D11Device* pDevice = NULL; 17 | ID3D11DeviceContext* pContext = NULL; 18 | ID3D11RenderTargetView* mainRenderTargetView; 19 | 20 | void InitImGui() 21 | { 22 | ImGui::CreateContext(); 23 | ImGuiIO& io = ImGui::GetIO(); 24 | io.ConfigFlags = ImGuiConfigFlags_NoMouseCursorChange; 25 | io.Fonts->AddFontFromMemoryTTF(&inter, sizeof inter, 16 * dpi_scale, NULL, io.Fonts->GetGlyphRangesCyrillic()); 26 | chinesefont = io.Fonts->AddFontFromFileTTF("c:/windows/fonts/simhei.ttf", 15.0f, NULL, io.Fonts->GetGlyphRangesChineseSimplifiedCommon()); 27 | tab_text1 = io.Fonts->AddFontFromMemoryTTF(&inter, sizeof inter, 12 * dpi_scale, NULL, io.Fonts->GetGlyphRangesCyrillic()); 28 | tab_text2 = io.Fonts->AddFontFromMemoryTTF(&inter, sizeof inter, 24 * dpi_scale, NULL, io.Fonts->GetGlyphRangesCyrillic()); 29 | tab_text3 = io.Fonts->AddFontFromMemoryTTF(&inter, sizeof inter, 40 * dpi_scale, NULL, io.Fonts->GetGlyphRangesCyrillic()); 30 | ico = io.Fonts->AddFontFromMemoryTTF(&icon, sizeof icon, 25 * dpi_scale, NULL, io.Fonts->GetGlyphRangesCyrillic()); 31 | ico_2 = io.Fonts->AddFontFromMemoryTTF(&Menuicon, sizeof Menuicon, 20 * dpi_scale, NULL, io.Fonts->GetGlyphRangesCyrillic()); 32 | ico_subtab = io.Fonts->AddFontFromMemoryTTF(&icon, sizeof icon, 35 * dpi_scale, NULL, io.Fonts->GetGlyphRangesCyrillic()); 33 | ico_logo = io.Fonts->AddFontFromMemoryTTF(&icon, sizeof icon, 31 * dpi_scale, NULL, io.Fonts->GetGlyphRangesCyrillic()); 34 | tab_textA = io.Fonts->AddFontFromMemoryTTF(&inter, sizeof inter, 19 * dpi_scale, NULL, io.Fonts->GetGlyphRangesCyrillic()); 35 | ico_minimize = io.Fonts->AddFontFromMemoryTTF(&icon, sizeof icon, 27 * dpi_scale, NULL, io.Fonts->GetGlyphRangesCyrillic()); 36 | 37 | ImGui_ImplWin32_Init(window); 38 | ImGui_ImplDX11_Init(pDevice, pContext); 39 | } 40 | 41 | LRESULT __stdcall WndProc(const HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { 42 | 43 | if (true && ImGui_ImplWin32_WndProcHandler(hWnd, uMsg, wParam, lParam)) 44 | return true; 45 | 46 | return CallWindowProc(oWndProc, hWnd, uMsg, wParam, lParam); 47 | } 48 | 49 | HRESULT __stdcall hkPresent(IDXGISwapChain* pSwapChain, UINT SyncInterval, UINT Flags) 50 | { 51 | if (!init) 52 | { 53 | if (SUCCEEDED(pSwapChain->GetDevice(__uuidof(ID3D11Device), (void**)&pDevice))) 54 | { 55 | pDevice->GetImmediateContext(&pContext); 56 | DXGI_SWAP_CHAIN_DESC sd; 57 | pSwapChain->GetDesc(&sd); 58 | window = sd.OutputWindow; 59 | ID3D11Texture2D* pBackBuffer; 60 | pSwapChain->GetBuffer(0, __uuidof(ID3D11Texture2D), (LPVOID*)&pBackBuffer); 61 | pDevice->CreateRenderTargetView(pBackBuffer, NULL, &mainRenderTargetView); 62 | pBackBuffer->Release(); 63 | oWndProc = (WNDPROC)SetWindowLongPtr(window, GWLP_WNDPROC, (LONG_PTR)WndProc); 64 | InitImGui(); 65 | init = true; 66 | } 67 | 68 | else 69 | return oPresent(pSwapChain, SyncInterval, Flags); 70 | } 71 | 72 | 73 | ImGui_ImplDX11_NewFrame(); 74 | ImGui_ImplWin32_NewFrame(); 75 | ImGui::NewFrame(); 76 | 77 | Cheat::Run(); 78 | 79 | ImGui::Render(); 80 | 81 | pContext->OMSetRenderTargets(1, &mainRenderTargetView, NULL); 82 | ImGui_ImplDX11_RenderDrawData(ImGui::GetDrawData()); 83 | return oPresent(pSwapChain, SyncInterval, Flags); 84 | } 85 | 86 | DWORD WINAPI MainThread(LPVOID lpReserved) 87 | { 88 | 89 | PatternScan patternScan{}; 90 | 91 | Console::InitConsole(); 92 | 93 | if (patternScan.InitPointers()) 94 | { 95 | 96 | bool init_hook = false; 97 | do 98 | { 99 | if (kiero::init(kiero::RenderType::D3D11) == kiero::Status::Success) 100 | { 101 | kiero::bind(8, (void**)&oPresent, hkPresent); 102 | init_hook = true; 103 | } 104 | } while (!init_hook); 105 | 106 | } 107 | else 108 | { 109 | MessageBox(0,L"Update Offsets error !",0,0); 110 | } 111 | 112 | return TRUE; 113 | } 114 | 115 | BOOL APIENTRY DllMain( HMODULE hModule, 116 | DWORD dwReason, 117 | LPVOID lpReserved 118 | ) 119 | { 120 | switch (dwReason) 121 | { 122 | case DLL_PROCESS_ATTACH: 123 | DisableThreadLibraryCalls(hModule); 124 | CreateThread(nullptr, 0, MainThread, hModule, 0, nullptr); 125 | break; 126 | case DLL_PROCESS_DETACH: 127 | kiero::shutdown(); 128 | break; 129 | } 130 | return TRUE; 131 | } 132 | 133 | -------------------------------------------------------------------------------- /include.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include 5 | #include "kiero/kiero.h" 6 | #include "imgui/imgui.h" 7 | #include "imgui/imgui_impl_win32.h" 8 | #include "imgui/imgui_impl_dx11.h" 9 | 10 | typedef HRESULT(__stdcall* Present) (IDXGISwapChain* pSwapChain, UINT SyncInterval, UINT Flags); 11 | typedef LRESULT(CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM); 12 | typedef uintptr_t PTR; -------------------------------------------------------------------------------- /menu.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include"GameState.h" 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include "imgui/imgui.h" 8 | #include "imgui/imgui_impl_win32.h" 9 | #include "imgui/imgui_impl_dx11.h" 10 | #include "imgui/imgui_internal.h" 11 | #include "imgui/color.h" 12 | 13 | inline ImFont* ico_subtab; 14 | inline ImFont* tab_text1; 15 | inline ImFont* ico = nullptr; 16 | inline ImFont* tab_text2; 17 | inline ImFont* ico_2 = nullptr; 18 | inline ImFont* ico_minimize = nullptr; 19 | inline ImFont* tab_textA; 20 | inline ImFont* tab_text3; 21 | inline ImFont* ico_logo; 22 | inline ImFont* chinesefont; 23 | 24 | inline float dpi_scale = 1.0f; 25 | 26 | namespace Gui 27 | { 28 | inline int tabs = 0; 29 | inline int sub_tabs = 0; 30 | inline static float tab_alpha = 0.f; 31 | inline static float tab_add; 32 | inline static int active_tab = 0; 33 | } 34 | 35 | namespace Menu 36 | { 37 | 38 | inline bool ShowMenu = { true }; 39 | 40 | inline bool bESP = { true }; 41 | inline bool bAimBot = { true }; 42 | inline bool TeamCheck = { true }; 43 | inline int FovValue = { 90 }; 44 | inline bool AimLock = { false }; 45 | inline bool AimHead = { false }; 46 | inline int smoothvalue = { 10 }; 47 | 48 | namespace ESP 49 | { 50 | inline bool Box = { true }; 51 | inline int BoxType = { 0 }; 52 | inline bool Health = { true }; 53 | inline bool Name = { true }; 54 | inline bool Weapon = { false }; 55 | inline bool Line = { false }; 56 | inline int LineType = { 0 }; 57 | inline bool AimCricle = { false }; 58 | inline int CricleType = { 0 }; 59 | inline bool Bone = { true }; 60 | inline bool HeadCricle = { true }; 61 | inline bool Glow = { true }; 62 | } 63 | 64 | namespace Misc 65 | { 66 | inline bool Rander = { true }; 67 | 68 | } 69 | 70 | namespace Color 71 | { 72 | inline ImColor BoxColor = ImColor(252, 150, 237, 255); 73 | inline ImColor FilledColor = ImColor(252, 150, 237, 80); 74 | inline ImColor BoneColor = ImColor(255, 255, 255, 255); 75 | inline ImColor HeadCricleColor = ImColor(255, 255, 255, 255); 76 | inline ImColor EyeRayColor = ImColor(255, 0, 0, 255); 77 | inline ImColor NameColor = ImColor(252, 150, 237, 255); 78 | inline ImColor LineColor = ImColor(255, 255, 255, 220); 79 | inline ImColor AimCricleColor = ImColor(255, 255, 255, 255); 80 | inline ImColor HealthColor = ImColor(0, 0, 0, 255); 81 | inline ImColor WeaponColor = ImColor(252, 150, 237, 255); 82 | 83 | } 84 | 85 | namespace Aimbot 86 | { 87 | inline bool Client = { true }; 88 | inline bool TeamCheck = { true }; 89 | inline int AimSize = { 100 }; 90 | inline int AimKey = { 18 }; 91 | inline int32_t AimPos = { 6 }; 92 | } 93 | 94 | void start(); 95 | } 96 | 97 | -------------------------------------------------------------------------------- /offsets.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include "CS2_Dumper/offsets.hpp" 4 | #include "CS2_Dumper/client_dll.hpp" 5 | 6 | namespace Offset 7 | { 8 | inline constexpr intptr_t EntityListPtr{ 0x10 }; // GameEntitySystem + EntityListPtr 9 | inline constexpr intptr_t IsMatchStarted{ 0x98 }; // Prediction + IsMatchStarted 10 | inline constexpr intptr_t PlayerPawn{ cs2_dumper::schemas::client_dll::CCSPlayerController::m_hPlayerPawn }; 11 | 12 | inline constexpr intptr_t EntityList{ cs2_dumper::offsets::client_dll::dwEntityList}; 13 | inline constexpr intptr_t LocalPlayerControl{ cs2_dumper::offsets::client_dll::dwLocalPlayerController }; 14 | inline constexpr intptr_t ViewMatrix{ cs2_dumper::offsets::client_dll::dwViewMatrix }; 15 | 16 | namespace GPointers 17 | { 18 | inline intptr_t ClientMod{}; 19 | inline intptr_t Engine2Mod{}; 20 | inline intptr_t GameRules{}; 21 | inline intptr_t CCSGO_Input{}; 22 | inline intptr_t LP_Controller{}; 23 | inline intptr_t ViewMatrix{}; 24 | inline intptr_t ViewAngles{}; 25 | inline intptr_t EntityList{}; 26 | inline intptr_t Prediction{}; 27 | } 28 | 29 | namespace Pawn 30 | { 31 | inline constexpr intptr_t PawnAlive = cs2_dumper::schemas::client_dll::CCSPlayerController::m_bPawnIsAlive; 32 | inline constexpr intptr_t BoneArray{ cs2_dumper::schemas::client_dll::CSkeletonInstance::m_modelState + 0x80 }; // GameSceneNode + BoneArray 33 | inline constexpr intptr_t iHealth{ cs2_dumper::schemas::client_dll::C_BaseEntity::m_iHealth }; 34 | inline constexpr intptr_t pGameSceneNode{ cs2_dumper::schemas::client_dll::C_BaseEntity::m_pGameSceneNode }; 35 | inline constexpr intptr_t iTeamNum{ cs2_dumper::schemas::client_dll::C_BaseEntity::m_iTeamNum }; 36 | inline constexpr intptr_t vLastClipCameraPos{ cs2_dumper::schemas::client_dll::C_CSPlayerPawnBase::m_vecLastClipCameraPos }; 37 | inline constexpr intptr_t vAngEyeAngles{ cs2_dumper::schemas::client_dll::C_CSPlayerPawnBase::m_angEyeAngles }; 38 | inline constexpr intptr_t bSpottedMask{ cs2_dumper::schemas::client_dll::C_CSPlayerPawn::m_entitySpottedState + cs2_dumper::schemas::client_dll::EntitySpottedState_t::m_bSpottedByMask }; // C_CSPlayerPawn::entitySpottedState + EntitySpottedState_t::bSpottedByMask 39 | inline constexpr intptr_t bDormant{ cs2_dumper::schemas::client_dll::CGameSceneNode::m_bDormant }; // GameSceneNode + bDormant 40 | inline constexpr intptr_t bPos{ cs2_dumper::schemas::client_dll::C_BasePlayerPawn::m_vOldOrigin }; // GameSceneNode + bDormant 41 | inline constexpr intptr_t IsAlive{ cs2_dumper::schemas::client_dll::CCSPlayerController::m_bPawnIsAlive }; 42 | inline constexpr intptr_t CurrentArmor{ cs2_dumper::schemas::client_dll::C_CSPlayerPawn::m_ArmorValue }; 43 | inline constexpr intptr_t pClippingWeapon{ cs2_dumper::schemas::client_dll::C_CSPlayerPawnBase::m_pClippingWeapon }; 44 | inline constexpr intptr_t bSpottedByMask = cs2_dumper::schemas::client_dll::C_CSPlayerPawn::m_entitySpottedState + cs2_dumper::schemas::client_dll::EntitySpottedState_t::m_bSpottedByMask; // C_CSPlayerPawn::entitySpottedState + EntitySpottedState_t::bSpottedByMask 45 | inline constexpr intptr_t m_Glow = cs2_dumper::schemas::client_dll::C_BaseModelEntity::m_Glow; 46 | inline constexpr intptr_t m_GlowOverride = cs2_dumper::schemas::client_dll::CGlowProperty::m_glowColorOverride; 47 | inline constexpr intptr_t m_bGlowing = cs2_dumper::schemas::client_dll::CGlowProperty::m_bGlowing; 48 | inline constexpr intptr_t m_fGlowColor = cs2_dumper::schemas::client_dll::CGlowProperty::m_fGlowColor; 49 | 50 | }; 51 | 52 | namespace WeaponBaseData 53 | { 54 | inline constexpr intptr_t WeaponDataPTR = cs2_dumper::schemas::client_dll::C_BaseEntity::m_nSubclassID + 0x08; 55 | inline constexpr intptr_t szName = cs2_dumper::schemas::client_dll::CCSWeaponBaseVData::m_szName; 56 | inline constexpr intptr_t Clip1 = cs2_dumper::schemas::client_dll::C_BasePlayerWeapon::m_iClip1; // C_BasePlayerWeapon::m_iClip1 57 | inline constexpr intptr_t MaxClip = cs2_dumper::schemas::client_dll::CBasePlayerWeaponVData::m_iMaxClip1; // CBasePlayerWeaponVData::m_iMaxClip1 58 | inline constexpr intptr_t CycleTime = cs2_dumper::schemas::client_dll::CCSWeaponBaseVData::m_flCycleTime; 59 | inline constexpr intptr_t Penetration = cs2_dumper::schemas::client_dll::CCSWeaponBaseVData::m_flPenetration; 60 | inline constexpr intptr_t WeaponType = cs2_dumper::schemas::client_dll::CCSWeaponBaseVData::m_WeaponType; 61 | inline constexpr intptr_t Inaccuracy = cs2_dumper::schemas::client_dll::CCSWeaponBaseVData::m_flInaccuracyMove; // CCSWeaponBaseVData::m_flInaccuracyMove 62 | inline constexpr intptr_t inReload = cs2_dumper::schemas::client_dll::C_CSWeaponBase::m_bInReload; 63 | inline constexpr intptr_t m_nNumBullets = cs2_dumper::schemas::client_dll::CCSWeaponBaseVData::m_nNumBullets; 64 | inline constexpr intptr_t WeaponSize = 0x50; 65 | inline constexpr intptr_t ActiveWeapon = cs2_dumper::schemas::client_dll::CPlayer_WeaponServices::m_hActiveWeapon; 66 | inline constexpr intptr_t Item = cs2_dumper::schemas::client_dll::C_AttributeContainer::m_Item; // C_AttributeContainer::m_Item 67 | inline constexpr intptr_t ItemDefinitionIndex = cs2_dumper::schemas::client_dll::C_EconItemView::m_iItemDefinitionIndex; 68 | inline constexpr intptr_t m_MeshGroupMask = cs2_dumper::schemas::client_dll::CModelState::m_MeshGroupMask; // CModelState::m_MeshGroupMask 69 | } 70 | 71 | namespace Controller 72 | { 73 | inline constexpr intptr_t cEntName{ cs2_dumper::schemas::client_dll::CBasePlayerController::m_iszPlayerName }; 74 | inline constexpr intptr_t hPawn{ cs2_dumper::schemas::client_dll::CCSPlayerController::m_hPlayerPawn }; 75 | }; 76 | 77 | namespace CCSGO_Input 78 | { 79 | inline constexpr intptr_t ViewAngles{ 0xB0 }; // CCSGOInput - ViewAngles 80 | } 81 | 82 | namespace CS_GameRules 83 | { 84 | inline constexpr intptr_t GameModeRules{ cs2_dumper::schemas::client_dll::C_CSGameRules::m_pGameModeRules }; 85 | inline constexpr intptr_t DeathMatchPtr{ 0x30 }; // GameRules + GameModeRules + DeathMatchPtr 86 | }; 87 | } -------------------------------------------------------------------------------- /offsets.hpp: -------------------------------------------------------------------------------- 1 | // Generated using https://github.com/a2x/cs2-dumper 2 | // 2024-10-16 08:28:04.792331200 UTC 3 | 4 | #pragma once 5 | 6 | #include 7 | 8 | namespace cs2_dumper { 9 | namespace offsets { 10 | // Module: client.dll 11 | namespace client_dll { 12 | constexpr std::ptrdiff_t dwCSGOInput = 0x1A36590; 13 | constexpr std::ptrdiff_t dwEntityList = 0x19CA848; 14 | constexpr std::ptrdiff_t dwGameEntitySystem = 0x1AE48F8; 15 | constexpr std::ptrdiff_t dwGameEntitySystem_highestEntityIndex = 0x1520; 16 | constexpr std::ptrdiff_t dwGameRules = 0x1A28408; 17 | constexpr std::ptrdiff_t dwGlowManager = 0x1A27B40; 18 | constexpr std::ptrdiff_t dwLocalPlayerController = 0x1A1A690; 19 | constexpr std::ptrdiff_t dwLocalPlayerPawn = 0x182FAE0; 20 | constexpr std::ptrdiff_t dwPlantedC4 = 0x1A32040; 21 | constexpr std::ptrdiff_t dwPrediction = 0x182F980; 22 | constexpr std::ptrdiff_t dwSensitivity_sensitivity = 0x40; 23 | constexpr std::ptrdiff_t dwViewAngles = 0x1A36960; 24 | constexpr std::ptrdiff_t dwViewMatrix = 0x1A2CAD0; 25 | constexpr std::ptrdiff_t dwViewRender = 0x1A2D2D8; 26 | } 27 | // Module: engine2.dll 28 | namespace engine2_dll { 29 | constexpr std::ptrdiff_t dwBuildNumber = 0x52EBE4; 30 | constexpr std::ptrdiff_t dwNetworkGameClient = 0x52DCE0; 31 | constexpr std::ptrdiff_t dwNetworkGameClient_clientTickCount = 0x368; 32 | constexpr std::ptrdiff_t dwNetworkGameClient_deltaTick = 0x27C; 33 | constexpr std::ptrdiff_t dwNetworkGameClient_isBackgroundMap = 0x281447; 34 | constexpr std::ptrdiff_t dwNetworkGameClient_localPlayer = 0xF0; 35 | constexpr std::ptrdiff_t dwNetworkGameClient_maxClients = 0x238; 36 | constexpr std::ptrdiff_t dwNetworkGameClient_serverTickCount = 0x36C; 37 | constexpr std::ptrdiff_t dwNetworkGameClient_signOnState = 0x228; 38 | constexpr std::ptrdiff_t dwWindowHeight = 0x611094; 39 | constexpr std::ptrdiff_t dwWindowWidth = 0x611090; 40 | } 41 | // Module: inputsystem.dll 42 | namespace inputsystem_dll { 43 | constexpr std::ptrdiff_t dwInputSystem = 0x377E0; 44 | } 45 | // Module: matchmaking.dll 46 | namespace matchmaking_dll { 47 | constexpr std::ptrdiff_t dwGameTypes = 0x1A31B0; 48 | constexpr std::ptrdiff_t dwGameTypes_mapName = 0x120; 49 | } 50 | // Module: soundsystem.dll 51 | namespace soundsystem_dll { 52 | constexpr std::ptrdiff_t dwSoundSystem = 0x39A5E0; 53 | constexpr std::ptrdiff_t dwSoundSystem_engineViewData = 0x7C; 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /个人跑路声明.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MitilcC/CS2-Internal-Cheat/15a42a6e282873b1aa43bcf6ab9dd036fb108af2/个人跑路声明.jpg -------------------------------------------------------------------------------- /圈钱记录.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MitilcC/CS2-Internal-Cheat/15a42a6e282873b1aa43bcf6ab9dd036fb108af2/圈钱记录.png --------------------------------------------------------------------------------