Гайд RadarHack для CS:GO 2019!

Нужнен гайд по Тригерботу/Аимботу ?

  • Да

    Голосов: 50 79.4%
  • Нет

    Голосов: 13 20.6%

  • Всего проголосовало
    63
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
19 Янв 2019
Сообщения
6
Реакции
4
Привет работягям еще раз, это мой второй гайд на тему "Создание читов CS:GO".
В первой части я разбирал, как же все таки сделать простое wh(glow esp) на CS:GO, сегодня же мы будем делать RadarHack!
Для начала, хочу дать вам ссылку на 1 часть, так как от туда нам понадобится заголовочный файл(Memory.h). https://yougame.biz/threads/72499/
Итак, что же нам нужно?
1) Visual Studio
2) Базовые знания с++ (Если их нет, то советую просто копипастить).
Давайте начнем!
1. Создаем пустой проект в Visual Studio.
2. Создаем заголовочный файл Memory.h(Я просто скину код, а его разбор был в предыдущем уроке)
3. Пишем туда код:
C++:
Expand Collapse Copy
#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 dwAddress) {
        T _read;
        ReadProcessMemory(_process, LPVOID(dwAddress), &_read, sizeof(T), NULL);
        return _read;
    }
    template<class T>
    void Write(const DWORD dwAddress, const T value) {
        WriteProcessMemory(_process, LPVOID(dwAddress), &value, sizeof(T), NULL);
    }

    void Exit() {
        CloseHandle(_process);
    }
private:
    HANDLE _process;
    DWORD _pId;
};
4. Создаем основной файл radarhack.cpp
Мы подошли к основному, как же реализовать наш взлом радара?
Начнем писать код в radarhack.cpp! :
1. Подключаем библиотеку, наш файл и пространство имен std.
C++:
Expand Collapse Copy
#include <iostream>
#include "Memory.h"

using namespace std;
2. Добавляем в нашу программу адреса:
C++:
Expand Collapse Copy
#define dwLocalPlayer      0xCD2764
#define dwEntityList       0x4CE34FC

#define m_bSpotted         0x93D

#define m_iHealth          0x100
#define m_iTeamNum         0xF4

memory mem;
PModule bClient;
ПРОШУ ЗАМЕТИТЬ, У нас есть выбор между тем, где брать адреса в память.
1 - CS:GO Dumper
2 - GitHub
Я советую вам гитхаб, так как там ВСЕ нужные адреса для создания читов и + адреса очень часто обновляют.
Нооо, CS:GO Dumper все же нужно будет скачать, так как в нем мы будем смотреть dll игры.
3. Основной метод:
C++:
Expand Collapse Copy
int main() {
    while (!mem.Attach("csgo.exe", PROCESS_ALL_ACCESS)) {}
    bClient = mem.GetModule("client_panorama.dll");

    cout << "RadarHack is Started ! :)" << endl;

    while (1) {

        DWORD pLocal = mem.Read<DWORD>(bClient.dwBase + dwLocalPlayer);
        DWORD localHp = mem.Read<DWORD>(pLocal + m_iHealth);
        if (!localHp)
            continue;

        DWORD localTeam = mem.Read<DWORD>(pLocal + m_iTeamNum);
        for (DWORD i = 0; i < 64; i++) {
            DWORD pEnt = mem.Read<DWORD>(bClient.dwBase + dwEntityList + (i - 1) * 0x10);
            DWORD entHp = mem.Read<DWORD>(pEnt + m_iHealth);
            if (!entHp)
                continue;

            DWORD entTeam = mem.Read<DWORD>(pEnt + m_iTeamNum);
            if (entTeam == localTeam)
                continue;

            BOOL entSpotted = mem.Read<DWORD>(pEnt + m_bSpotted);
            if (entSpotted)
                continue;

            mem.Write(pEnt + m_bSpotted, TRUE);
        }
    }
    return 0;
}
В строчках
C++:
Expand Collapse Copy
while (!mem.Attach("csgo.exe", PROCESS_ALL_ACCESS)) {}
    bClient = mem.GetModule("client_panorama.dll");
Мы сначала передаем процесс, а потом dll игры
1552996313644.png

Да и вот что, dll игры изменила название с "client.dll" на "client_panorama.dll" после выпуска панорамы.
Далее в цикле мы проверяем и оптимизируем наш чит, в коде
C++:
Expand Collapse Copy
DWORD pLocal = mem.Read<DWORD>(bClient.dwBase + dwLocalPlayer);
        DWORD localHp = mem.Read<DWORD>(pLocal + m_iHealth);
        if (!localHp)
            continue;
