Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Да, только шанс отлететь не нулевой, ради бхопа не вижу смысла суетиться т.к многие умеют руками бхопить. У меня есть такой софтик с триггером, аимом, радаром тоже на C++ год андетектед держится
Да, только шанс отлететь не нулевой, ради бхопа не вижу смысла суетиться т.к многие умеют руками бхопить. У меня есть такой софтик с триггером, аимом, радаром тоже на C++ год андетектед держится
Да, только шанс отлететь не нулевой, ради бхопа не вижу смысла суетиться т.к многие умеют руками бхопить. У меня есть такой софтик с триггером, аимом, радаром тоже на C++ год андетектед держится
Здесь проверка на флаги, прыжок работает только при условии что человек на земле. А ахк в тупую спамит прыжок, что может способствовать потерям скорости.
В этой теме мы научимся делать простой external баннихоп для ксго
Что нужно:
Базовое понимание геймхакинга(как работает память, как игра располагается в памяти)
Базовое понимание C++
IDE: Visual Studio (2017-2019)
1. Создаём проект
Создаём проект с шаблоном "Консольное приложение"
2.Переходим в свойства проекта(правой кнопкой мышки по проекту -> свойства), если у вас Visual Studio 2017 версии, то заходим в: "Свойства конфигурации -> Общие" находим пункт набор символов, у вас по умолчанию должно стоять значение: "Использовать набор символов Юникода", меняем его на: "Использовать многобайтовую кодировку", нажимаем Применить. Если у вас Visual Studio версии 2019 -> Переходим в "Свойства конфигурации -> Дополнительно"
3. Удаляем ненужное(по желанию):
Удаляем папки: Файлы заголовков, Файлы ресурсов
Оставляем папку: Исходные файлы
Т.К. наш проект маленький, нет смысла создавать отдельные папки для заголовочных файлов и т.д.
4. Подключаем файлы к проекту, содержащие класс для работы с памятью
Т. к. Мы хлебушки, класс мы будем использовать уже заранее сделанный, скачать вы его можете внизу, в прикреплённых файлах
Скачиваем, распаковываем архив в любую папку(для удобства - в папку с вашим созданным проектом), в папке будут два файла - MemMan.cpp, MemMan.h
Файл MemMan.cpp мы должны напрямую поместить в наш проект(просто перетащите его в окно справа, в папку "Исходные файлы"), переходим в главный файл нашего проекта(он имеет название, которые вы дали вашему проекту, например: если вы назвали проект: "BHOP", то главный файл будет называться: "BHOP.cpp")
5.
C++:
#include <iostream>
#include <Windows.h>
#include <ВАШ ПУТЬ ДО ФАЙЛА MemMan.h>
Все эти библиотеки нужны нам для корректной работы с памятью игры
Важно! С любым обновлением ксго тот или иной оффсет может поменяться, поэтому лучше всегда тщательно проверять правильность оффсетов, иначе ничего попросту не будет работать, т.к мы не правильно обращаемся к памяти
C++:
int main()
{
val.process = memory.getProcess("csgo.exe"); //Находим процесс с названием csgo.exe
val.gameModule = memory.getModule(val.process, "client_panorama.dll"); //Находим модуль с названием client_panorama.dll
if(val.localPlayer == NULL) //Делаем проверку c циклом на то, есть ли у нас localPlayer, когда мы находимся в меню -> у нас нет localPlayer'а, следовательно, если не сделать цикл, то localPlayer один раз не найдётся, и дальше не будет искаться, даже если мы зайдём на карту
while(val.localPlayer == NULL)
val.localPlayer = memory.readMem<DWORD>(val.gameModule + offsets.oLocalPlayer); //Пытаемся найти localPlayer
while (true)
{
val.flag = memory.readMem<BYTE>(val.localPlayer + offsets.flags); //Находим флаги нашего локального игрока(Находиться на земле, в воздухе, в воде и т.д)
if (GetAsyncKeyState(VK_SPACE) && val.flag & (1 << 0)) //Делаем проверку на клавишу и на флаг(если нажат спейс, и наш локал плеер по флагу находится на земле)
memory.writeMem<DWORD>(val.gameModule + offsets.fJump, 6); //Заставляем локалплеера прыгать, если проверка в верху пройдена
Sleep(1);
}
return 0;
}
Это всё, отпишите в теме, если я что-то сделал неправильно, или у вас есть какие-то проблемы
1 - Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка (активно) E0167 аргумент типа "WCHAR *" несовместим с параметром типа "const char *" BionicALPHA C:\Users\warko\MemMan.cpp 24
2 - Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка (активно) E0167 аргумент типа "WCHAR *" несовместим с параметром типа "const char *" BionicALPHA C:\Users\warko\MemMan.cpp 43
3 - Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка C2664 "int strcmp(const char *,const char *)": невозможно преобразовать аргумент 1 из "WCHAR [260]" в "const char *" BionicALPHA C:\Users\warko\MemMan.cpp 24
4 - Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка C2664 "int strcmp(const char *,const char *)": невозможно преобразовать аргумент 1 из "WCHAR [256]" в "const char *" BionicALPHA C:\Users\warko\MemMan.cpp 43
1 - Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка (активно) E0167 аргумент типа "WCHAR *" несовместим с параметром типа "const char *" BionicALPHA C:\Users\warko\MemMan.cpp 24
2 - Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка (активно) E0167 аргумент типа "WCHAR *" несовместим с параметром типа "const char *" BionicALPHA C:\Users\warko\MemMan.cpp 43
3 - Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка C2664 "int strcmp(const char *,const char *)": невозможно преобразовать аргумент 1 из "WCHAR [260]" в "const char *" BionicALPHA C:\Users\warko\MemMan.cpp 24
4 - Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка C2664 "int strcmp(const char *,const char *)": невозможно преобразовать аргумент 1 из "WCHAR [256]" в "const char *" BionicALPHA C:\Users\warko\MemMan.cpp 43
#include <iostream>
#include <Windows.h>
#include <C:\Users\PC\source\repos\RichBhop\mem class\MemMan.h>
MemMan memory;
struct gameOffsets
{
DWORD oLocalPlayer = 0xD3BC5C;
DWORD fJump = 0x51F9E44;
DWORD flags = 0x104;
}offsets;
struct values
{
DWORD localPlayer;
DWORD gameModule;
DWORD process;
BYTE flag;
}val;
int main()
{
val.process = memory.getProcess("csgo.exe"); //Находим процесс с названием csgo.exe
val.gameModule = memory.getModule(val.process, "client_panorama.dll"); //Находим модуль с названием client_panorama.dll
if (val.localPlayer == NULL) //Делаем проверку c циклом на то, есть ли у нас localPlayer, когда мы находимся в меню -> у нас нет localPlayer'а, следовательно, если не сделать цикл, то localPlayer один раз не найдётся, и дальше не будет искаться, даже если мы зайдём на карту
while (val.localPlayer == NULL)
val.localPlayer = memory.readMem<DWORD>(val.gameModule + offsets.oLocalPlayer); //Пытаемся найти localPlayer
while (true)
{
val.flag = memory.readMem<BYTE>(val.localPlayer + offsets.flags); //Находим флаги нашего локального игрока(Находиться на земле, в воздухе, в воде и т.д)
if (GetAsyncKeyState(VK_SPACE) && val.flag & (1 << 0)) //Делаем проверку на клавишу и на флаг(если нажат спейс, и наш локал плеер по флагу находится на земле)
memory.writeMem<DWORD>(val.gameModule + offsets.fJump, 6); //Заставляем локалплеера прыгать, если проверка в верху пройдена
Sleep(1);
}
return 0;
}
#include <iostream>
#include <Windows.h>
#include <C:\Users\PC\source\repos\RichBhop\mem class\MemMan.h>
MemMan memory;
struct gameOffsets
{
DWORD oLocalPlayer = 0xD3BC5C;
DWORD fJump = 0x51F9E44;
DWORD flags = 0x104;
}offsets;
struct values
{
DWORD localPlayer;
DWORD gameModule;
DWORD process;
BYTE flag;
}val;
int main()
{
val.process = memory.getProcess("csgo.exe"); //Находим процесс с названием csgo.exe
val.gameModule = memory.getModule(val.process, "client_panorama.dll"); //Находим модуль с названием client_panorama.dll
if (val.localPlayer == NULL) //Делаем проверку c циклом на то, есть ли у нас localPlayer, когда мы находимся в меню -> у нас нет localPlayer'а, следовательно, если не сделать цикл, то localPlayer один раз не найдётся, и дальше не будет искаться, даже если мы зайдём на карту
while (val.localPlayer == NULL)
val.localPlayer = memory.readMem<DWORD>(val.gameModule + offsets.oLocalPlayer); //Пытаемся найти localPlayer
while (true)
{
val.flag = memory.readMem<BYTE>(val.localPlayer + offsets.flags); //Находим флаги нашего локального игрока(Находиться на земле, в воздухе, в воде и т.д)
if (GetAsyncKeyState(VK_SPACE) && val.flag & (1 << 0)) //Делаем проверку на клавишу и на флаг(если нажат спейс, и наш локал плеер по флагу находится на земле)
memory.writeMem<DWORD>(val.gameModule + offsets.fJump, 6); //Заставляем локалплеера прыгать, если проверка в верху пройдена
Sleep(1);
}
return 0;
}