Гайд Создаем свой первый CSGO чит

Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
бля вот ты тему апнул и мне интересно стало, а движок(engineBase) - эт не клиентская часть чтоли? на сервере его код выполняется чтоли? или может у друга на компе? вообще всегда делилось все на client/server-side, про игровую часть слышу впервые внимание
как их еще назвать-то? обновил комменты тупа, а пидорас, что засунул топик в гугл переводчик пускай...................
 
Скажи пожалуйста, какую библиотеку надо подключить для того что бы функция getModuleBaseAddress() определилась? Я гуглил, искал аналоги, сказали что есть еще getModuleHandle(). То ли это, нет?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Скажи пожалуйста, какую библиотеку надо подключить для того что бы функция getModuleBaseAddress() определилась? Я гуглил, искал аналоги, сказали что есть еще getModuleHandle(). То ли это, нет?
см.пункт 7, вот код метода, он есть в туториале:
C++:
Expand Collapse Copy
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));
}
 
см.пункт 7, вот код метода, он есть в туториале:
C++:
Expand Collapse Copy
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));
}
Ой, спасибо. Я просто не копирую, стараюсь сам переписывать(набивать руку), некоторое изменять под себя. И забыл про то что это изменил.
 
Привет, сегодня мы создадим наш первый External-чит для ксго. Создавать мы будем вх, так как вх - идеален, чтобы рассматривать его как основу. Я постараюсь расписать все максимально понятно и по шагам, чтобы вы поняли как что работает, а не просто спастили код и нму" я написал в самом коде.

как это всё скомпить в длл?
 
вак детектит по-разному. например, часто читы отлетают из-за того, что инжектор спалили, также бывает палят читы, которые внедряются в игру. external-чит в этом имеет небольшое преимущество - он не внедряется в игру, а работает как бы отдельно.
полностью обойти вак (если ты имеешь в виду снизить шанс бана до 0%) - невозможно, но можно максимально снизить этот шанс.
как вариант, можно постоянно обновлять чит (добавлять джанки, изменять названия переменных).
орнул с джанков, они не работают, кодер ты наш))
 
1. Зашёл.
2. Прочитал.
3. Них*я не понял.
4. Вышел.
 
Спасибо за код только как его запустить?( я новичок)
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Спасибо за код только как его запустить?( я новичок)
целью туториала не было дать готовый код, но раз уж не то пошло: скачай visual studio -> напиши код, измени под себя -> нажми сборка -> собрать проект
p.s. у меня визуалка на англ. + я точно не помню точных названий баров, так что будь готов искать )
 
это пиздец заезжено, темболее EXTERNAL, это неактуально уже года как 2.. круто было бы, если бы ты сделал гайд по написанию internal софта, а вот это было бы интересно. но все равно +реп за старания
 
целью туториала не было дать готовый код, но раз уж не то пошло: скачай visual studio -> напиши код, измени под себя -> нажми сборка -> собрать проект
p.s. у меня визуалка на англ. + я точно не помню точных названий баров, так что будь готов искать )
скомпиль в .ехе в visual studio, и усе
 
Гайд все еще актуален?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
const DWORD dwLocalPlayer = 0xCBD6A4; const DWORD dwEntityList = 0x4CCDCBC; const DWORD m_iTeamNum = 0xF4; const DWORD m_iGlowIndex = 0xA3F8; const DWORD dwGlowObjectManager = 0x520DAE0;
constexpr не не слышал
SetConsoleTitle("Top non-pasted shit 1337"); // устанавливаем заголовок нашей консоли
hwnd = FindWindowA(0, "Counter-Strike: Global Offensive"); // ищем ксго, если находим - выходим из цикла
кодинг стайл не совпадает
SetConsoleTitle дефайн
FindWindowA функция
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); }
нахера 1 миллион раз записывать в память если можно создать структуру и записать 1 раз?
изменять названия переменных
компилятор палит ток имена экспортируемых функций ему пох на название переменных
 
Последнее редактирование:
Вот вам пример того как легко и чётоко всё сделано
Пожалуйста, авторизуйтесь для просмотра ссылки.
Там тоже нужно обновить оффсет в архиве есть дампер который это может сделать завас протически и найти все нужные оффсет .
 
constexpr не не слышал
зачем?
кодинг стайл не совпадает
SetConsoleTitle дефайн
FindWindowA функция
SetConsoleTitle - макрос, который в зависимости от кодировки подставляет тебе функцию
FindWindow - аналогичный макрос как SetConsoleTitle
нахера 1 миллион раз записывать в память если можно создать структуру и записать 1 раз?
на чтение и запись целой структуры уходит больше времени, зачем читать и записывать не нужные нам переменные, если можно выделить только необходимые?
 
Назад
Сверху Снизу