Мы даем положение игрока, а потом даем его hp.
И если хп нет (!localHp) ((! - не)) то он не будет отображатся на радаре (continue), в каком-то роде оптимизация.
Дальше в коде мы видим
C++:
Expand Collapse Copy
DWORD localTeam = mem.Read<DWORD>(pLocal + m_iTeamNum);
        for (DWORD i = 0; i < 64; i++) {
            DWORD pEnt = mem.Read<DWORD>(bClient.dwBase + dwEntityList + (i - 1) * 0x10);
            DWORD entHp = mem.Read<DWORD>(pEnt + m_iHealth);
            if (!entHp)
                continue;

            DWORD entTeam = mem.Read<DWORD>(pEnt + m_iTeamNum);
            if (entTeam == localTeam)
                continue;

            BOOL entSpotted = mem.Read<DWORD>(pEnt + m_bSpotted);
            if (entSpotted)
                continue;

            mem.Write(pEnt + m_bSpotted, TRUE);
        }
Здесь у нас дается команда, а так же главный цикл, который проходится по игрокам которые уже замечены твоими тиммейтами(уже на радаре) и тех кого нет.
Так же видим здесь, если игрок уже обнаружен, то радархак его не отображает, т к он уже на радаре, так же что-то типо оптимизации.
И главное, мы видим i < 64. Что это? А это максимальное кол-во игроков на сервере. То есть программа проверяет всех 64х игроков.
Итак, давайте же запустим наш чит.
1552997245675.png

Ура! Все работает, всем спасибо за внимание!!!
Для ленивых вот код полностью:
Memory.h
C++:
Expand Collapse Copy
#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 dwAddress) {
        T _read;
        ReadProcessMemory(_process, LPVOID(dwAddress), &_read, sizeof(T), NULL);
        return _read;
    }
    template<class T>
    void Write(const DWORD dwAddress, const T value) {
        WriteProcessMemory(_process, LPVOID(dwAddress), &value, sizeof(T), NULL);
    }

    void Exit() {
        CloseHandle(_process);
    }
private:
    HANDLE _process;
    DWORD _pId;
};
radarhack.cpp
C++:
Expand Collapse Copy
#include <iostream>
#include "Memory.h"

using namespace std;

#define dwLocalPlayer      0xCD2764
#define dwEntityList       0x4CE34FC

#define m_bSpotted         0x93D

#define m_iHealth          0x100
#define m_iTeamNum         0xF4

memory mem;
PModule bClient;

int main() {
    while (!mem.Attach("csgo.exe", PROCESS_ALL_ACCESS)) {}
    bClient = mem.GetModule("client_panorama.dll");

    cout << "RadarHack is Started ! :)" << endl;

    while (1) {

        DWORD pLocal = mem.Read<DWORD>(bClient.dwBase + dwLocalPlayer);
        DWORD localHp = mem.Read<DWORD>(pLocal + m_iHealth);
        if (!localHp)
            continue;

        DWORD localTeam = mem.Read<DWORD>(pLocal + m_iTeamNum);
        for (DWORD i = 0; i < 64; i++) {
            DWORD pEnt = mem.Read<DWORD>(bClient.dwBase + dwEntityList + (i - 1) * 0x10);
            DWORD entHp = mem.Read<DWORD>(pEnt + m_iHealth);
            if (!entHp)
                continue;

            DWORD entTeam = mem.Read<DWORD>(pEnt + m_iTeamNum);
            if (entTeam == localTeam)
                continue;

            BOOL entSpotted = mem.Read<DWORD>(pEnt + m_bSpotted);
            if (entSpotted)
                continue;

            mem.Write(pEnt + m_bSpotted, TRUE);
        }
    }
    return 0;
}
Для еще более ленивых, вот сурс на чит и вт
Y.Disk -
Пожалуйста, авторизуйтесь для просмотра ссылки.

VT -
Пожалуйста, авторизуйтесь для просмотра ссылки.
(2/69)
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Молодец, давай теперь аим.
 
Прикольно, правда мне кажется , что в пустую ты свой дар тратишь. Мог бы чит сделать нормальный и продавать , а так ты просто даёшь школьничкам бесплатные коды от читов. А потом при поиске в гугле "CS:GO" Будет высвечиваться реклама ебаных радар хаков , валл хаков, аимов без фова и смуча. Ну а так гайд норм. Как говорится :"С меня лайк"
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Прикольно, правда мне кажется , что в пустую ты свой дар тратишь. Мог бы чит сделать нормальный и продавать , а так ты просто даёшь школьничкам бесплатные коды от читов. А потом при поиске в гугле "CS:GO" Будет высвечиваться реклама ебаных радар хаков , валл хаков, аимов без фова и смуча. Ну а так гайд норм. Как говорится :"С меня лайк"
Код я так думаю что простой. Не думаю что надо по отдельности продавать. Смысл ненавидеть школьников если ты им был или щас им являешься.
 
