• Я зарабатываю 100 000 RUB / месяц на этом сайте!

    А знаешь как? Я всего-лишь публикую (создаю темы), а админ мне платит. Трачу деньги на мороженое, робуксы и сервера в Minecraft. А ещё на паль из Китая. 

    Хочешь так же? Пиши и узнавай условия: https://t.me/alex_redact
    Реклама: https://t.me/yougame_official

Вопрос Как читать память? Internal

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
10 Ноя 2024
Сообщения
16
Реакции
2

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Контр-Страйк 2 на нашем форуме. У нас появились:

  • бесплатные читы для CS2 — любое использование на свой страх и риск;
  • маркетплейс CS2 — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, услуги по бусту, конфиги читов и прочее);
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация;
  • конфиги для читов КС2 — тут можно найти конфиги для читов CS 2 абсолютно бесплатно;
  • крякнутые читы — очередной кряк геймсенса от Абдулова появится именно в этом разделе.

Спасибо!

использую kiero hook, при попытке получить хп игроков выдает какие то странные значения (675, 1256, 32764).

вот как получаю
uintptr_t entityList = *(uintptr_t*)(BaseAddress + O::offsets::client_dll::dwEntityList);
if (entityList)
{
for (int i = 0; i < 64; i++)
{
uintptr_t listEntry = *(uintptr_t*)(entityList + 0x8 * ((i & 0x7FF) >> 9) + 16);
if (!listEntry) continue;

uintptr_t entity = *(uintptr_t*)(listEntry + 0x78 * (i & 0x1FF));
if (!entity) continue;

int health = *(int*)(entity + O::offsets::C_BaseEntity::m_iHealth);
ImGui::Text("Entity %d health: %d", i, health);
}
}

помогите пожалуйста, пишу чит первый раз.
 
Код:
Expand Collapse Copy
// @note mmr-x: for fix unk symbols

int m_health = std::clamp( m_player_pawn->m_health( ), 0, 100 );

if ( m_player_pawn->m_is_alive( ) )
    ImGui::TextColored( ImColor( 255, 0, 0 ), "%d", m_health );
else
    ImGui::TextColored( ImColor( 255, 136, 0 ), "DEAD" );
 
Код:
Expand Collapse Copy
// @note mmr-x: for fix unk symbols

int m_health = std::clamp( m_player_pawn->m_health( ), 0, 100 );

if ( m_player_pawn->m_is_alive( ) )
    ImGui::TextColored( ImColor( 255, 0, 0 ), "%d", m_health );
else
    ImGui::TextColored( ImColor( 255, 136, 0 ), "DEAD" );
пространство имен "std" не содержит члена "clamp"
 
использую kiero hook, при попытке получить хп игроков выдает какие то странные значения (675, 1256, 32764).

вот как получаю


помогите пожалуйста, пишу чит первый раз.
Валвы ент лист обновили, поэтому теперь ентити по другому надо гетать
Как именно не подскажу, иди реверси client.dll
пространство имен "std" не содержит члена "clamp"
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Валвы ент лист обновили, поэтому теперь ентити по другому надо гетать
Как именно не подскажу, иди реверси client.dll

Пожалуйста, авторизуйтесь для просмотра ссылки.
Странно, у меня есть esp на python, он работает на новой версии, хотя получает вроде бы также
 
Странно, у меня есть esp на python, он работает на новой версии, хотя получает вроде бы также
што такое iternal
1757500807572.png
 
 
ну так ыт долбаеб пиши правильно
 
использую kiero hook, при попытке получить хп игроков выдает какие то странные значения (675, 1256, 32764).

вот как получаю


помогите пожалуйста, пишу чит первый раз.
C++:
Expand Collapse Copy
for (int i = 0; i < 64; ++i) {
  const auto list_entry = mem.Read<std::uintptr_t>(entList + 0x10 + 0x8 * (i >> 9));
  if (!list_entry)
    continue;

  const auto controller = mem.Read<std::uintptr_t>(list_entry + 0x78 * (i & 0x1FF));
  if (!controller)
    continue;

  const auto pawn_handle = mem.Read<std::uintptr_t>(controller + cs2_dumper::schemas::client_dll::CCSPlayerController::m_hPlayerPawn);

  const auto pawn_list_entry = mem.Read<std::uintptr_t>(entList + 0x10 + 0x8 * static_cast<uintptr_t>((pawn_handle & 0x7FFF) >> 9));
  if (!pawn_list_entry)
    continue;

  auto pawn = mem.Read<std::uintptr_t>(pawn_list_entry + 0x78 * static_cast<uintptr_t>(pawn_handle & 0x1FF));
  if (!pawn || pawn == localPlayer)
    continue;

  C_CSPlayerPawn player;
  player.address = pawn;

  int entityHp123 = mem.Read<int>(pawn + cs2_dumper::schemas::client_dll::C_BaseEntity::m_iHealth);
}
Ты сразу к контроллеру пытаешься оффсет добавить, надо еще павн игрока получить
 
Последнее редактирование:
C++:
Expand Collapse Copy
for (int i = 0; i < 64; ++i) {
  const auto list_entry = mem.Read<std::uintptr_t>(entList + 0x10 + 0x8 * (i >> 9));
  if (!list_entry)
    continue;

  const auto controller = mem.Read<std::uintptr_t>(list_entry + 0x78 * (i & 0x1FF));
  if (!controller)
    continue;

  const auto pawn_handle = mem.Read<std::uintptr_t>(controller + cs2_dumper::schemas::client_dll::CCSPlayerController::m_hPlayerPawn);

  const auto pawn_list_entry = mem.Read<std::uintptr_t>(entList + 0x10 + 0x8 * static_cast<uintptr_t>((pawn_handle & 0x7FFF) >> 9));
  if (!pawn_list_entry)
    continue;

  auto pawn = mem.Read<std::uintptr_t>(pawn_list_entry + 0x78 * static_cast<uintptr_t>(pawn_handle & 0x1FF));
  if (!pawn || pawn == localPlayer)
    continue;

  C_CSPlayerPawn player;
  player.address = pawn;

  int entityHp123 = mem.Read<int>(pawn + cs2_dumper::schemas::client_dll::C_BaseEntity::m_iHealth);
}
Ты сразу к контроллеру пытаешься оффсет добавить, надо еще павн игрока получить
для mem надо библиотеку какую то или самому писать? к примеру что я написал:
#include "includes.h"
class Memory {
public:
template<typename T>
T Read(std::uintptr_t address) {
return *reinterpret_cast<T*>(address);
}

template<typename T>
void Write(std::uintptr_t address, T value) {
*reinterpret_cast<T*>(address) = value;
}
};

inline Memory mem;
и можешь пожалуйста подсказать что писать внутри класса C_CSPlayerPawn?
 
короче, написал как всегда говно код:
main.cpp
#include "includes.h"
#include "visual.h"
#include "memory.h"
extern LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);

Present oPresent;
HWND window = NULL;
WNDPROC oWndProc;
ID3D11Device* pDevice = NULL;
ID3D11DeviceContext* pContext = NULL;
ID3D11RenderTargetView* mainRenderTargetView;

void InitImGui()
{
ImGui::CreateContext();
ImGuiIO& io = ImGui::GetIO();
io.ConfigFlags = ImGuiConfigFlags_NoMouseCursorChange;
ImGui_ImplWin32_Init(window);
ImGui_ImplDX11_Init(pDevice, pContext);
}

LRESULT __stdcall WndProc(const HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {

if (true && ImGui_ImplWin32_WndProcHandler(hWnd, uMsg, wParam, lParam))
return true;

return CallWindowProc(oWndProc, hWnd, uMsg, wParam, lParam);
}

bool init = false;
bool isMenu = true;

bool ESP = false;
bool ThirdPerson = false;
float boxwidht = 0.5f;
int boxthickness = 2;

HRESULT __stdcall hkPresent(IDXGISwapChain* pSwapChain, UINT SyncInterval, UINT Flags)
{
if (!init)
{
if (SUCCEEDED(pSwapChain->GetDevice(__uuidof(ID3D11Device), (void**)& pDevice)))
{
pDevice->GetImmediateContext(&pContext);
DXGI_SWAP_CHAIN_DESC sd;
pSwapChain->GetDesc(&sd);
window = sd.OutputWindow;
ID3D11Texture2D* pBackBuffer;
pSwapChain->GetBuffer(0, __uuidof(ID3D11Texture2D), (LPVOID*)& pBackBuffer);
pDevice->CreateRenderTargetView(pBackBuffer, NULL, &mainRenderTargetView);
pBackBuffer->Release();
oWndProc = (WNDPROC)SetWindowLongPtr(window, GWLP_WNDPROC, (LONG_PTR)WndProc);
InitImGui();
init = true;
}

else
return oPresent(pSwapChain, SyncInterval, Flags);
}

if (GetAsyncKeyState(VK_INSERT) & 1)
isMenu = !isMenu;

ImGui_ImplDX11_NewFrame();
ImGui_ImplWin32_NewFrame();
ImGui::NewFrame();
DWORD BaseAddress = (DWORD)GetModuleHandleA("client.dll");
if (!BaseAddress)
MessageBoxA(0, "client.dll not found", "Error", 0);

ImGui::Begin("My Cheat");
ImGui::Checkbox("ESP", &ESP);
ImGui::Checkbox("Third Person", &ThirdPerson);\
ImGui::Text("BaseAddress: 0x%p", (void*)BaseAddress);
ImGui::Text("BaseAddress: %llu", BaseAddress); // для 64-битных
ImGui::Text("BaseAddress: %u", (unsigned int)BaseAddress); // для 32-битных

ImGui::End();
//-allow_third_party_software
if (ESP)
{
V::PlayerESP();
uintptr_t entList = *(uintptr_t*)(BaseAddress + O::offsets::client_dll::dwEntityList);
if (entList)
{
uintptr_t lplr = *(uintptr_t*)(BaseAddress + O::offsets::client_dll::dwViewAngles);
for (int i = 0; i < 64; ++i) {
const auto list_entry = mem.Read<uintptr_t>(entList + 0x10 + 0x8 * (i >> 9));
if (!list_entry)
continue;

const auto controller = mem.Read<uintptr_t>(list_entry + 0x78 * (i & 0x1FF));
if (!controller)
continue;

const auto pawn_handle = mem.Read<uintptr_t>(controller + O::offsets::CCSPlayerController::m_hPlayerPawn);

const auto pawn_list_entry = mem.Read<uintptr_t>(entList + 0x10 + 0x8 * static_cast<uintptr_t>((pawn_handle & 0x7FFF) >> 9));
if (!pawn_list_entry)
continue;

auto pawn = mem.Read<uintptr_t>(pawn_list_entry + 0x78 * static_cast<uintptr_t>(pawn_handle & 0x1FF));
if (!pawn || pawn == lplr)
continue;

C_CSPlayerPawn player;
player.address = pawn;

int entityHp123 = mem.Read<int>(pawn + O::offsets::C_BaseEntity::m_iHealth);
ImGui::Text("HP: %d", entityHp123);
}
}
}


if (ThirdPerson)
{
uintptr_t lplr = *(uintptr_t*)(BaseAddress + O::offsets::client_dll::dwViewAngles);
if (lplr && IsBadReadPtr((void*)lplr, sizeof(uintptr_t)) == 0) // проверка валидности
{
uintptr_t observerModeAddr = lplr + O::offsets::CPlayer_ObserverServices::m_iObserverMode;
if (!IsBadWritePtr((void*)observerModeAddr, sizeof(int)))
{
*(int*)observerModeAddr = 1;
}
}
}


ImGui::Render();

pContext->OMSetRenderTargets(1, &mainRenderTargetView, NULL);
ImGui_ImplDX11_RenderDrawData(ImGui::GetDrawData());
return oPresent(pSwapChain, SyncInterval, Flags);
}

DWORD WINAPI MainThread(LPVOID lpReserved)
{
bool init_hook = false;
do
{
if (kiero::init(kiero::RenderType::D3D11) == kiero::Status::Success)
{
kiero::bind(8, (void**)&oPresent, hkPresent);
init_hook = true;
}
} while (!init_hook);
return TRUE;
}

BOOL WINAPI DllMain(HMODULE hMod, DWORD dwReason, LPVOID lpReserved)
{
switch (dwReason)
{
case DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls(hMod);
CreateThread(nullptr, 0, MainThread, hMod, 0, nullptr);
break;
case DLL_PROCESS_DETACH:
kiero::shutdown();
break;
}
return TRUE;
}
и мой C_CSPlayerPawn.h
#pragma once
#include "includes.h"
struct C_CSPlayerPawn {
uintptr_t address;

int& m_iHealth() { return *reinterpret_cast<int*>(address + O::offsets::C_BaseEntity::m_iHealth); }
int& m_ArmorValue() { return *reinterpret_cast<int*>(address + O::offsets::C_CSPlayerPawn::m_ArmorValue); }
bool& m_bIsScoped() { return *reinterpret_cast<bool*>(address + O::offsets::C_CSPlayerPawn::m_bIsScoped); }
bool& m_bIsDefusing() { return *reinterpret_cast<bool*>(address + O::offsets::C_CSPlayerPawn::m_bIsDefusing); }
bool& m_bIsWalking() { return *reinterpret_cast<bool*>(address + O::offsets::C_CSPlayerPawn::m_bIsWalking); }
};
при включении esp вылетает
 
Назад
Сверху Снизу