Загрузка...

GUIDE HOW TO MAKE VX FOR CS:GO IN C++

Thread in C/C++ created by maybearab Jan 22, 2020. 19,858 views

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

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

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

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

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

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

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

    bool wh = false;

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

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

    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
    Code

    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
    Code

    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.Для того что бы вызывать наш метод нам нужно это:
    Code
    std::thread whThread(wallhack)
    После чего создаём цикл:
    Code

    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 Jan 22, 2020 Banned 29 Aug 12, 2019

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

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