Взломать Ios игры с помощью Ida #1

Sbenny.com доверяют 1,326,089 XNUMX XNUMX счастливых пользователей с 2014 года.
Зарегистрируйтесь

Позорный

APK Fanatic Уровень 5️⃣
Участник 7 лет
Привет, ребята, так что я буду делать несколько уроков по взлому в свободное время :D просто что-то, что можно вернуть сообществу, как я был в этой ситуации однажды, когда я изо всех сил пытался узнать, как взломать обратно в icheats. Без дальнейших задержек, вот одна из многих серий учебников ...
Вещи, необходимые:
-IDA PRO (я использую IDA PRO v. 6.4 демо)
-Hex Editor (HxD в моем случае)
-Tap Tap Revenge Tour Premium v. 2.0
-Некоторые базовые знания по ASM / ARM
Теперь, когда все предметы будут в наличии, мы начнем наши попытки взлома ...
Сначала загрузите двоичный файл в IDA PRO, просто перетащив двоичный файл в значок IDA PRO.

Затем выберите ARM в качестве типа процессора для двоичного файла. Нажмите OK и когда появится запрос о том, хотите ли вы изменить его, нажмите OK.

Когда бинарный файл завершит загрузку (в левом нижнем углу появится текст с сообщением о простое), мы можем приступить к взлому нашей игры

Окно функций хранит все функции игры, такие как оценка, здоровье и т. Д. В нашем случае мы хотим попытаться взломать оценку, поэтому давайте найдем оценку, нажав Ctrl + F в окне функций, чтобы выполнить поиск по функциям.

Теперь, когда мы нашли функции, содержащие строковый счет, мы должны теперь найти правильную функцию для нашего действительного игрового счета. Прокрутите вниз, пока не увидите функцию - [TTScore setScore:] и дважды щелкните по ней

Теперь самое сложное / сложное, мы должны интерпретировать код. Это где ASM и ARM необходимы для взлома в IDA PRO. Для краткого обзора ASM имеет дело с такими командами, как SUBS, LDR, STR и т. Д., В то время как ARM в основном работает с такими регистрами, как R1, R2, R3 и т. Д. В этом случае мы можем интерпретировать код следующим образом:
MOV R1, # (_ OBJC_IVAR _ $ _ TTScore._score - 0x52588); int _score; <--- загружена функция оценки
ДОБАВИТЬ R1, ПК; int _score;
LDR R1, [R1]; int _score; <--- наша оценка загружается в R1
STR R2, [R0, R1] <--- новый счет сохраняется в регистре R2
BX LR <--- завершает функцию оценки
Здесь мы имеем общий способ хранения определенной информации, такой как setCash, setAmmo и т. Д. В этом случае, поскольку наш счет хранится (STR) в R2, мы можем получить более высокий балл, просто изменив регистр R2. в регистр с более высоким значением, в большинстве случаев R7.
Выделите функцию STR R2, [R0, R1], а затем нажмите на Hex-View A

Как только мы попадем в шестнадцатеричное представление, мы можем увидеть шестнадцатеричное значение функции STR R2, [R0.R1], которая является 42 50. Чтобы изменить счет, чтобы у нас было максимальное значение, все, что нам нужно сделать, это изменить функцию на
STR R7, [R0, R1] с шестнадцатеричным значением 47 52. Мы не можем сделать это в IDA, но здесь наш редактор Hex пригодится. Обратите внимание на шестнадцатеричный адрес в левом нижнем углу экрана. Теперь перетащите бинарный файл в ваш шестнадцатеричный редактор.


Помните шестнадцатеричный адрес, который мы должны были запомнить? Теперь это необходимо. В шестнадцатеричном редакторе перейдите по шестнадцатеричному адресу, который вы запомнили. В HxD вы должны пойти в Search-> Goto и затем вставить смещение файла

Теперь мы выполняем свою функцию, такую ​​же, как в IDA PRO. Теперь, чтобы взломать игру, все, что нам нужно сделать, это изменить 42 50 на 47 50 для максимального результата.

Сохраните файл, поместите его в папку TapTapTourPaid.app и все.
Надеюсь, вам понравился этот простой урок, в будущем я постараюсь выпустить больше урок, так что будьте начеку

Кредиты:
Aswag1
 

бемосстанк

Lurker Уровень 0️⃣
Участник 2 лет
Мне нравится этот учебник, сделайте больше, и это способ изучить ASM и узнать, как каждый из них работает.
Сообщение автоматически объединяется:

Также, когда вы закончите, как вы сделаете взлом в файл deb
 
Топовое