Загрузка...

ГАЙД КАК СДЕЛАТЬ ВХ ДЛЯ CS:GO на ЯЗЫКЕ C++

Тема в разделе C/C++ создана пользователем maybearab 22 янв 2020. 19 864 просмотра

  1. maybearab
    maybearab Автор темы 22 янв 2020 45 12 янв 2019
    Всем ку,сегодня научу вас делать свой первый екстернал чит для кс го.Делать мы будем именно WallHack.Я постараюсь расписать все максимально понятно и по шагам, чтобы вы поняли как что работает.
    1. Создаем простой C++ проект в Visual Studio.
    2. Создаем файл main.cpp, здесь и будет весь наш код.
    3. Пишем в начало файла следующий код:
    Код

    #include <iostream>
    #include <Windows.h>
    #include <TlHelp32.h>
    #include <thread>

    Здесь мы настроили нужные нам библиотеки для работы кода.
    4.Теперь нам нужно сделать переменные с оффсетами:
    Код

    const DWORD dwLocalPlayer = 0xCBD6A4;
    const DWORD dwEntityList = 0x4CCDCBC;
    const DWORD m_iTeamNum = 0xF4;
    const DWORD m_iGlowIndex = 0xA3F8;
    const DWORD dwGlowObjectManager = 0x520DAE0;

    5. Сейчас мы определим переменные, с которыми мы будем работать на протяжении всего написания чита.
    Код

    HANDLE process; // непосредственно сам процесс CSGO
    DWORD clientBase; // это короче для работы с client_panorama.dll
    DWORD engineBase; // это короче для работы с engine.dll

    6.Начинаем писать собственно наш чит:
    Код

    bool wh = false;

    (bool) нам нужен для того что бы определить статус функций

    7. Ну теперь нам нужно сделать так что бы наш чит читал память
    Код

    DWORD getModuleBaseAddress(DWORD pid, const char* name)
    {
    HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pid);
    MODULEENTRY32 mEntry;
    mEntry.dwSize = sizeof(MODULEENTRY32);
    do
    {
    if (!strcmp(mEntry.szModule, name))
    {
    CloseHandle(snapshot);
    return (DWORD)mEntry.modBaseAddr;
    }
    } while (Module32Next(snapshot, &mEntry));
    }

    template <typename T>
    T readMem(DWORD address)
    {
    T buffer;
    ReadProcessMemory(process, (LPVOID)address, &buffer, sizeof(buffer), 0);
    return buffer;
    }

    template <typename T>
    void writeMem(DWORD address, T value)
    {
    WriteProcessMemory(process, (LPVOID)address, &value, sizeof(value), 0);
    }

    8. Теперь создадим входную точку,а то есть int main
    Код

    int main() {

    SetConsoleTitle("Top non-pasted shit 1337"); // устанавливаем заголовок нашей консоли

    std::cout << "Open CS:GO\n"; // выводим в консоль сообщение о том, что надо открыть ксго

    HWND hwnd;

    do {
    hwnd = FindWindowA(0, "Counter-Strike: Global Offensive"); // ищем ксго, если находим - выходим из цикла
    Sleep(50); // таймаут (чтобы не грузить процессор)
    } while (!hwnd);

    DWORD pid;
    GetWindowThreadProcessId(hwnd, &pid); // получаем id приложения
    process = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid); // заходим в кс го его id

    std::cout << "Csgo started, pid " << pid << ".\n"; // выводим сообщение о том, что ксго запущена

    do {
    clientBase = getModuleBaseAddress(pid, "client_panorama.dll"); // ищем клиент кс го
    Sleep(50);
    } while (!clientBase);

    do {
    engineBase = getModuleBaseAddress(pid, "engine.dll"); // ищем движок кс го
    Sleep(50);
    } while (!engineBase);

    }
    9. Теперь мы сделаем WallHack
    Код

    void wallhack()
    {
    while (true) // создаем бесконечный цикл
    {
    Sleep(10); // таймаут 10 мс, чтобы не грузить процессор под 100
    if (!wallhack && !readMem<DWORD>(readMem<DWORD>(clientBase + dwLocalPlayer) + 0xED)) // если вх выключено или не удается прочитать память - выходим из цикла
    continue;

    DWORD glowObj = readMem<DWORD>(clientBase + dwGlowObjectManager); // создаем объект glowObj из модельки игрока
    DWORD myTeam = readMem<DWORD>(readMem<DWORD>(clientBase + dwLocalPlayer) + m_iTeamNum); // создаем объект тиммейтов

    for (int x = 0; x < 32; x++) // сам вх
    {
    DWORD player = readMem<DWORD>(clientBase + dwEntityList + x * 0x10); // обычный игрок
    if (player == 0)
    continue;

    bool dormant = readMem<bool>(player + 0xED); // спектатор
    if (dormant)
    continue;

    DWORD team = readMem<DWORD>(player + m_iTeamNum); // тиммейт
    if (team != 2 && team != 3)
    continue;

    DWORD currentGlowIndex = readMem<DWORD>(player + m_iGlowIndex); // текущий индекс игрока

    if (team != myTeam) // если игрок не тиммейт
    {
    // делаем его обводку красным
    writeMem<float>(glowObj + currentGlowIndex * 0x38 + 0x4, 255); // red
    writeMem<float>(glowObj + currentGlowIndex * 0x38 + 0x8, 0); // green
    writeMem<float>(glowObj + currentGlowIndex * 0x38 + 0xC, 0); // blue
    writeMem<float>(glowObj + currentGlowIndex * 0x38 + 0x10, 255);
    writeMem<bool>(glowObj + currentGlowIndex * 0x38 + 0x24, true);
    writeMem<bool>(glowObj + currentGlowIndex * 0x38 + 0x25, false);
    }
    else // если игрок тиммейт
    {
    // делаем его обводку синим
    writeMem<float>(glowObj + currentGlowIndex * 0x38 + 0x4, 0); // red
    writeMem<float>(glowObj + currentGlowIndex * 0x38 + 0x8, 0); // green
    writeMem<float>(glowObj + currentGlowIndex * 0x38 + 0xC, 255); // blue
    writeMem<float>(glowObj + currentGlowIndex * 0x38 + 0x10, 255);
    writeMem<bool>(glowObj + currentGlowIndex * 0x38 + 0x24, true);
    writeMem<bool>(glowObj + currentGlowIndex * 0x38 + 0x25, false);
    }
    }
    }
    }

    10.Для того что бы вызывать наш метод нам нужно это:
    Код
    std::thread whThread(wallhack)
    После чего создаём цикл:
    Код

    while(true)
    {

    if (GetAsyncKeyState(VK_F9)) // если нажали f9
    {

    wh = !wh; // заменяем значение переменной на противоположное
    if (wh)
    std::cout("wh: on\n"); // если wallhack - true, то пишем, что вх включен
    else
    std::cout("wh: off\n"); // иначе пишем, что вх выключен

    Sleep(100); // таймаут, чтобы сбросить нагрузку

    }

    }

    Поздравляю вы написали свой первый чит!
    Если будут вопросы пишите в лс!
    Хотите научу делать ваcBunnyHop?
     
  2. allyxENJOYER
    allyxENJOYER 22 янв 2020 Заблокирован(а) 29 12 авг 2019

    --- Сообщение объединено с предыдущим 22 янв 2020
    maybearab, ток как сделатьб андетект)
     
  3. maybearab
    maybearab Автор темы 22 янв 2020 45 12 янв 2019
    Честно говоря не знаю но скоро всё расскажу allyxENJOYER,
     
    1. stas135
      maybearab, ДА КАК ЕГО включить?
    2. Kuskauu
      maybearab, скажи пожалуйста а как его включть или запустить?
    3. MansturGD
      Kuskauu, сделать инжектор
  4. Чисэ
    Чисэ 23 янв 2020 Заблокирован(а) 232 4 апр 2019
    нихуя не шарю, но лайк поставил.
     
  5. нищийпосути
    нищийпосути 23 янв 2020 а) 13 395 2 апр 2018
    крутой копипаст, старался наверное
     
  6. maybearab
    maybearab Автор темы 23 янв 2020 45 12 янв 2019
    нищийпосути, да потратил кучу времени на это
    --- Сообщение объединено с предыдущим 23 янв 2020
    Спасибо
    --- Сообщение объединено с предыдущим 23 янв 2020
    нищийпосути, обещаю что про бани хоп такого не будет
     
  7. Hess
    Hess 23 янв 2020 3743 29 янв 2017
    Полезно, всего то прочитать память :)
     
  8. maybearab
    maybearab Автор темы 23 янв 2020 45 12 янв 2019
    Hess, ну как то так
     
  9. maybearab
    maybearab Автор темы 23 янв 2020 45 12 янв 2019
    Лися_неактив209035, по крайне мере не должен
    --- Сообщение объединено с предыдущим 23 янв 2020
    Лися_неактив209035, детект будет только в том случае если он будет в базе Valve если я не ошибаюсь то это так работает.
     
    1. MyDoom
      maybearab, лол античит не тупой, ему все кто читает и пишет память не нравятся.
    2. zaGrey
      MyDoom, так зашифруй код лол
  10. Богатый
    Богатый 23 янв 2020 По уши в дерьме, но хотя бы есть чем его хлебать 15 058 6 авг 2019
    Какой маленький код однако)) да это жестко, хотя вопрос про детект не решен
     
  11. KaByH_Alive
    KaByH_Alive 23 янв 2020 Заблокирован(а) 126 1 дек 2019
    Знаешь почему твоя тема ничему не учит? Потому что ты учишь людей пасткодингу. Мол вот это крч оффсет, его сюда ставишь и всё, ты написал чит. Говори людям теорию, как найти оффсет, что делать если он обфусифицирован, как работает аим, как найти разницу в углах, что такое паттерны, динамичесий поиск оффсетов.
    --- Сообщение объединено с предыдущим 23 янв 2020
    В базе валв?:peka: External то? Он тупо читает и пишет память игры. Ничего более
     
  12. ketch_inactive2790559
    ketch_inactive2790559 23 янв 2020 Заблокирован(а) 80 21 ноя 2019
    ты думал если ты спиздишь баян, обновив оффсеты это будет круто?
     
  13. KaByH_Alive
    KaByH_Alive 23 янв 2020 Заблокирован(а) 126 1 дек 2019
    Зато друзьям во дворе скажет, что он пишет читы:dynyl
     
  14. ketch_inactive2790559
    ketch_inactive2790559 23 янв 2020 Заблокирован(а) 80 21 ноя 2019
    понимаю, а по факту, хуй что объяснил, учит пасте, и просто спиздил код из других мануалов, и это мне еще лень оффсеты чекать, не удивлюсь если они старые, тупо блять дебилы ради репы хуйню творят.
    --- Сообщение объединено с предыдущим 23 янв 2020
    • 2.4. Выпрашивание симпатий запрещено. Аналогично запрещены намёки на то, чтобы пользователь поставил симпатию (симпатия увеличивает шанс, ставите симпы - даю аккаунты и т.д.).
    даун блять
     
  15. renameduser_506463
    Есть парочка вопросов:
    1. Статья спизженная?
    2. Смысл статьи если ты ничего не объяснил, а просто загрузил код с минимальным количеством информации(надпись «теперь мы сделаем wallhack не помогает, ты не потрудился объяснить как это все работает)

    Статья на 6/10 максимум
     
  16. ketch_inactive2790559
    ketch_inactive2790559 23 янв 2020 Заблокирован(а) 80 21 ноя 2019
    1. Да
    2. У меня есть норм тема https://zelenka.guru/threads/1335831/
     
  17. maybearab
    maybearab Автор темы 23 янв 2020 45 12 янв 2019
    ketch_inactive2790559, посмотрел твой оффтопик реально годно!И по поводу копипаста,смотри на этом форуме этого не было,а всё что за пределами этого форума это не копипаст:)
    Конечно извиняюсь за это но в следующий раз сделаю всё понятно и расскажу о каждой команде,что и зачем она нужна.
    --- Сообщение объединено с предыдущим 23 янв 2020
    KaByH_Alive, понимаю следущий гайд сделаю более понятный и расскажу о до всём.
     
  18. KaByH_Alive
    KaByH_Alive 23 янв 2020 Заблокирован(а) 126 1 дек 2019
    Да, с югейма
     
  19. renameduser_506463
    То, что находится за пределами на форуме не копипаст? Желаю закончить тебе 1 класс без колов... Копипаст = скопированная тема откуда-либо, не имеет значения, была она на этом форуме или нет.
     
  20. Posedon_inactive540880
    --- Сообщение объединено с предыдущим 5 мар 2020
    И прекольно было бы ролик на Youtube без исходного кода. В слух преятний и проще осазновать
    --- Сообщение объединено с предыдущим 5 мар 2020
    Ругается на mEntry
     
Загрузка...
Top