Как делают читы к играм

Защищенные области памяти

  • 411
  • 0
1711616112437.png


Всем привет, в этой статье было такое упоминание, как "Защищенные указатели", или что-то таке...

Мне стало интересно почитать, что это такое.

Вот что раскопал:

Что такое защищенные регионы?


Защищенные регионы — это, по сути, указатели, которые указывают на адрес, который не действителен. Чаще всего адрес начинается с 0x800000 и т.д. Однако игра их считывает, и они получают действительные результаты. Как, вы можете спросить? Дело в том, что stub.dll регистрирует обработчик исключений, который перенаправляет охраняемый указатель на реальный указатель после успешного выполнения нескольких проверок. И чтобы выполнить все проверки, мы собираемся найти заглушку, которую мы собираемся использовать для чтения адреса, который мы хотим прочитать.

Какие указатели используют защищенные регионы в играх ? Вот некоторые из них...

На заметку Удаленное выполнение кода при помощи DMA

  • 374
  • 0
1711565107429.png


Перевод оригинала:

При использовании устройства DMA атакующий ограничен чтением и записью памяти, и в большинстве случаев этого достаточно. Однако существуют обстоятельства, когда чтение и запись памяти не позволяют достичь желаемого.

Например:

Если мы хотим отправить сетевое сообщение в играх, использующих защищенные указатели, например, в Valorant. ( ) В таких ситуациях карта DMA кажется почти бесполезной. Нам нужен способ выполнить код на машине жертвы и получить результат этого кода.

Для достижения этого я придумал решение, которое сочетает в себе использование неиспользуемых секций .text и .data вместе с простым хуком на функцию, вызываемую каждый кадр/тик.

Давайте рассмотрим требования моего взлома. Сначала...

Информация Что такое CR3 защита в играх?

  • 608
  • 0
Защита CR3 в анти-чит системах

1. Основы CR3


CR3 — это регистр управления в x86 и x64 архитектурах процессоров, хранящий базовый адрес таблицы страниц (Page Directory Base Address). При переключении контекста между процессами, значение CR3 обновляется, соответственно, указывая на таблицу страниц активного процесса.

2. Взаимосвязь с анти-чит системами

CR3 может быть использован для отслеживания изменений в памяти игрового процесса. Читы, модифицирующие память, часто меняют значение CR3. Отслеживая такие изменения, анти-чит системы могут обнаруживать и блокировать несанкционированные действия.

3. Скрытие базовых адресов модулей

Для усложнения задачи читеров, анти-чит системы могут использовать CR3 для перенаправления запросов к базовым адресам модулей через специфический обработчик. Это не позволяет читам напрямую...

Создание DMA чита для игры RUST. Часть 2.

  • 1 023
  • 2
Гайд по геймхакингу: Добавление флагов в Culling ESP :Mem1:

Приветствую, форумчане!

В этой статье, мы рассмотрим, как добавить флаги в Culling ESP, чтобы убрать излишние элементы и оставить только игроков и ботов.

Основные шаги:
  • Основные шаги:
    • Получить OcclusionCulling_Typeinfo
    • Получить staticfields
    • Получить OcclusionCulling instance
    • Получить DebugSettings
    • Включить Culling ESP
    • Прописать слои

Код на C++:
C++:
            if (globals::PlayerESP)
            {
                uint64_t occlusionCulling = threads::read<uint64_t>(globals::game_assembly + 54013888);  //OcclusionCulling_Typeinfo  > scripts.json
                uint64_t otherCulling = threads::read<uint64_t>(occlusionCulling + 0xb8);
                uintptr_t singletonPointer =...

Эксклюзив DMA Engine BETA

  • 1 594
  • 3
Всем привет!
Не так давно начал делать программу под названием DMA Engine.
Выкладываю тестовую версию (На столько тестовая, что её даже сырой не назвать).
Работает программа с помощью FPGA платы для DMA атак.

Данная программа планируется как аналог Cheat Engine.
На данный момент реализовано:
Чтение памяти.
Получение загруженных модулей.
Получение базового адреса модуля.

Накрыл программу с помощью VPM, тк пока не хочу сливать исходный код.
Программа работает на ЯП C#.

SS:
1683462657357.png


|

Для работы требуется такое устройство:
A86d767b74418455898d4bd9c0c37e6abQ.png


Эксклюзивно для ru-sfera.pw.

Информация Чит/трейнер своими руками. Хакер. Часть 2

  • 1 247
  • 0
Продолжение крутой статьи:Информация - Чит/трейнер своими руками. Хакер. Часть 1

Автор реально постарался всё расписать, респект:

Сегодня мы с тобой напишем чит для сетевого шутера. Мы реализуем хаки типа extrasensory perception (ESP) и aimbot. ESP отображает информацию об игроках над их головами. Здесь может быть здоровье игрока, имя или текущее используемое оружие. Aimbot автоматически нацеливается на других игроков.

В предыдущей статье « » я заложил базу для будущих читов и объяснил основные понятия. Рекомендую ознакомиться с ней, чтобы лучше понимать, что мы будем сегодня делать.

ВЫБОР ИГРЫ​

Мой...

Информация Чит/трейнер своими руками. Хакер. Часть 1

  • 1 496
  • 0
2_windowed.png


Приватная статья, часть первая:

Играть в игры любят все, но это гораздо интереснее, когда у тебя имеется нескончаемый запас патронов и здоровья. Чтобы обзавестись и тем и другим, можно погуглить читы и трейнеры для твоей любимой игры. Но как быть, если их еще не разработали? Написать самому! Обладая навыками реверс‑инжиниринга и программирования, сделать это намного проще, чем кажется.

ВЫБОР ИГРЫ​

Для начала определимся с игрой. Мой выбор пал на (далее HLD). Если ты планируешь поэкспериментировать с коммерческой игрой, обрати внимание на сайт , а также на игры...

Эксклюзив Сделай видеоигру один и не свихнись

  • 1 163
  • 5
1676705686243.png


Всегда хотели делать игры, но не знали с чего начать? Много идей и все хочется реализовать?

Страшно браться за что-то новое с нуля? Мысли о программировании вводят в панический ужас?

Тогда эта книга именно для вас. Она поможет понять, как правильно начать работать, где искать ответы на вопросы и самое главное — как не сдаться и довести дело до конца, став настоящим разработчиком видеоигр.

Слава Грис — разработчик-одиночка. На его счету уже три видеоигры, вышедших как на ПК, так и на консолях современного поколения. В своей книге он расскажет, как научиться делать видео игры одному и начать карьеру разработчика, не имея ни стартовых знаний, ни опыта, ни специального образования!

Эта книга станет вашим трамплином к успеху!

Кстати не плохо написано, интересно читать, хоть игры это не моё.)

