diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 2286664..5dea944 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,12 +1,11 @@ ## Changes📣 -最新更新于2024年4月28日 16:46,现有功能如下: +最新更新于2024年4月29日 21:56,现有功能如下: - 方框透视 - 骨骼透视 - 自瞄锁头 - 枪后座力补偿 -- 跳越射击 - 连跳 - 防闪光弹 - 地图扫描敌人雷达 diff --git a/CS2CheatCpp/CS2_Cheat_Log.txt b/CS2CheatCpp/CS2_Cheat_Log.txt index 43718a0..e593bdd 100644 --- a/CS2CheatCpp/CS2_Cheat_Log.txt +++ b/CS2CheatCpp/CS2_Cheat_Log.txt @@ -1,4 +1,4 @@ [Tip]: After running this program, please make sure to read the software usage instructions. If it doesn't work, please copy this log file record to the GitHub repository and submit an issue, or directly contact the author via WeChat at yl1099129793. The author has limited capacity and cannot synchronously update CS2 game patch. If urgently needed, you can fork this repository and modify offsets to build with the latest value. -[2024/04/28 16:34:06] cs2.exe's process id located at18804 -[2024/04/28 16:34:06] client.dll -> 0x7ff987440000 +[2024/04/29 22:36:00] cs2.exe's process id located at11308 +[2024/04/29 22:36:00] client.dll -> 0x7fffb69a0000 diff --git a/CS2CheatCpp/imgui.ini b/CS2CheatCpp/imgui.ini index ad10eb2..54fd2f4 100644 --- a/CS2CheatCpp/imgui.ini +++ b/CS2CheatCpp/imgui.ini @@ -3,7 +3,7 @@ Pos=60,60 Size=400,400 [Window][CS2 ESP Cheat] -Pos=0,8 +Pos=619,218 Size=670,488 [Window][CS2] diff --git a/CS2CheatCpp/src/main.cpp b/CS2CheatCpp/src/main.cpp index e3c6e0e..945ddaf 100644 --- a/CS2CheatCpp/src/main.cpp +++ b/CS2CheatCpp/src/main.cpp @@ -72,7 +72,8 @@ INT APIENTRY WinMain(HINSTANCE instance, HINSTANCE, PSTR, INT cmd_show) std::vector entities; entities.reserve(64); - static auto oldPunch = Vector3{}; + static auto oldAngle = Vector3{}; + static auto newAngle = Vector3{}; static auto velocity = Vector3{}; while (gui::exit) @@ -91,12 +92,12 @@ INT APIENTRY WinMain(HINSTANCE instance, HINSTANCE, PSTR, INT cmd_show) gui::EndRender(); continue; } + // 处理外挂业务逻辑: 获取相关数据的地址 localPlayer.pawnAddress = mem.Read(client + offsets::client_dll::dwLocalPlayerPawn); localPlayer.origin = mem.Read(localPlayer.pawnAddress + schemas::client_dll::C_BasePlayerPawn::m_vOldOrigin); localPlayer.viewOffset = mem.Read(localPlayer.pawnAddress + schemas::client_dll::C_BaseModelEntity::m_vecViewOffset); localPlayer.team = mem.Read(localPlayer.pawnAddress + schemas::client_dll::C_BaseEntity::m_iTeamNum); - localPlayer.entIndex = mem.Read(localPlayer.pawnAddress + schemas::client_dll::C_CSPlayerPawnBase::m_iIDEntIndex);// 准星前的玩家id localPlayer.fFlag = mem.Read(localPlayer.pawnAddress + schemas::client_dll::C_BaseEntity::m_fFlags);// 玩家的fFlag localPlayer.flashDuration = mem.Read(localPlayer.pawnAddress + schemas::client_dll::C_CSPlayerPawnBase::m_flFlashBangTime);//玩家遭受闪光的时间 localPlayer.velocity = mem.Read(localPlayer.pawnAddress + schemas::client_dll::C_BaseEntity::m_vecAbsVelocity);// 玩家移动速度 @@ -110,11 +111,11 @@ INT APIENTRY WinMain(HINSTANCE instance, HINSTANCE, PSTR, INT cmd_show) if (!mem.InForeground()) continue; // 根据entity_list获取第一个入口点 - const auto list_entry = mem.Read(enity_list + (8 * (playerIndex & 0x7FFF) >> 9) + 16);// 16==0x10 + const auto list_entry = mem.Read(enity_list + (0x8 * (playerIndex & 0x7FFF) >> 9) + 0x10); if (!list_entry) continue; // 获取currentController - const auto currentController = mem.Read(list_entry + 120 * (playerIndex & 0x1FF));// 120==0x78 + const auto currentController = mem.Read(list_entry + 120 * (playerIndex & 0x1FF)); if (!currentController) continue; // 通过currentController获取pawnHandle @@ -310,7 +311,7 @@ INT APIENTRY WinMain(HINSTANCE instance, HINSTANCE, PSTR, INT cmd_show) } // 自瞄锁头并开枪 - if (gui::enableAimbot && entities.size() > 0) // && !gui::enableRadar && entities[0].spotted + if (gui::enableAimbot && entities.size() > 0) { if (gui::enableTeamMode) { @@ -321,6 +322,8 @@ INT APIENTRY WinMain(HINSTANCE instance, HINSTANCE, PSTR, INT cmd_show) std::stable_sort(entities.begin(), entities.end(), [](const Entity& entity1, const Entity& entity2) { return entity1.pixelDistance < entity2.pixelDistance; }); + + // 计算自瞄需要偏移的角度 if (entities[0].pixelDistance < gui::fovAimbot) { @@ -331,13 +334,30 @@ INT APIENTRY WinMain(HINSTANCE instance, HINSTANCE, PSTR, INT cmd_show) mem.Write(client + offsets::client_dll::dwViewAngles, newAnglesVec3); } - // 开枪 + // 自动开枪 - 查找准星瞄准的敌人数据 + // 枪口准星前的玩家实体index + localPlayer.entIndex = mem.Read(localPlayer.pawnAddress + schemas::client_dll::C_CSPlayerPawnBase::m_iIDEntIndex); if (gui::enableAutoAttack && localPlayer.entIndex > 0) { - mem.Write(client + buttons::attack, PLUS_ATTACK); - std::this_thread::sleep_for(std::chrono::milliseconds(2)); - mem.Write(client + buttons::attack, MINUS_ATTACK); - std::this_thread::sleep_for(std::chrono::milliseconds(2)); + const auto list_entry = mem.Read(enity_list + 0x8 * (localPlayer.entIndex >> 9) + 0x10); + const auto entity = mem.Read(list_entry + 120 * (localPlayer.entIndex & 0x1FF)); + const auto enemyTeam = mem.Read(entity + schemas::client_dll::C_BaseEntity::m_iTeamNum); + bool shouldShoot = false; + if (gui::enableTeamMode) + { + if ( enemyTeam != localPlayer.team) + shouldShoot = true; + } + else + { + shouldShoot = true; + } + if (shouldShoot) { + mem.Write(client + buttons::attack, PLUS_ATTACK); + std::this_thread::sleep_for(std::chrono::milliseconds(2)); + mem.Write(client + buttons::attack, MINUS_ATTACK); + std::this_thread::sleep_for(std::chrono::milliseconds(1)); + } } } @@ -361,7 +381,7 @@ INT APIENTRY WinMain(HINSTANCE instance, HINSTANCE, PSTR, INT cmd_show) } // 跳越射击 - if (localPlayer.fFlag == INAIR && GetAsyncKeyState(VK_SHIFT)) + /*if (localPlayer.fFlag == INAIR && GetAsyncKeyState(VK_SHIFT)) { std::this_thread::sleep_for(std::chrono::milliseconds(3)); velocity = mem.Read(localPlayer.pawnAddress + schemas::client_dll::C_BaseEntity::m_vecAbsVelocity); @@ -371,7 +391,7 @@ INT APIENTRY WinMain(HINSTANCE instance, HINSTANCE, PSTR, INT cmd_show) mem.Write(client + buttons::attack, PLUS_ATTACK); std::this_thread::sleep_for(std::chrono::milliseconds(1)); mem.Write(client + buttons::attack, MINUS_ATTACK); - } + }*/ // fov视野角度(相机Service) auto desiredFov = static_cast(gui::fov); @@ -390,30 +410,25 @@ INT APIENTRY WinMain(HINSTANCE instance, HINSTANCE, PSTR, INT cmd_show) if (gui::enableRcs) { const auto shotsFired = mem.Read(localPlayer.pawnAddress + schemas::client_dll::C_CSPlayerPawn::m_iShotsFired);// 开枪次数 - auto sensPointer = mem.Read(client + offsets::client_dll::dwSensitivity); - auto sensitivity = mem.Read(sensPointer + offsets::client_dll::dwSensitivity_sensitivity); - auto aimPunchCache = mem.Read(localPlayer.pawnAddress + schemas::client_dll::C_CSPlayerPawn::m_aimPunchCache); - if (aimPunchCache.data && aimPunchCache.count > 0 && aimPunchCache.count < 0xFFFF) - { - localPlayer.aimPunch = mem.Read(aimPunchCache.data + (aimPunchCache.count - 1) * sizeof(Vector3)); - } - else - { - continue; - } + // 如果开枪了,就计算后座力补偿 if (shotsFired > 1) - {// 如果开枪了,就计算后座力补偿 + { + float m_pitch = 0.022; + float m_yaw = 0.022; + auto aimPunch = mem.Read(localPlayer.pawnAddress + schemas::client_dll::C_CSPlayerPawn::m_aimPunchAngle); Vector3 viewAngles = mem.Read(client + offsets::client_dll::dwViewAngles); - Vector3 delta = viewAngles - (viewAngles + (oldPunch - (localPlayer.aimPunch * 2.0f))); + auto sensPointer = mem.Read(client + offsets::client_dll::dwSensitivity); + auto sensitivity = mem.Read(sensPointer + offsets::client_dll::dwSensitivity_sensitivity); + newAngle.x = (aimPunch.y - oldAngle.y) * 2.f / (m_pitch * sensitivity) / 1; + newAngle.y = -(aimPunch.x - oldAngle.x) * 2.f / (m_yaw * sensitivity) / 1; + + mouse_event(MOUSEEVENTF_MOVE, -newAngle.x * -1, newAngle.y, 0, 0); - int mouse_angle_x = (int)(delta.x / (sensitivity*0.022f)); - int mouse_angle_y = (int)(delta.y / (sensitivity*0.022f)); - mouse_event(MOUSEEVENTF_MOVE, mouse_angle_x, -mouse_angle_y, 0, 0); - oldPunch = localPlayer.aimPunch * 2.0f; + oldAngle = aimPunch; } else { - oldPunch.x = oldPunch.y = oldPunch.z = 0.f; + oldAngle.x = oldAngle.y = oldAngle.z = 0.f; } } diff --git a/README.md b/README.md index 0538d90..b43c456 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # CS2 Cheat - C++ -> Latest Update:2024.04.28 16:46 +> Latest Update:2024.04.29 21:56 ![esp](./esp.png) @@ -10,7 +10,6 @@ - 骨骼透视 - 自瞄锁头 - 枪后座力补偿 -- 跳越射击 - 连跳 - 防闪光弹 - 地图扫描敌人雷达 diff --git a/build/CS2CheatCpp.pdb b/build/CS2CheatCpp.pdb index 37c76b5..7da1097 100644 Binary files a/build/CS2CheatCpp.pdb and b/build/CS2CheatCpp.pdb differ diff --git a/build/intermediates/CS2CheatCpp.iobj b/build/intermediates/CS2CheatCpp.iobj index 87fb2f3..8d55545 100644 Binary files a/build/intermediates/CS2CheatCpp.iobj and b/build/intermediates/CS2CheatCpp.iobj differ diff --git a/build/intermediates/CS2CheatCpp.ipdb b/build/intermediates/CS2CheatCpp.ipdb index 7d4d30c..70d13ff 100644 Binary files a/build/intermediates/CS2CheatCpp.ipdb and b/build/intermediates/CS2CheatCpp.ipdb differ diff --git a/build/intermediates/CS2CheatCpp.log b/build/intermediates/CS2CheatCpp.log index 44d629a..77c9d9d 100644 --- a/build/intermediates/CS2CheatCpp.log +++ b/build/intermediates/CS2CheatCpp.log @@ -44,31 +44,35 @@ E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\render.h(40,60): warning C42 E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\render.h(40,57): warning C4244: “参数”: 从“int”转换到“float”,可能丢失数据 (编译源文件“src/main.cpp”) -E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(204,15): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 -E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(203,8): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(205,15): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(204,8): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(203,21): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(202,21): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 -E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(201,21): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 -E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(217,15): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 -E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(216,8): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(218,15): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(217,8): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(216,21): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(215,21): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 -E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(214,21): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 -E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(228,19): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 -E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(227,16): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 -E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(235,19): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 -E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(234,16): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(229,19): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(228,16): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(236,19): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(235,16): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(245,20): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(244,20): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 -E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(243,20): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 -E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(258,7): warning C4244: “参数”: 从“double”转换到“int”,可能丢失数据 -E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(256,55): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 -E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(254,61): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 -E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(253,20): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 -E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(264,74): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 -E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(263,39): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 -E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(308,50): warning C4244: “参数”: 从“int”转换到“float”,可能丢失数据 -E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(308,32): warning C4244: “参数”: 从“int”转换到“float”,可能丢失数据 -E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(387,25): warning C4244: “=”: 从“float”转换到“int”,可能丢失数据 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(259,7): warning C4244: “参数”: 从“double”转换到“int”,可能丢失数据 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(257,55): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(255,61): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(254,20): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(265,74): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(264,39): warning C4244: “参数”: 从“float”转换到“int”,可能丢失数据 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(309,50): warning C4244: “参数”: 从“int”转换到“float”,可能丢失数据 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(309,32): warning C4244: “参数”: 从“int”转换到“float”,可能丢失数据 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(407,25): warning C4244: “=”: 从“float”转换到“int”,可能丢失数据 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(416,19): warning C4305: “初始化”: 从“double”到“float”截断 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(417,17): warning C4305: “初始化”: 从“double”到“float”截断 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(425,61): warning C4244: “参数”: 从“float”转换到“DWORD”,可能丢失数据 +E:\VisualStudioProjects\CS2CheatCpp\CS2CheatCpp\src\main.cpp(425,47): warning C4244: “参数”: 从“float”转换到“DWORD”,可能丢失数据 正在生成代码 - 4 of 2374 functions ( 0.2%) were compiled, the rest were copied from previous compilation. + 1 of 2371 functions (<0.1%) were compiled, the rest were copied from previous compilation. 0 functions were new in current compilation 32 functions had inline decision re-evaluated but remain unchanged 已完成代码的生成 diff --git a/build/intermediates/vc143.pdb b/build/intermediates/vc143.pdb index 622d4a6..dd1fc03 100644 Binary files a/build/intermediates/vc143.pdb and b/build/intermediates/vc143.pdb differ