Получи случайную криптовалюту за регистрацию!

Wassup, сегодня познакомимся с реверс-инжинирингом Сразу ска | Antichrist Blog | 反キリスト∸ブログ

Wassup, сегодня познакомимся с реверс-инжинирингом

Сразу скажу, в этой области я новичок, мне захотелось изучить и рассказать вам всё.
Как вы уже знаете, я начал играть и запускать трансляции (чтобы разбавить контент).

Часть поста будет в другом канале t.me/saasnik с примером взлома игры, прошу обратить внимание.

Чтобы взломать игру, нам нужны знания Assembler'a. Когда мы запускаем игру, игра сохраняет информацию в оперативную память (кол-во монет, урон и прочие механики) и обрабатывается процессором. Вся эта информация выдается на языке ассемблер.

В качестве дебагера, можно использовать Ghidra, Cheat Engine, ну и IDA.

Ghidra
— это бесплатный инструмент обратного проектирования с открытым исходным кодом, разработанный Агентством национальной безопасности США.

DA Pro Disassembler — интерактивный дизассемблер, который широко используется для реверс-инжиниринга.

Cheat Engine — это проприетарный бесплатный сканер/отладчик памяти с исходным кодом, созданный Эриком Хейненом для операционной системы Windows.

Запускаем игру, запускаем отладчик и ищем нужные нам аргументы. Например, у нас 10.900 ХП. В поиске указываем кол-во ХП, тип указываем float. И нажимаем поиск, чтобы найти нужный адрес. Мы должны получить урон, прописывает новое число. Например 10.801 и жмем отсеять.

Допустим мы нашли адрес (к примеру: 601F194С0). В Cheat Engine нажимаешь F5 и смотрим, какие адреса обращается к этому адресу. Дальше мы можем нажать вывести код и переписать его, либо выключить функцию, заменив всё на NOP. В итоге, вы не будете получать урон, замечательно, правда? Тут конечно нужно понимать, что функция может влиять не только на ХП, но и на другие аспекты.

Переписывание функций на ассемблере и разбор огромного кода, это задача не из простых конечно. Но, если вы разбираетесь в ассемблере, для вас это не будет большой проблемой. Я мог бы тут описать пошаговые действия, но только на практике и с примерами, всё будет понятно. Многие онлайн игры синхронизируют данные с сервером, из-за чего создается ещё больше проблем. Вот тут нужно уже перехватывать сетевые пакеты. Есть много тонких нюансов, в пост все это не поместить.

Важное уточнение, я не собираюсь писать чит для игры, или ещё что-то подобное. Моя цель - взломать и обойти донатную систему, есть миллионы способов как это сделать. Ну и свободное время, я посвящаю изучению кода.

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

No Operation — инструкция процессора на языке ассемблера, или команда протокола, которая предписывает ничего не делать.

Если вы хотите более подробный гайд на примере, переходите в https://t.me/saasnik. Там будет продолжение поста.

Antichrist Blog & Andromeda, IT, APK, Music, Chat, Archive