Вам нужно авторизоваться, чтобы просмотреть содержимое.
Эксклюзив Создание DMA читов на реальных примерах.
  • 3 564
  • 7
Всем привет!
Эта тема посвещена созданию софта для DMA (карт, скримеров и тд…)!
В первой части я приведу небольшой пример простого DMA софта под игру DayZ.
Данная статья явлается уникальной и скорее всего я первый кто написал про это на СНГ форумах.
Специально для: Ру-Сфера: Исследование защиты и обсуждение IT-безопасности

Нам потребуется:
2 PC (можно делать и на 1, но шанс обнаружения вырастает в несколько раз!).
DMA карта (я использую LeetDMA, если брать более бюджетную карту, могу посоветовать NinjaDMA/QuasarDMA).
IDA pro (либо любой другой отладчик).

Для написания чита, я буду использовать библиотеку для работы с DMA картами: VmmFrost.
Данная библиотека подходит для ЯП C# и имеет удобные функции для чтения и записи в память процесса.

В первой части мы сделаем небольшой SpeedHack, за который нас не забанит анти-чит!

Немного теории:
Для реализации SpeedHack, мы будем работать с функцией QueryPerformanceFrequency внутри игры (будем изменять её...

Уроки GameHacking. Часть-2

  • 1 223
  • 7
Всем привет!
Это 2 часть цикла статей про GameHacking.
В этой статье мы опять рассмотрим функцию ReadProcessMemory и реализуем реальную функцию которая даст нам преимущество в игре.

В данной статье мы напишем Externel TriggerBot или же Авто Выстрел.

С адресами мы разобрались в прошлой части, по этому сразу приступим к делу.

Для начала, получим локального игрока:
C++:
uintptr_t localPlayer = LocalPlayer();
if (localPlayer == NULL) continue;
Более подробно об этом, я написал в 1 части геймхакинга.

Далее, нам требуется получить LocalTeam & CrosshairID.
C++:
uint32_t localTeam = RPM<uint32_t>(localPlayer + 0xF4); //m_iTeamNum
uint32_t CrosshairID = RPM<uint32_t>(localPlayer + 0x11838); //m_iCrosshairId
Для вашего удобства, я указал какие адреса используются.

Далее, нам требуется получить список игроков, делается это так:
C++:
if (CrosshairID != 0 && CrosshairID < 32)
        {
            uintptr_t Enemy = RPM<uintptr_t>(moduleBase + 0x4DFCE74 +...

Уроки GameHacking. Часть-1

  • 2 147
  • 6
В данном цикле статей мы поговорим про геймхакинг.
Будем говорить от простого, к сложному.

Что из себя представляет геймхакинг?
Геймхакинг - Это чтение и изменение памяти игры по определенным адресам.
В данной статье мы рассмотрим WinApi функцию .
Данная функция позволяет нам прочитать память приложения по определенном адресу.

Для примера мы возьмем игру CS:GO.
На GitHub есть пост, в котором сливают оффсеты игры, используем его и сэкономим немного нашего времени .

Для удобства, возьмем темплейт ReadProcessMemory.
C++:
template<typename T> T RPM(SIZE_T address) {
    T buffer;
    ReadProcessMemory(hProcess, (LPCVOID)address, &buffer, sizeof(T), NULL);
    return buffer;
}

Так-же, нам надо получить адрес DLL в которой содержатся функции игры, в нашем случае это -...
Верх Низ