Ман пригодится для многих твикоделов и хакеров,тк позволяет расшифровать исполняемый файл iOS приложения для изучения в дизассемблере,поиске уязвимостей и просто снятии дампа заголовочных файлов для дальнейшего изучения. Cейчас я просто покажу расшифрование на примере Яндекс.Музыка(выбор пал случайно:)) и как получить дамп заголовочных файлов.
Информация
Нам нужно: 1)GDB последней версии(из Cydia не брать,там он поломан).Можно сделать самому или заюзать мой GDB под armv7 для iOS 4.3+ http://clck.ru/d/P9A_QahA1AQOV 2)Установленный SSH на девайсе Хорошо если стоят otool,plutil,file и grep,если нет,то то же самое надо на компе.
Первым делом подключаемся к девайсу по ssh
Далее получаем путь к приложению YandexMusic
ls -ld /var/mobile/Applications/*/YandexMusic.app
У меня нет нужных утилит на iPad,так что я буду все через утилиты Mac)
Выгружаем исполняемый файл на компьютер.
Выводим нужную нам информацию о бинарнике
Информация
cryptoff -определяет оффсет,с которого начинается зашифрованная часть(в данном случае 0x1000) cryptsize -определяет размер зашифрованной части cryptid -определяет,зашифрованы данные или нет
Возвращаемя к девайсу
Подключаем к работе gdb и вводим команды
set sharedlibrary load-rules ".*" ".*" none
set inferior-auto-start-dyld off
set sharedlibrary preload-libraries off
rb doModInitFunctions
r
Далее нам надо сделать дамп памяти приложения.
dump memory <имяфайла> <адресначала> <адресконца>
адрес начала считается так: cryptoff+0x1000 (в данном случае 0x2000) адрес конца так: cryptoff+cryptsize+0x1000 (в данном случае 0xA1000)
После создания дампа вводим kill,затем q Теперь выгружаем дамп на компьютер
После выгрузки копируем расшифрованный код обратно в бинарник
значение для seek высчитывается просто.берем оффсет архитектуры(в данном случае 0) и прибавляем cryptoff(в данном случае 4096)
После этого открываем готовый файл в любом Hex редакторе и ищем "/usr/lib/dyld" (без кавычек),затем ищем ближайший байт со значением 0x01 и меняем на 0x00,сохраняем,и если все правильно,то cryptid будет 0 если ввести команду
otool -l YandexMusic | grep crypt
Так расшифровывается исполняемый файл iOS приложения. Чтобы снять дамп хедеров,нужна утилита class-dump; Вводим class-dump -H YandexMusic и на выходе получаем дамп. Удачи!
Ответы