Учебные материалы для новичков на видеоиграх обратного инженера
Вот собранной список, основанный на лично рекомендуемых учебных материалах, чтобы помочь людям в процессе изучения видеоигр обработки инженеров.
Я надеюсь, что это поможет другим проводить больше времени на обучение и меньше времени на поиски.
Большая часть собранных ресурсов здесь будет сосредоточена на обращении с ПК -играми в операционной системе Microsoft Windows с учетом сборки X86 над X64, поскольку ее легче выучить.
Реверсирование инженерных видеоигр чаще всего связано с «взломом игры», они приходят и уходят вместе, поэтому не удивляйтесь, если некоторые из учебных материалов поступают из таких сайтов/источников.
Рекомендуемый заказ для изучения
- Узнайте, как эффективно искать в Google, все ваши ответы и ресурсы найдены в Интернете
- Узнайте, используя чит -двигатель
- Узнайте о шестнадцатеричной и бинарной нумерации систем, а также о компьютерной памяти в целом
- Узнайте x86 сборку
- Узнайте C ++
- Узнайте, используя IDA/Ghidra
- Узнайте основы игрового программирования
- Узнайте основы API Win32
- Узнайте внутреннюю работу операционной системы Windows, AKA Windows Internals
- Практика, практика, практика ...
Программное обеспечение, необходимое для перевода
Не рекомендуется запускать какие-либо из этих инструментов (особенно чит-двигатель) во время игры в многопользовательские игры, в которых есть анти-Chat Systems, если вы не знаете, что делаете.
Для начала знакомы с чит -двигателем, и IDA или Ghidra.
Выбор правильных инструментов
Прежде чем работать над игрой, вы должны знать свою цель, поэтому важно собрать некоторую информацию, такую как:
- Какие программные технологии он использует
- Какой язык программирования и компилятор он был разработан с
- Имеет ли он какую-либо анти-реверсирующую или анти-базовую технологию
- Работает ли он на любых популярных сторонних игровых двигателях (Unity, Unreal Engine, Source Engine и т. Д.)
Игры, обменивающиеся одними и теми же двигателями, часто имеют действительно похожую и повторяющуюся кодовую базу, которую вы можете использовать в своих интересах. Для сторонних игровых двигателей, таких как нереальный двигатель или Unity, в Интернете есть много пользовательских инструментов, которые могут облегчить процесс обратной инженерии.
Игры, кодируемые на высокоуровневых интерпретируемых/промежуточных языках программирования, таких как C# или Java, как правило, гораздо проще в обратном инженере по сравнению с C/C ++, из-за того, что метаданные не теряются, поскольку они не составлены в машинный код низкого уровня.
Для игр на основе Unity (и для любых других игр, разработанных с помощью .NET Framework) используйте DNSPY вместо IDA/Ghidra.
В основном мы сосредоточимся на изменении игр, кодированных в C ++, поскольку это все еще является золотым стандартом в программировании видеоигр.
Примеры игр, сделанных с C ++:
- Столешница
- Grand Theft Auto V
- Fortnite
- World of Warcraft
- Радуга Тома Клэнси шесть осадков
- Fallout 4
- Пограничные земли
- Ракетная лига
- Судьба 2
- Арк: Выживание эволюционировало
Примеры игр, сделанных с C#:
- Воздействие Геншина
- Бит Сэйбер
- Ржавчина
- Хартетстоун
- Subnautica
- Rimworld
- Полый рыцарь
- Чашка
- Преодолеть это
- Риск дождя 2
Необходимо прочитать материалы для начинающих на уровне
Руководство по поводу игры игры:
- Академия взлома игры
- От кодирования до взлома: вводное руководство по практическому (внешнему) взлому игры
Руководство по сборочному образу x86:
- Что такое язык собрания? - Javidx9
- Краткий курс в сборе x86 для инженеров -реверс - SensePost
Руководства в Ида:
- Руководство для начинающих IDA Pro
Базовые концепции программирования Game:
- Алгоритмы и методы игрового программирования - Санджай Мадхав (в этой статье всего 7 страниц, прочтите на страницу 5-6)
- Понимание игры главной петли - Родриго Монтейро
Книги:
- Реверсирование и взлом игры:
- Взлом игры: Разработка автономных ботов для онлайн -игр - Ник Кано
- Практический анализ вредоносных программ: практическое руководство по рассечению вредоносного программного обеспечения - Майкл Сикорски и Эндрю Хониг
- Игровое программирование:
- Трюки Гуру программирования игры Windows, второе издание (2002) - Андре Ламоте
- Игровое кодирование завершено, четвертое издание (2012) - Майк McShaffry
Google:
- Как эффективно искать в Интернете - компания WebTools
- Google Chiefet
- Ultimate Google Search Operators Cheatsheet - Helvis Smoteks
Необходимо просмотреть каналы на YouTube
- Руководство для взлома на YouTube для обратного инженера и учебных пособий по взлому игры
- Канал на YouTube Стивена Чепмена для учебников для чит -двигателя
Другие действительно полезные материалы
Больше материала для обучения в сборе x86:
- x86 Язык сборки, применимый к обратной инженерии: Основы - Часть 1
- X86 Язык Ассамблеи, часть 2
- Lena151 Учебные пособия по сбору (могут быть устаревшими, но это все еще рекомендуется многое):
- Узнайте канал YouTube
- Tuts 4 You - Collection 2011
Другие полезные инструменты и инструменты:
- 9 лучших инструментов обратного инженерного инженера на 2021 год
- Без парового
- Renderdoc
- Nirsoft Programmer Tools
- Nirsoft Network Tools
- System Tools NIRSOFT
Практическая обратная инженерная инженерия и хакерские материалы игры:
- Учебное пособие по реконструкции инженера/игровой патч:
- Обратный инженер и вооружение XP Solitaire (мини-курс)
- Doom95 | Создание AIMBOT
- Взлом игры: взломать, слэш, добыча
- Пользовательский режим rootkits: IAT и Inline Clocing
- x86 API, зацепляющий демистифицированный
- [C/C ++] Учебное пособие по поводу обратного инженера для новичков
- Обратная инженерия и вызовы функций по адресу
- Обратные онлайн -игры - Dragomon Hunter
- [Учебное пособие] Взлом и обращение с пакетом MMO
- Время выполнения DirectX Cloing с использованием инъекции кода и vtable
- Как реализовать сканирование шаблонов для динамического получения смещений
- C ++: как исправлять байты с использованием PatternScan (AOB)+Объяснение / фрагмент
Бит -флаги и битовые маски:
Книги и бумаги:
- Реверсирование и взлом игры:
- Практические боты видеоигр: автоматизация игровых процессов с использованием C ++, Python и Autoit - Ilya Shpigor
- Реверсирование: секреты обратной инженерии - Эльдад Эйлам
- X86 разборка - wikibooks.org
- Анализ обучения вредоносных программ: исследуйте концепции, инструменты и методы для анализа и исследования вредоносных программ Windows - Monnappa KA
- Игровое программирование:
- Алгоритмы и методы игрового программирования: платформ -агрессивный подход - Санджай Мадхав
- Шаблоны игрового программирования - Роберт Нистром
- Windows и Win32 API программирование:
- Окна программирования: окончательное руководство по API WIN32 - Чарльз Петцольд
- Программирование ядра Windows - Павел Йосифович
- Windows Internals - Павел Йосифович, Алекс Ионеску, Марк Э. Русснович, Дэвид А. Соломон
- Шиппирование анти-девелорожных, анти-реверсионных и анти-базовых методов:
- Окончательная анти -реверсирующая ссылка - Питер Ферри
- Искусство распаковки - Марк Винсент Ясон
Кураторские списки инструментов, учебных пособий, ресурсов и многое другое для видеоигр обратного инженерного инженера:
- Неизвестные звена игра взломает вики
- Ultimate Game Hacking Resource
- Ultimate Online Game Hacking Resource
- Путь изучения игрового программиста
Ресурсы для хакерства с гидом (по состоянию на 2023 год это теперь контент с платно -укрепленным):
- GHB1 - Начните здесь руководство для начинающих по взлому игры
- GHB2 - Руководство для начинающих по поводу обратной инженерии
- GHB3 - промежуточное руководство по взлому игры
- Как сделать MMO BOT - MMORPG BOT Automation
- Внутренние против внешних хаков - в чем разница?
Полезные сайты на этом пути
- Google (серьезно, используйте его, много, все время)
- Официальная документация Microsoft (включает документации по MSVC, DirectX, Win32 API и т. Д.)
- Godbolt (чрезвычайно полезно для проверки сгенерированного компилятора C ++)
Ключевые слова, о которых вы хотите узнать в целом
- Сканирование памяти
- Редактирование памяти
- Исправление памяти
- Сканирование рисунка
- x86 сборка
- x64 сборка
- Процесс отладки
- Разборка кода
- Код декомпилирования
- Функция зацепка
- API
- Погрузочные функции
- Инъекция DLL
- Внутренние читы
- Внешние читы
- Нить
- Windows PE Формат
- Win32 API
- Windows Internals
- Анти-девамирование
- Анти-реверсирование
- Анти-блюд
- Программное обеспечение Упаковщики
- Программное обеспечение распаковка