Skip to content

Commit

Permalink
fix: rcs and autofire
Browse files Browse the repository at this point in the history
  • Loading branch information
yinleiCoder committed Apr 29, 2024
1 parent 40dadff commit fafacad
Show file tree
Hide file tree
Showing 10 changed files with 75 additions and 58 deletions.
3 changes: 1 addition & 2 deletions CHANGELOG.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
## Changes📣

最新更新于2024年4月28日 16:46,现有功能如下:
最新更新于2024年4月29日 21:56,现有功能如下:

- 方框透视
- 骨骼透视
- 自瞄锁头
- 枪后座力补偿
- 跳越射击
- 连跳
- 防闪光弹
- 地图扫描敌人雷达
Expand Down
4 changes: 2 additions & 2 deletions CS2CheatCpp/CS2_Cheat_Log.txt
Original file line number Diff line number Diff line change
@@ -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
2 changes: 1 addition & 1 deletion CS2CheatCpp/imgui.ini
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down
75 changes: 45 additions & 30 deletions CS2CheatCpp/src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,8 @@ INT APIENTRY WinMain(HINSTANCE instance, HINSTANCE, PSTR, INT cmd_show)
std::vector<Entity> entities;
entities.reserve(64);

static auto oldPunch = Vector3{};
static auto oldAngle = Vector3{};
static auto newAngle = Vector3{};
static auto velocity = Vector3{};

while (gui::exit)
Expand All @@ -91,12 +92,12 @@ INT APIENTRY WinMain(HINSTANCE instance, HINSTANCE, PSTR, INT cmd_show)
gui::EndRender();
continue;
}

// 处理外挂业务逻辑: 获取相关数据的地址
localPlayer.pawnAddress = mem.Read<uintptr_t>(client + offsets::client_dll::dwLocalPlayerPawn);
localPlayer.origin = mem.Read<Vector3>(localPlayer.pawnAddress + schemas::client_dll::C_BasePlayerPawn::m_vOldOrigin);
localPlayer.viewOffset = mem.Read<Vector3>(localPlayer.pawnAddress + schemas::client_dll::C_BaseModelEntity::m_vecViewOffset);
localPlayer.team = mem.Read<int>(localPlayer.pawnAddress + schemas::client_dll::C_BaseEntity::m_iTeamNum);
localPlayer.entIndex = mem.Read<int>(localPlayer.pawnAddress + schemas::client_dll::C_CSPlayerPawnBase::m_iIDEntIndex);// 准星前的玩家id
localPlayer.fFlag = mem.Read<unsigned int>(localPlayer.pawnAddress + schemas::client_dll::C_BaseEntity::m_fFlags);// 玩家的fFlag
localPlayer.flashDuration = mem.Read<float>(localPlayer.pawnAddress + schemas::client_dll::C_CSPlayerPawnBase::m_flFlashBangTime);//玩家遭受闪光的时间
localPlayer.velocity = mem.Read<Vector3>(localPlayer.pawnAddress + schemas::client_dll::C_BaseEntity::m_vecAbsVelocity);// 玩家移动速度
Expand All @@ -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<uintptr_t>(enity_list + (8 * (playerIndex & 0x7FFF) >> 9) + 16);// 16==0x10
const auto list_entry = mem.Read<uintptr_t>(enity_list + (0x8 * (playerIndex & 0x7FFF) >> 9) + 0x10);
if (!list_entry) continue;

// 获取currentController
const auto currentController = mem.Read<uintptr_t>(list_entry + 120 * (playerIndex & 0x1FF));// 120==0x78
const auto currentController = mem.Read<uintptr_t>(list_entry + 120 * (playerIndex & 0x1FF));
if (!currentController) continue;

// 通过currentController获取pawnHandle
Expand Down Expand Up @@ -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)
{
Expand All @@ -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)
{
Expand All @@ -331,13 +334,30 @@ INT APIENTRY WinMain(HINSTANCE instance, HINSTANCE, PSTR, INT cmd_show)
mem.Write<Vector3>(client + offsets::client_dll::dwViewAngles, newAnglesVec3);
}

