загрузка...

[Инструкция] Взлом Приложений из App Store

Печать E-mail

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

cmd LC_ENCRYPTION_INFO

cmdsize 20

cryptoff 4096

cryptsize 798720

cryptid 1


Т.е. секцию 9 Load Command - LC_ENCRYPTION_INFO.

Записываем следующие значения:

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) Сдирание шкуры.

Запустите GNU Debugger с опцией подключения к процессу:

gdb -p PID

где PID - ID процесса полученный на этапе 3. пример:

gdb -p 721

Дебаггер загрузится в жертву и расположитя в ней. ВНИМАНИЕ все это время программа-жертва

должна быть открыта на теле.

Теперь надо сделать дамп командой:

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) и закрываем жертву на теле. Больше они нам не понадобятся.


5) Препарирование жертвы.

Последующие действия производятся на ПК в Вашем любимом 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 одинокую единичку и заменяем её на ноль);


6) Выкачиваем все из оригинальной папки приложения

(пример: /var/mobile/Applications/F02B7479-78DH-4AA2-B33F-D27E098CB478/Test.app/Test)

и закачиваем /Test.app в /Applications или /stash/Applications.* (у кого где работает)

удаляем папку SC_Info (она более не нужна),

переписываем подготовленный в п.5 запускной файл программы,

прописываем права 755.


7) Подписывание приложения.

Нам осталось только подписать приложение на новом месте:

ldid -S myapp

пример:

ldid -S /Applications/Test.app/Test

Если в какое-то время, терминал начал отвечать Killed на Ваши действия, перезагрузите телефон и повторите попытку.


Далее делаем перезагрузку.

Реклама:iphone-os.net

Реклама 

Популярное 

    загрузка...