Основа сурса

Хто я?
Начинающий
Статус
Оффлайн
Регистрация
28 Дек 2018
Сообщения
51
Реакции[?]
5
Поинты[?]
0
Всем привет, помогите плез.
Делал все как в
Пожалуйста, авторизуйтесь для просмотра ссылки.
Но ничего не получается.
Я обновил оффсеты. После компиляции и захода в кс появляется это:
csgo_lLYUyMyLcR.png
Что я сделал не правильно?
Сурсы:

Код:
#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;
}
 
Хто я?
Начинающий
Статус
Оффлайн
Регистрация
28 Дек 2018
Сообщения
51
Реакции[?]
5
Поинты[?]
0
bClient = mem.GetModule("client.dll"); подсказка
А можно сразу сказать?:sweatsmile: Я и client_panorama.dll пробовал, все равно не получается
UPD: Лол, попробовал еще раз и все получилось, шо за магия
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
7 Фев 2019
Сообщения
7
Реакции[?]
4
Поинты[?]
0
C++:
int processID = getProcess("csgo.exe");
uintptr_t clientModule = getModule(processID, "client_panorama.dll");

uintptr_t dwEntityList = 0x4CDB00C;
uintptr_t m_iHealth = 0x100;

uintptr_t entity = rpm(clientModule + dwEntityList + entityIndex * 0x10);
int health = rpm(entity + m_iHealth);
 
Сверху Снизу