Взлом Приложений из App Store [Инструкция]
Полная инструкция: Как самому взломать приложения из App Store! Читаем инструкцию далее! А кому лень делать это самому, тот может скачать уже готовые взломанные приложения тут!
1) Приготовления.
Вам понадобится:
- iPhone / iPod Touch с прошивкой 2.0, джейлбрекнутый, с установленной Cydia;
- Запустите Cydia и обновите всё, что она попросит для своего обновления;
- Дополнительно (в той-же Cydia) установите:
а) Open SSH;
б) GNU Debugger for iphone;
в) iPhone 2.0 Toolchain;
- На компе (я использую PC с OS Windows XP SP3), нужен какой-нибудь терминал.
Я использую PuTTY (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)
Терминал должен быть настроен, Вы должны зайти в тело (root@alpine);
- Ну и непосредственно взламываемое приложение. Оно должно быть куплено в
AppStore и нормально работать на момент крака.
Все приготовления окончены. Приступаем:
2) Сбор информации.
В терминале (все на ПК) набираем:
otool -l {путь к Вашей программе}
например:
otool -l /var/mobile/Applications/F02B7479-78DH-4AA2-B33F-D27E098CB478/Test.app/Test
Как подсмотреть путь я пописывать здесь не буду, Вы должны сами его определить и запомнить.
Вам вывалится КУЧА инфы, среди которой ищем примерно следующие строчки:
Load command 9
Т.е. секцию 9 Load Command - LC_ENCRYPTION_INFO.
cmd LC_ENCRYPTION_INFO
cmdsize 20
cryptoff 4096
cryptsize 798720
cryptid 1
Записываем следующие значения:
cryptoff - смещение (dec) от начала файла с которого начинаются зашифрованные данные;
cryptsize - длина зашифрованных данных;
cryptid 1 - говорит о том, что в файле есть зашифрованные данные (если тут стоит 0,
то значит все дальнейшие шаги, до самой подписи, можно пропустить);
3) Запуск жертвы.
Запустите Ваше приложение на теле. Старайтесь не ходить дальше начального меню;
Теперь нам надо вычислить ID процесса. Для этого в терминале на ПК наберите:
ps ax
Высветится большой список процессов. Ищем в нем знакомый нам процесс (по пути, там будет
что-то вроде):
721 ?? s 0:00.00 /var/mobile/Applications/F02B7479-78DH-4AA2-B33F-D27E098CB478/Test.app/Test
так вот 721 это и есть нужный нам ID. Запоминаем его.
4) Сдирание шкуры. 5) Препарирование жертвы. 6) Выкачиваем все из оригинальной папки приложения 7) Подписывание приложения. Created/Updated: 25.05.2018
Запустите GNU Debugger с опцией подключения к процессу:
gdb -p PID
должна быть открыта на теле.
Теперь надо сделать дамп командой:
dump memory dump.bin 0?2000 {addr2}
где addr2 = (cryptsize + 8192) -> HEX (!) = 798720 + 8192 = 806912 = 0xC5000
вводим:
dump memory dump.bin 0?2000 0xC5000
Лезем по SSH в /var/root/ и вытаскиваем полученный dump.bin на ПК.
Закрываем Debugger (quit) и закрываем жертву на теле. Больше они нам не понадобятся.
Последующие действия производятся на ПК в Вашем любимом Hex-редакторе. Я пользовался HIEW.
Нам понадобится:
- Оригинальный файл программы (/var/mobile/Applications/F02B7479-78DH-4AA2-B33F-D27E098CB478/Test.app/Test);
- dump.bin, полученный в п.5;
Берем оригинальный файл программы и ЗАМЕЩАЕМ в нем кусок со смещения 0?1000 файлом dump.bin;
Осталась самая малость - подправить заголовок. Ищем по смещению ~0?800 в результирующем файле
байтики вида 0?01 0?00 и заменяем на 0?00 0?00
(проще говоря, ищем в окрестностях 0?800 одинокую единичку и заменяем её на ноль);
(пример: /var/mobile/Applications/F02B7479-78DH-4AA2-B33F-D27E098CB478/Test.app/Test)
и закачиваем /Test.app в /Applications или /stash/Applications.* (у кого где работает)
удаляем папку SC_Info (она более не нужна),
переписываем подготовленный в п.5 запускной файл программы,
прописываем права 755.
Нам осталось только подписать приложение на новом месте:
ldid -S myapp
пример: