Пользователь
- Статус
- Оффлайн
- Регистрация
- 24 Июл 2018
- Сообщения
- 721
- Реакции
- 78
Код:
Ничего не отрисовывается в консоль, хелп!!!!
C++:
#include <iostream>
#include "memoryProcess.h"
using namespace std;
memory mem;
processModule bClient;
#define oLocalPlayer 0x00AA9A84
#define oHealth 0xFC
#define oTeamNum 0xF0
int main()
{
while (mem.Attach("csgo.exe", PROCESS_ALL_ACCESS)) { }
bClient = mem.GetModule("client.dll");
while (1)
{
system("cls");
DWORD playerLocal = mem.Read<DWORD>(bClient.dwBase + oLocalPlayer);
DWORD playerLocalTeam = mem.Read<DWORD>(playerLocal + oTeamNum);
DWORD playerLocalHealth = mem.Read<DWORD>(playerLocal + oHealth);
printf("Local base: 0x%X\n", playerLocal);
printf("Team: %d\n", playerLocalTeam);
printf("HP: %d\n", playerLocalHealth);
system("pause>nul");
}
return false;
}
C++:
#pragma once
#include <Windows.h>
#include <TlHelp32.h>
#include <comdef.h>
struct processModule
{
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))
{
_processID = entry.th32ProcessID;
CloseHandle(handle);
_process = OpenProcess(dwAccess, false, _processID);
return true;
}
while (Process32Next(handle, &entry));
return false;
}
inline processModule GetModule(const char* pModule)
{
HANDLE module = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, _processID);
MODULEENTRY32 entry;
entry.dwSize = sizeof(entry);
do
if (!strcmp(_bstr_t(entry.szModule), pModule))
{
CloseHandle(module);
return processModule{ reinterpret_cast<DWORD>(entry.hModule), entry.modBaseSize };
}
while (Module32Next(module, &entry));
return processModule{ 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 _processID;
};