Участник
-
Автор темы
- #1
Не находил на этом форуме толковых тем с ответом на данный вопрос. Думаю, пора бы одну такую написать.
И так, первое: будьте готовы, что на вдумчивое обучение уйдёт несколько месяцев. Так уж сложилось, что никаких книг по геймхакингу нет (upd. всё же есть - "Game Hacking - Developing Autonomous Bots for Online Games". Совсем забыл о ней. My bad), статей - почти нет. Есть только несколько каналов на YT (в том числе, как минимум 2 - русскоязычных, но там освещаются довольно простые вещи), от них и придётся плясать.
Второе: не думайте, что на все игры читы писать также просто, как на CS. Нет, далеко не все игры имеют хоть какой-то SDK. Придётся долго и кропотливо реверсить всё самому, вообще всё.
А теперь о том, что непосредственно необходимо знать:
1) Язык программирования (ЯП). Можно выбирать любой (буквально), но лучше C++. Для него есть огромное количество всевозможных библиотек, гайдов и прочего-прочего. К тому же, большинство читов пишутся именно на C++. Один из его плюсов, в отличие от того же C# - недекомпилируемость. Да, от реверсинга никто не защищён, но по крайней мере Ваш код не будет нагло скопирован Васей из интернета и запихнут в "его" приватный чит, продаваемый за деньги.
2) ASM. Он нужен Вам как для возможных asm-вставок в своём коде, так и для реверсинга в процессе создания чита. Реверсинг - 50% работы, или даже больше, если речь идёт о чите.
3) Собственно, само умение реверсить. Есть переведённый курс от Рикардо Нарваха, написанная на русском книга RE4B, множество другого материала по данной теме. Остаётся только курить.
4) Понимание структуры PE-файлов. Легко гуглится, прочесть стоит.
5) Наставник. Необязательно, но желательно, чтобы был человек, готовый отвечать на Ваши глупые вопросы :D (спасибо, Hardee)
6) Умение работать со следующим софтом (перечислю то, с чем сам работал):
1. IDA Pro - очень удобный дизассемблер с плагином HexRays, позволяющим приводить код функций к псевдо-коду на Си. Также имеется и множество других плагинов. В отличие от Ghydra, нормально находит энтрипоинты, распознает API-структуры, без каких-либо проблем дебажит и вообще работает намного быстрее. В этой программе Вы будете реверсить то, что Вам необходимо, изучать, как работает та или иная программа, а также отлаживать программу при надобности.
2. Сканер памяти - выбирайте любой. Сканер нужен для поиска адресов в памяти/оффсетов. Для иного я его не использовал, хотя можно, если хочется.
3. ReClass - удобная программа для реверса структур и классов.
И что мы имеем? Наверное, по крайней мере полгода обучения всему тому, что я перечислил выше. А теперь подумайте, действительно ли Вы так хотите писать читы? :)
Хорошо, допустим, вы изучили всё, что требуется. Что теперь?
Начните с простых вещей:
1) Запись Вашего значения в адрес памяти игры
2) Хуки отдельных функций и целых ВМТ (о хуках также стоит почитать)
3) Создание автооффсета для поиска в памяти какого-то определённого значения в регулярно обновляющейся игре (тут нужно смотреть в сторону сигнатурного сканирования)
Ну вот и всё. Если вы прошлись по всему изложенному, то можете считать, что готовы начать писать читы. Это увлекательное, хоть и требуемое времени (частенько - нервов) занятие. Надеюсь, пост был не слишком сумбурным. Чао!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Полезные ссылки:
И так, первое: будьте готовы, что на вдумчивое обучение уйдёт несколько месяцев. Так уж сложилось, что никаких книг по геймхакингу нет (upd. всё же есть - "Game Hacking - Developing Autonomous Bots for Online Games". Совсем забыл о ней. My bad), статей - почти нет. Есть только несколько каналов на YT (в том числе, как минимум 2 - русскоязычных, но там освещаются довольно простые вещи), от них и придётся плясать.
Второе: не думайте, что на все игры читы писать также просто, как на CS. Нет, далеко не все игры имеют хоть какой-то SDK. Придётся долго и кропотливо реверсить всё самому, вообще всё.
А теперь о том, что непосредственно необходимо знать:
1) Язык программирования (ЯП). Можно выбирать любой (буквально), но лучше C++. Для него есть огромное количество всевозможных библиотек, гайдов и прочего-прочего. К тому же, большинство читов пишутся именно на C++. Один из его плюсов, в отличие от того же C# - недекомпилируемость. Да, от реверсинга никто не защищён, но по крайней мере Ваш код не будет нагло скопирован Васей из интернета и запихнут в "его" приватный чит, продаваемый за деньги.
2) ASM. Он нужен Вам как для возможных asm-вставок в своём коде, так и для реверсинга в процессе создания чита. Реверсинг - 50% работы, или даже больше, если речь идёт о чите.
3) Собственно, само умение реверсить. Есть переведённый курс от Рикардо Нарваха, написанная на русском книга RE4B, множество другого материала по данной теме. Остаётся только курить.
4) Понимание структуры PE-файлов. Легко гуглится, прочесть стоит.
5) Наставник. Необязательно, но желательно, чтобы был человек, готовый отвечать на Ваши глупые вопросы :D (спасибо, Hardee)
6) Умение работать со следующим софтом (перечислю то, с чем сам работал):
1. IDA Pro - очень удобный дизассемблер с плагином HexRays, позволяющим приводить код функций к псевдо-коду на Си. Также имеется и множество других плагинов. В отличие от Ghydra, нормально находит энтрипоинты, распознает API-структуры, без каких-либо проблем дебажит и вообще работает намного быстрее. В этой программе Вы будете реверсить то, что Вам необходимо, изучать, как работает та или иная программа, а также отлаживать программу при надобности.
2. Сканер памяти - выбирайте любой. Сканер нужен для поиска адресов в памяти/оффсетов. Для иного я его не использовал, хотя можно, если хочется.
3. ReClass - удобная программа для реверса структур и классов.
И что мы имеем? Наверное, по крайней мере полгода обучения всему тому, что я перечислил выше. А теперь подумайте, действительно ли Вы так хотите писать читы? :)
Хорошо, допустим, вы изучили всё, что требуется. Что теперь?
Начните с простых вещей:
1) Запись Вашего значения в адрес памяти игры
2) Хуки отдельных функций и целых ВМТ (о хуках также стоит почитать)
3) Создание автооффсета для поиска в памяти какого-то определённого значения в регулярно обновляющейся игре (тут нужно смотреть в сторону сигнатурного сканирования)
Ну вот и всё. Если вы прошлись по всему изложенному, то можете считать, что готовы начать писать читы. Это увлекательное, хоть и требуемое времени (частенько - нервов) занятие. Надеюсь, пост был не слишком сумбурным. Чао!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Полезные ссылки:
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Последнее редактирование: