Хто я?
-
Автор темы
- #1
Всем привет, помогите плез.
Делал все как в
Но ничего не получается.
Я обновил оффсеты. После компиляции и захода в кс появляется это:
Что я сделал не правильно?
Сурсы:
Делал все как в
Пожалуйста, авторизуйтесь для просмотра ссылки.
Я обновил оффсеты. После компиляции и захода в кс появляется это:
Что я сделал не правильно?
Сурсы:
Код:
#pragma once
#define dwLocalPlayer 0xCCA6A4
#define dwEntityList 0x4CDB00C
#define m_iTeamNum 0xF4
#define m_iHealth 0x100
#define m_iCrosshairId 0xB394
Код:
#pragma once
#include <Windows.h>
#include <TlHelp32.h>
#include <comdef.h>
struct PModule
{
DWORD dwBase;
DWORD dwSize;
};
class memory
{
public:
inline bool Attach(const char* pName, DWORD dwAccess)
{
HANDLE handle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
PROCESSENTRY32 entry;
entry.dwSize = sizeof(entry);
do
if (!strcmp(_bstr_t(entry.szExeFile), pName))
{
_pId = entry.th32ProcessID;
CloseHandle(handle);
_process = OpenProcess(dwAccess, false, _pId);
return true;
}
while (Process32Next(handle, &entry));
return false;
}
inline PModule GetModule(const char* pModule)
{
HANDLE module = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, _pId);
MODULEENTRY32 entry;
entry.dwSize = sizeof(entry);
do
if (!strcmp(_bstr_t(entry.szModule), pModule))
{
CloseHandle(module);
return PModule{ reinterpret_cast<DWORD>(entry.hModule), entry.modBaseSize };
}
while (Module32Next(module, &entry));
return PModule{ 0, 0 };
}
template <class T>
T Read(const DWORD dwAdress)
{
T _read;
ReadProcessMemory(_process, LPVOID(dwAdress), &_read, sizeof(T), NULL);
return _read;
}
template <class T>
void Write(const DWORD dwAdress, const T value)
{
WriteProcessMemory(_process, LPVOID(dwAdress), &value, sizeof(T), NULL);
}
void Exit()
{
CloseHandle(_process);
}
private:
HANDLE _process;
DWORD _pId;
};
Код:
#include "pch.h"
#include <iostream>
#include "Memory.h"
#include "Offsets.h"
using namespace std;
memory mem;
PModule bClient;
int main()
{
system("title TEST");
while(!mem.Attach("csgo.exe", PROCESS_ALL_ACCESS)) {}
bClient = mem.GetModule("client.dll");
while (1)
{
system("cls");
DWORD pLocal = mem.Read<DWORD>(bClient.dwBase + dwLocalPlayer);
DWORD lHealth = mem.Read<DWORD>(pLocal + m_iHealth);
printf("My Health: %d\n", lHealth);
system("pause>nul");
}
return 0;
}