Код я так думаю что простой. Не думаю что надо по отдельности продавать. Смысл ненавидеть школьников если ты им был или щас им являешься.
Кхм, я их не ненавижу (Мало того, что я их не ненавижу, я им и являюсь), но просто бесит когда школники (в основном) не хотят в этом хоть чуть разбираться, а просто заходят на тему и качают.
 
что первая тема, что вторая тема - полная паста с видосов шокбайта, кидай уже лучше народу ссылку на видос, он хоть объясняет что к чему:FailFish:
Так ты только учишь пастить, причем ладно бы это твой код был, так ты еще и сам его спастил фейспалм x2
Какой нахуй дар вы о чем тут, дар гуглить? Ну да збс, мало кто таким обладает в наше время....
(не реклама)
 
Последнее редактирование:
что первая тема, что вторая тема - полная паста с видосов шокбайта, кидай уже лучше народу ссылку на видос, он хоть объясняет что к чему:FailFish:
Так ты только учишь пастить, причем ладно бы это твой код был, так ты еще и сам его спастил фейспалм x2

(не реклама)
Кстати я это тоже заметил
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Кхм, я их не ненавижу (Мало того, что я их не ненавижу, я им и являюсь), но просто бесит когда школники (в основном) не хотят в этом хоть чуть разбираться, а просто заходят на тему и качают.
От части согласен. Таких довольно много.
 
что первая тема, что вторая тема - полная паста с видосов шокбайта, кидай уже лучше народу ссылку на видос, он хоть объясняет что к чему:FailFish:
Так ты только учишь пастить, причем ладно бы это твой код был, так ты еще и сам его спастил фейспалм x2
Какой нахуй дар вы о чем тут, дар гуглить? Ну да збс, мало кто таким обладает в наше время....
(не реклама)
Лол, чекнул видос. Найс обьясняет, просто код)). Во первых - там старая версия кс го(не панорама), во вторых - код похож, но не идентичен. Как можно писать радарках по разному?
 
Лол, чекнул видос. Найс обьясняет, просто код)). Во первых - там старая версия кс го(не панорама), во вторых - код похож, но не идентичен. Как можно писать радарках по разному?
ну да действительно, "Как можно писать радарках по разному?", "код похож". Смеф тоже не индиго, просто код похож, как можно по разному читы писать?:CoolStoryBob:
заменить client.dll на client_panorama.dll вроде любой пастер может:LUL:
 
ну да действительно, "Как можно писать радарках по разному?", "код похож". Смеф тоже не индиго, просто код похож, как можно по разному читы писать?:CoolStoryBob:
заменить client.dll на client_panorama.dll вроде любой пастер может:LUL:
Если для тебя радархак = индиго, то смысл что-то писать?
 
Шо цэ токiе? В каком порядке шо запускать? И почему при запуске пишет что система не обнаружила MSVCP14D.dll, VCRUTIME140D.dll and ucrtbased.dll
 
Шо цэ токiе? В каком порядке шо запускать? И почему при запуске пишет что система не обнаружила MSVCP14D.dll, VCRUTIME140D.dll and ucrtbased.dll
У тебя не установлен распространяемый пакет Visual Studio. По моему 140 это
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
А может вак спалить?
 
C++:
Expand Collapse Copy
int main() {
    m3m.Process((char*)"csgo.exe");
    DWORD Client = m3m.Module((LPSTR)"client_panorama.dll");
    pLocal = m3m.Read<DWORD>(Client + BasePlayer);
    while (true) {
        int iFlags = m3m.Read<int>(pLocal + Flag);
        if (GetAsyncKeyState(VK_SPACE)) {
            if (iFlags == 257) {
                m3m.Write(Client + dwJump,5);
                Sleep(25);
            }
            else {
                m3m.Write(Client + dwJump, 4);
                Sleep(25);
            }
        }
    }
}
не хватает ещё бхопа на procm3m
 
Последнее редактирование:
C++:
Expand Collapse Copy
int main() {
    m3m.Process((char*)"csgo.exe");
    DWORD Client = m3m.Module((LPSTR)"client_panorama.dll");
    pLocal = m3m.Read<DWORD>(Client + BasePlayer);
    while (true) {
        int iFlags = m3m.Read<int>(pLocal + Flag);
        if (GetAsyncKeyState(VK_SPACE)) {
            if (iFlags == 257) {
                m3m.Write(Client + dwJump,5);
                Sleep(25);
            }
            else {
                m3m.Write(Client + dwJump, 4);
                Sleep(25);
            }
        }
    }
}
не хватает ещё бхопа на procm3m
Какой Бхоп, тут легитная сборка онли радар. Еще автовола сейчас скинешь....
 
Да мне было интересно а как это совместить с вх?
 
Это как так методом тыка ?
 
Назад
Сверху Снизу