// 开枪
// 自动开枪 - 查找准星瞄准的敌人数据
// 枪口准星前的玩家实体index
localPlayer.entIndex = mem.Read<int>(localPlayer.pawnAddress + schemas::client_dll::C_CSPlayerPawnBase::m_iIDEntIndex);
if (gui::enableAutoAttack && localPlayer.entIndex > 0)
{
mem.Write<int>(client + buttons::attack, PLUS_ATTACK);
std::this_thread::sleep_for(std::chrono::milliseconds(2));
mem.Write<int>(client + buttons::attack, MINUS_ATTACK);
std::this_thread::sleep_for(std::chrono::milliseconds(2));
const auto list_entry = mem.Read<uintptr_t>(enity_list + 0x8 * (localPlayer.entIndex >> 9) + 0x10);
const auto entity = mem.Read<uintptr_t>(list_entry + 120 * (localPlayer.entIndex & 0x1FF));
const auto enemyTeam = mem.Read<int>(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<int>(client + buttons::attack, PLUS_ATTACK);
std::this_thread::sleep_for(std::chrono::milliseconds(2));
mem.Write<int>(client + buttons::attack, MINUS_ATTACK);
std::this_thread::sleep_for(std::chrono::milliseconds(1));
}
}
}

Expand All @@ -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<Vector3>(localPlayer.pawnAddress + schemas::client_dll::C_BaseEntity::m_vecAbsVelocity);
Expand All @@ -371,7 +391,7 @@ INT APIENTRY WinMain(HINSTANCE instance, HINSTANCE, PSTR, INT cmd_show)
mem.Write<int>(client + buttons::attack, PLUS_ATTACK);
std::this_thread::sleep_for(std::chrono::milliseconds(1));
mem.Write<int>(client + buttons::attack, MINUS_ATTACK);
}
}*/

// fov视野角度(相机Service)
auto desiredFov = static_cast<unsigned int>(gui::fov);
Expand All @@ -390,30 +410,25 @@ INT APIENTRY WinMain(HINSTANCE instance, HINSTANCE, PSTR, INT cmd_show)
if (gui::enableRcs)
{
const auto shotsFired = mem.Read<int32_t>(localPlayer.pawnAddress + schemas::client_dll::C_CSPlayerPawn::m_iShotsFired);// 开枪次数
auto sensPointer = mem.Read<uintptr_t>(client + offsets::client_dll::dwSensitivity);
auto sensitivity = mem.Read<float>(sensPointer + offsets::client_dll::dwSensitivity_sensitivity);
auto aimPunchCache = mem.Read<C_UTL_VECTOR>(localPlayer.pawnAddress + schemas::client_dll::C_CSPlayerPawn::m_aimPunchCache);
if (aimPunchCache.data && aimPunchCache.count > 0 && aimPunchCache.count < 0xFFFF)
{
localPlayer.aimPunch = mem.Read<Vector3>(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<Vector3>(localPlayer.pawnAddress + schemas::client_dll::C_CSPlayerPawn::m_aimPunchAngle);
Vector3 viewAngles = mem.Read<Vector3>(client + offsets::client_dll::dwViewAngles);
Vector3 delta = viewAngles - (viewAngles + (oldPunch - (localPlayer.aimPunch * 2.0f)));
auto sensPointer = mem.Read<uintptr_t>(client + offsets::client_dll::dwSensitivity);
auto sensitivity = mem.Read<float>(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;
}
}

Expand Down
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# CS2 Cheat - C++

> Latest Update:2024.04.28 16:46
> Latest Update:2024.04.29 21:56
![esp](./esp.png)

Expand All @@ -10,7 +10,6 @@
- 骨骼透视
- 自瞄锁头
- 枪后座力补偿
- 跳越射击
- 连跳
- 防闪光弹
- 地图扫描敌人雷达
Expand Down
Binary file modified build/CS2CheatCpp.pdb
Binary file not shown.
Binary file modified build/intermediates/CS2CheatCpp.iobj
Binary file not shown.
Binary file modified build/intermediates/CS2CheatCpp.ipdb
Binary file not shown.
46 changes: 25 additions & 21 deletions build/intermediates/CS2CheatCpp.log
Original file line number Diff line number Diff line change
Expand Up @@ -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
已完成代码的生成
Expand Down
Binary file modified build/intermediates/vc143.pdb
Binary file not shown.

0 comments on commit fafacad

Please sign in to comment.