Загрузка...

GUIDE HOW TO MAKE A BUNNY HOP for CS:GO in C++

Thread in C/C++ created by maybearab Jan 23, 2020. 6714 views

  1. maybearab
    maybearab Topic starter Jan 23, 2020 45 Jan 12, 2019
    Всем привет,я решил сделать гайд по написанию BHOP чита для нашей любимой игры CS:GO(помойки)
    Ну для начала нам нужно:
    1)Скачать Micrasoft Visual Studio 2019 (COMUNNITI) - https://visualstudio.microsoft.com/ru/vs/ (оф.сайт)
    2)После чего мы открываем Micrasoft Visual Studio и создаём проект на языке C++
    [IMG]
    3)Выбираем "Консольное приложение"
    После чего у вас будет такое окно
    [IMG]
    4)Тут вы вписываете название вашего проекта я напишу bhop1312
    После этого окна у вас откроется рабочая среда C++
    [IMG]
    5)После чего удаляем bhop1312.cpp (либо же другой файл это зависитт от названия проекта)
    После удаления создаём файл main.cpp в той же папке.
    [IMG]
    6)Там выбираем "Файл C++ .cpp"
    Потом в открытом окне начнём первые шаги к написанию читу:
    7)В начале мы впишем этот код:
    Code

    #include <iostream>
    #include <Windows.h>
    #include "processAttach.h"
    Только что мы настроили библиотеки для работы кода
    8)Вписываем эту часть кода что бы он за дышал.
    Code
    using namespace std;
    Ну и начинается самое интересное:
    Code

    #pragma region Offest

    DWORD Client;


    DWORD dwLocaclPlayer = 0x(тут впишите новые оффсеты,ифну по ним найдите в гугле думаю не проблема)
    DWORD FFlags = 0x100;

    #pragma endregion

    struct Player_t
    {
    DWORD LocalPlayer;
    int Flag;

    void Reading()
    Тут мы настроили Offset
    Команда DWORD - это ассемблер
    9)Пишем ту часть кода который будет читать память
    Code

    void Reading()
    {
    ReadProcessMemory(pGame, (DWORD*)(Client + dwLocalPlayer), &LocalPlayer, sizeof(DWORD), 0);
    ReadProcessMemory(pGame, (DWORD*)(LocalPlayer + FFlags), &Flag, sizeof(int), 0);
    }

    }playeR;

    Мне кажется тут даже объяснять не чего тут и так всё понятно.
    10)Создание цикла для BHOPa
    Code

    void bHop()
    {
    if (GetAsyncKeyState(0x20))
    {
    if (playeR.Flag == 257 || playeR.Flag == 263)
    {
    keybd_event(MapVirtualKey(0x20, 0), 0x39 KEYEVENTF_EXTENDEDKEY, 0);
    keybd_event(MapVirtualKey(0x20, 0), 0x39 KEYEVENTF_KEYUP, 0);
    Sleep(1);

    }
    }
    }

    int main ()

    {
    GetProcess("csgo.exe");
    Client = GetModule("client.dll");

    while (true)
    {
    playeR.Reading();
    bHop();
    Sleep(1)


    }

    return 0;
    }
    Всё больше мы не трогаем файл main.cpp про него мы можем забыть
    Сейчас мы начнём писать вторую часть BHOPa
    11)Заходим в раздел
    [IMG]
    И по такому же плану создаём файл с названием processAttach.h
    И при создании выбираем пункт "Файл заголовка .h"
    1)Мы опять начинаем настраивать библиотеки
    Code

    #include <Windows.h>
    #include <iostream>
    #include <TlHelp32.h>
    2)После пишем не очень важную часть если хотите можете её пропустить
    Code

    using std::cout;
    using std::endl;
    using std::cout - вывод текста
    using std::endl - написание текста с новой строки
    3)После вписываем идентификаторы
    Code

    DWORD __pId;
    HANDLE pGame;
    4)Не знаю как описать эту часть программы тут заполняются пропуски,получаем список запущенных приложений на вашем компьютере,управление пакетами и тд.
    Code

    void GetProcess(char* Process)
    {
    PROCESSENTRY32 EntryP;
    EntryP.dwSize = sizeof(PROCESSENTRY32);

    HANDLE pSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS);
    while (Process32Next(pSnap, &EntryP))
    {
    if (lstrcmp(EntryP.szExeFile, Process));
    {
    CloseHandle(pSnap);

    __pId = EntryP.th32ProcessID;
    pGame = OpenProcess(PROCESS_ALL_ACCESS, false, __pId);

    }
    }
    CloseHandle(pSnap);

    cout << "Process not found!" << endl;
    system("pause");
    exit(1);
    }
    5)Тут тоже будет сложно объяснить на простом языке так что просто ctrl+c ctrl+v (кому интересно могут почитать в гугле инфу)
    Code

    DWORD GetModule(LPCSTR Module)
    {
    MODULEENTRY32 EntryM;
    EntryM.dwSize = sizeof(MODULEENTRY32);

    HANDLE pSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, __pId);
    while (Module32Next(pSnap, &EntryM));
    {
    if (lstrcmp(EntryM.szModule, ));
    {
    CloseHandle(pSnap);

    return
    }
    }
    CloseHandle(pSnap);

    cout << "Module not found!" << endl;
    system("pause");
    exit(2);
    }
    Поздравляю вы написали свой BunnyHop , а теперь его нужно запустить и протестить
    Нажимайте на Локальный отладчик Windows
    Для тех кто нихера не понял и пришёл за исходниками
    Вот файл main.cpp
    Code

    #include <iostream>
    #include <Windows.h>
    #include "processAttach.h"

    using namespace std;

    #pragma region Offest

    DWORD Client;


    DWORD dwLocaclPlayer = 0xA31504
    DWORD FFlags = 0x100;

    #pragma endregion

    struct Player_t
    {
    DWORD LocalPlayer;
    int Flag;

    void Reading()
    {
    ReadProcessMemory(pGame, (DWORD*)(Client + dwLocalPlayer), &LocalPlayer, sizeof(DWORD), 0);
    ReadProcessMemory(pGame, (DWORD*)(LocalPlayer + FFlags), &Flag, sizeof(int), 0);
    }

    }playeR;

    void bHop()
    {
    if (GetAsyncKeyState(0x20))
    {
    if (playeR.Flag == 257 || playeR.Flag == 263)
    {
    keybd_event(MapVirtualKey(0x20, 0), 0x39 KEYEVENTF_EXTENDEDKEY, 0);
    keybd_event(MapVirtualKey(0x20, 0), 0x39 KEYEVENTF_KEYUP, 0);
    Sleep(1);

    }
    }
    }

    int main ()

    {
    GetProcess("csgo.exe");
    Client = GetModule("client.dll");

    while (true)
    {
    playeR.Reading();
    bHop();
    Sleep(1)


    }

    return 0;
    }

    А вот processAttach.h
    Code

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

    using std::cout;
    using std::endl;

    DWORD __pId;
    HANDLE pGame;

    void GetProcess(char* Process)
    {
    PROCESSENTRY32 EntryP;
    EntryP.dwSize = sizeof(PROCESSENTRY32);

    HANDLE pSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS);
    while (Process32Next(pSnap, &EntryP))
    {
    if (lstrcmp(EntryP.szExeFile, Process));
    {
    CloseHandle(pSnap);

    __pId = EntryP.th32ProcessID;
    pGame = OpenProcess(PROCESS_ALL_ACCESS, false, __pId);

    }
    }
    CloseHandle(pSnap);

    cout << "Process not found!" << endl;
    system("pause");
    exit(1);
    }

    DWORD GetModule(LPCSTR Module)
    {
    MODULEENTRY32 EntryM;
    EntryM.dwSize = sizeof(MODULEENTRY32);

    HANDLE pSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, __pId);
    while (Module32Next(pSnap, &EntryM));
    {
    if (lstrcmp(EntryM.szModule, ));
    {
    CloseHandle(pSnap);

    return
    }
    }
    CloseHandle(pSnap);

    cout << "Module not found!" << endl;
    system("pause");
    exit(2);
    }
    Спасибо за внимание!
    ДЛЯ ТЕХ У КОГО ОСТАЛИСЬ ВОПРОСЫ ПО КОДУ В ЛС ФОРУМА ПИШИТЕ!
     
  2. hyp4xsker
    hyp4xsker May 3, 2020 Banned 0 Aug 24, 2018
    где оффсеты то взять?
     
  3. SAYEFR
    SAYEFR May 11, 2020 4 Apr 28, 2019
    хахахах Гайд этот на YT есть
     
  4. niqushimi
    niqushimi May 11, 2020 :yakuzik: 憎しみ 4014 May 11, 2019
    Очень интересно, нихуя не понятно, но я пожалуй продолжу юзать ахк ахахаха
     
    1. Forgoten_Lucifer
      niqushimi, Скинешь код на ахк?
    2. yakudze14
      Forgoten_Lucifer,
      *~$Space::
      Sleep 100
      Loop
      {
      GetKeyState, SpaceState, Space, P
      If SpaceState = U
      break
      Sleep 1
      Send, {Blind}{Space}
      }
  5. rijndael1337
    rijndael1337 May 14, 2020 Banned 0 May 14, 2020
    Код можно сократить, начнём с того что эта тема спасчена с другого борда, а так же при каждой обнове кс придётся обновлять смещения, когда бы ты мог сделать это намного проще, посредством парсинга оффсетов из того же гитхаба (hazedumper).
     
  6. a1987zz
    a1987zz May 15, 2020 11 Apr 7, 2020
    Парсинга оффсетов :finger_up:. Там через сканирование памяти оффсеты нужно обновлять. И то не факт, что будет работать.
     
  7. dvbsh
    dvbsh May 15, 2020 Разработка t.me/dvbsh_projects 1174 Aug 13, 2018
    VAC палит?
     
  8. a1987zz
    a1987zz May 15, 2020 11 Apr 7, 2020
    Это же Бхоп, какое еще Vac.
     
    1. Jennierubyjane
      a1987zz, обычное, идет чтение памяти, эта хуйня может помочь тебе отлететь на веки
    2. a1987zz
      Jennierubyjane, играю с самописным бхопом, ну как-бы ни разу не отлител.
  9. d9hatop
    d9hatop May 18, 2020 0 Jul 6, 2018
    Код с ошибками, дак он еще и на ютубе с 2016 года висит.
     
  10. GGGCHEATS
    GGGCHEATS May 25, 2020 0 May 25, 2020
    ребят а библиотеку processAttach.h писать саммому
     
    1. a1987zz
      GGGCHEATS, можешь сам написать.
  11. mut3d
    mut3d May 25, 2020 360 Jun 18, 2018
    Годно!!
     
  12. FFAP
    FFAP May 25, 2020 Зачем отдыхать если можно что-то делать 249 Apr 20, 2020
    Загуглил бхоп для каэс, скачал, готово. А тут, скачал прогу, ещё что-то сделал, скопировал, вставил, скопировал, вставил, не работает, закрыл всё к хуям собачим и всёравно скачал бхоп с гугла. :BrainCosmic:
     
  13. delllc
    ну я это напишу
     
  14. freez3
    freez3 Jul 6, 2020 СМС БОМБЕР - https://lolz.live/threads/1882062 12,429 Jun 24, 2020
    лучше для autostrafe зделай а то трудно
     
  15. MSLZT60588
    MSLZT60588 Jul 6, 2020 Banned 874 Nov 21, 2016
    Спасибо, чисто для практики и изучения подходит)
     
  16. Terra04
    Terra04 Jul 11, 2020 95 Jan 4, 2018
    COMUNNITI :finger_up::da:
     
  17. BlackBearpas
    BlackBearpas Jul 12, 2020 Banned 2 Sep 13, 2019
    Код рабочий
     
  18. FormatC
    FormatC Jul 25, 2020 Banned 128 Jul 4, 2019
    :facepalm:
     
  19. luv
    luv Jul 25, 2020 15,274 Sep 9, 2019
    В пизду, пойду лучше ahk файл скачаю
     
  20. thedozzyman
    thedozzyman Jul 27, 2020 Banned 38 Mar 6, 2019
    оффсет это который черный пендос рэпер?
     
Top
Loading...