diff --git a/CFramework/Cheat/Features.cpp b/CFramework/Cheat/Features.cpp index f5ee5c8..738d938 100644 --- a/CFramework/Cheat/Features.cpp +++ b/CFramework/Cheat/Features.cpp @@ -1,28 +1,7 @@ #include "Framework.h" -void CFramework::MiscAll() -{ - // BasePointer - uintptr_t Physics = m.Read(local.m_address + offset::Player::pPhysics); - - uintptr_t BreathEffector = m.Read(local.m_pWeaponAnimation + offset::WeaponAnimations::Breath); - - uintptr_t Stamina = m.Read(Physics + offset::Physics::Stamina); - - // No Recoil/Sway - if (g.g_NoSway) { - m.Write(local.m_pWeaponAnimation + 0x140, 1); // Mask? - m.Write(BreathEffector + 0xa4, 0.001f); - } - - // InfStamina - if (g.g_InfStamina && m.Read(Stamina + 0x48) < 85.f) - m.Write(Stamina + 0x48, 100.f); - - // NoFall Damage - if (g.g_NoFallDmg && m.Read(Physics + offset::Physics::FallDamageMultiplier) != 0.f) - m.Write(Physics + offset::Physics::FallDamageMultiplier, 0.f); -} +// 内存修改类功能 (NoSway/InfStamina/NoFallDmg) 已移除: +// 它们依赖 IL2CPP 版偏移, 在 EXFIL DELTA (Mono 0.16.9) 上偏移不兼容, 会乱写内存。 void CFramework::GetESPInfo(const int& SpawnType, std::string& vOutStr, ImColor& vOutColor) { diff --git a/CFramework/Cheat/Framework.h b/CFramework/Cheat/Framework.h index 954264b..948b01b 100644 --- a/CFramework/Cheat/Framework.h +++ b/CFramework/Cheat/Framework.h @@ -20,8 +20,7 @@ public: void UpdateStaticList(); void RenderInfo(); void RenderMenu(); - void RenderESP(); - void MiscAll(); + void RenderESP(); void AimAll(); private: CGame* tarkov = new CGame(); diff --git a/CFramework/Cheat/Menu.cpp b/CFramework/Cheat/Menu.cpp index 81547d8..fa3b154 100644 --- a/CFramework/Cheat/Menu.cpp +++ b/CFramework/Cheat/Menu.cpp @@ -119,9 +119,8 @@ void CFramework::RenderMenu() ImGui::Separator(); ImGui::Spacing(); - ImGui::Checkbox("无摆动", &g.g_NoSway); - ImGui::Checkbox("无限耐力", &g.g_InfStamina); - ImGui::Checkbox("无掉落伤害", &g.g_NoFallDmg); + ImGui::TextDisabled("内存修改类功能已移除"); + ImGui::TextDisabled("(Mono 版偏移不兼容, 防止乱写内存)"); ImGui::EndChild(); ImGui::BeginChild("##C021", ImVec2(ImGui::GetContentRegionAvail()), true); @@ -234,11 +233,11 @@ void CFramework::RenderMenu() ImGui::InputInt("MC", &g.g_AimMcOffset, 8, 8, ImGuiInputTextFlags_CharsHexadecimal); ImGui::InputInt("旋转", &g.g_AimRotOffset, 4, 4, ImGuiInputTextFlags_CharsHexadecimal); - // 误改输入框会直接导致 Memory 模式失效, 一键恢复默认 - if (ImGui::Button("重置偏移 (0x170/0x2C0)", ImVec2(ImGui::GetContentRegionAvail().x, 0.f))) + // 误改输入框会直接导致 Memory 模式失效, 一键恢复本客户端实测默认值 + if (ImGui::Button("重置偏移 (0x1E0/0x3A4)", ImVec2(ImGui::GetContentRegionAvail().x, 0.f))) { - g.g_AimMcOffset = 0x170; - g.g_AimRotOffset = 0x2C0; + g.g_AimMcOffset = 0x1E0; + g.g_AimRotOffset = 0x3A4; } if (ImGui::Button("扫描旋转偏移(两步)", ImVec2(ImGui::GetContentRegionAvail().x, 0.f))) diff --git a/CFramework/Cheat/SDK/GameSDK/Offset.h b/CFramework/Cheat/SDK/GameSDK/Offset.h index 6c84c49..f9087b8 100644 --- a/CFramework/Cheat/SDK/GameSDK/Offset.h +++ b/CFramework/Cheat/SDK/GameSDK/Offset.h @@ -18,8 +18,8 @@ namespace offset namespace Player { constexpr auto pPlayerBody = 0xC0; - constexpr auto pMovementContext = 0x170; - constexpr auto pWeaponAnimation = 0x1E0; + constexpr auto pMovementContext = 0x1E0; // EXFIL DELTA (Mono 0.16.9) 实测. IL2CPP 0.15.x 是 0x170 + constexpr auto pWeaponAnimation = 0x1E0; // IL2CPP 版定义, Mono 版实际是 MovementContext (框架旧代码保留) constexpr auto pProfile = 0x600; constexpr auto pPhysics = 0x610; constexpr auto pHealthController = 0x640; @@ -29,8 +29,8 @@ namespace offset namespace MovementContext { // Vector2 (x = yaw, y = pitch) [rad] - // SPT 3.11.x (EFT 0.15.x) の既定値。ズレていたらメニューの [回転デバッグ] で確認して調整する事。 - constexpr auto Rotation = 0x2C0; + // EXFIL DELTA (Mono 0.16.9) 实测: +0x3A4. IL2CPP 0.15.x 是 0x2C0 + constexpr auto Rotation = 0x3A4; } // EFT.Profile diff --git a/CFramework/Framework/Config/Config.h b/CFramework/Framework/Config/Config.h index c21d703..58b2ec4 100644 --- a/CFramework/Framework/Config/Config.h +++ b/CFramework/Framework/Config/Config.h @@ -29,10 +29,7 @@ struct Globals float g_ESP_MaxDistance = 500.f; float g_ESP_MaxItemDistance = 50.f; - // Misc - bool g_NoSway = false; - bool g_InfStamina = true; - bool g_NoFallDmg = true; + // Misc (内存修改类功能已移除: Mono 版偏移不兼容, 防止乱写内存) // Aim (自瞄) bool g_Aim = false; @@ -55,11 +52,12 @@ struct Globals float g_RecoilStrength = 4.f; // 每次下拉的鼠标单位(mickeys) int g_RecoilInterval = 15; // 下拉间隔 [ms] - // Aim Offset (运行时可调, 默认 = Offset.h 的值) + // Aim Offset (运行时可调, 默认 = 本客户端实测值) // Memory 模式自瞄用: Player + g_AimMcOffset -> + g_AimRotOffset (Vector2 yaw/pitch) - // 内置扫描器 [Scan Rotation] 找到后会直接写到这里, 再复制进 Offset.h 固化 - int g_AimMcOffset = 0x170; - int g_AimRotOffset = 0x2C0; + // EXFIL DELTA (Mono 0.16.9) 实测: Player+0x1E0 = MovementContext, +0x3A4 = Rotation + // 内置扫描器 [扫描旋转偏移] 找到后会直接写到这里 + int g_AimMcOffset = 0x1E0; + int g_AimRotOffset = 0x3A4; // System bool g_StreamProof = false; diff --git a/CFramework/main.cpp b/CFramework/main.cpp index 4d2c9b9..c3b2bab 100644 --- a/CFramework/main.cpp +++ b/CFramework/main.cpp @@ -17,8 +17,6 @@ auto cheat = std::make_unique(); void Overlay::OverlayUserFunction() { - cheat->MiscAll(); - cheat->RenderInfo(); if (g.g_ESP) @@ -59,13 +57,12 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine // Load Font io.Fonts->AddFontFromMemoryCompressedTTF(RobotoRegular_compressed_data, RobotoRegular_compressed_size, 13.f, nullptr); - // 中文字体 fallback (微软雅黑, 菜单中文化用) - static const ImWchar cjk_ranges[] = { 0x4E00, 0x9FFF, 0 }; + // 中文字体 fallback (微软雅黑, 全量 CJK 字库, 菜单中文化用) if (GetFileAttributesA("C:\\Windows\\Fonts\\msyh.ttc") != INVALID_FILE_ATTRIBUTES) { ImFontConfig cjk_config; cjk_config.MergeMode = true; - io.Fonts->AddFontFromFileTTF("C:\\Windows\\Fonts\\msyh.ttc", 13.f, &cjk_config, io.Fonts->GetGlyphRangesChineseSimplifiedCommon()); + io.Fonts->AddFontFromFileTTF("C:\\Windows\\Fonts\\msyh.ttc", 13.f, &cjk_config, io.Fonts->GetGlyphRangesChineseFull()); } // Load Icon @@ -81,7 +78,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine ImFontConfig cjk_icon_config; cjk_icon_config.MergeMode = true; cjk_icon_config.GlyphOffset.y = 2.f; - io.Fonts->AddFontFromFileTTF("C:\\Windows\\Fonts\\msyh.ttc", 16.f, &cjk_icon_config, io.Fonts->GetGlyphRangesChineseSimplifiedCommon()); + io.Fonts->AddFontFromFileTTF("C:\\Windows\\Fonts\\msyh.ttc", 16.f, &cjk_icon_config, io.Fonts->GetGlyphRangesChineseFull()); } io.Fonts->Build();