- 49
- 3
🌟 Мой первый internal BunnyHop для CS2 🌟
Привет всем!
Решил поделиться своим первым internal читом для CS2 — простой BunnyHop.
Если знаешь, как его улучшить — пиши в комменты, буду рад услышать идеи и советы 🙂
🔧 Актуальные оффсеты:
- dwLocalPlayerPawn = 0x1874050
m_fFlags = 0x3EC - jump = 0x186CD60
⚠️ После обновлений CS2 могут слетать оффсеты — не забывай проверять и обновлять вручную.
Я постараюсь выкладывать актуальные, когда будет возможность.
💉 Рекомендованный инжектор:
- NinjaCS (последняя версия)
Включи функцию отключения VAC - Используй на свой страх и риск — есть шанс словить VAC бан
💻 Исходный код:
C++:
#include <Windows.h>
#include <cstdint>
#include <cstddef>
#include <thread>
#include <chrono>
#include <iostream>
namespace Offsets
{
constexpr std::ptrdiff_t dwLocalPlayerPawn = 0x1874050;
constexpr std::ptrdiff_t m_fFlags = 0x3EC;
constexpr std::ptrdiff_t jump = 0x186CD60;
constexpr int fl_ground = 65665;
constexpr int fl_ground2 = 65667;
}
uintptr_t GetClientModule()
{
return reinterpret_cast<uintptr_t>(GetModuleHandleA("client.dll"));
}
template <typename T>
T ReadMemory(uintptr_t address)
{
return *reinterpret_cast<T*>(address);
}
template <typename T>
void WriteMemory(uintptr_t address, T value)
{
*reinterpret_cast<T*>(address) = value;
}
void BunnyHop()
{
uintptr_t client = GetClientModule();
if (!client) {
std::cout << "Ошибка: client.dll не найден." << std::endl;
return;
}
while (true)
{
std::this_thread::sleep_for(std::chrono::milliseconds(1));
if (GetAsyncKeyState(VK_SPACE) & 0x8000)
{
uintptr_t localPlayer = ReadMemory<uintptr_t>(client + Offsets::dwLocalPlayerPawn);
if (!localPlayer) continue;
int flags = ReadMemory<int>(localPlayer + Offsets::m_fFlags);
if (flags == Offsets::fl_ground || flags == Offsets::fl_ground2)
{
std::this_thread::sleep_for(std::chrono::milliseconds(10));
WriteMemory<uint32_t>(client + Offsets::jump, 65537);
}
else
{
std::this_thread::sleep_for(std::chrono::milliseconds(10));
WriteMemory<uint32_t>(client + Offsets::jump, 256);
}
}
}
}
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
if (fdwReason == DLL_PROCESS_ATTACH)
{
DisableThreadLibraryCalls(hinstDLL);
CreateThread(nullptr, 0, (LPTHREAD_START_ROUTINE)BunnyHop, nullptr, 0, nullptr);
}
return TRUE;
}
📜 Инструкция:
1. Скачай DLL файл ниже
2. Скачай инджектор(я пользуюсь NinjaCS)
3. Выбери функцию отключение VAC в инджекторе
4. Инджекти DLLАктивация автоматическая
2. Скачай инджектор(я пользуюсь NinjaCS)
3. Выбери функцию отключение VAC в инджекторе
4. Инджекти DLLАктивация автоматическая
Вложения
Последнее редактирование: