твики для взлома приложений

Как взломать iOS приложение для iPhone, iPad и iPod

твики для взлома приложений. cracking applications. твики для взлома приложений фото. твики для взлома приложений-cracking applications. картинка твики для взлома приложений. картинка cracking applications.

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

1. Crackulous: простая программа для взлома iOS-приложений

твики для взлома приложений. crackulous. твики для взлома приложений фото. твики для взлома приложений-crackulous. картинка твики для взлома приложений. картинка crackulous.

Данная программа довольно-таки проста в использовании и имеет удобный графический интерфейс. Ее можно легко установить из Cydia. Кому непонятно, для использования приложения Crackolous необходим jailbreak. Взлом iOS приложений производится одним движением, в результате становится доступным для установки на любое другое устройство Apple. Перейдем непосредственно к пошаговой инструкции по установке и использованию приложения Crackulous:

Добавьте репозиторий Hackulo.us. Используйте путь «Sources» — «Edit» — «Add» / «Источники» — «Изменить» — «Добавить» и введите «cydia.hackulo.us»). Теперь найдите и установите Crackulous.

твики для взлома приложений. Crackolous install. твики для взлома приложений фото. твики для взлома приложений-Crackolous install. картинка твики для взлома приложений. картинка Crackolous install.

Откройте приложение Crackulous и используя закладку «Applications» выберите необходимое приложение или игру, которую хотите взломать и нажмите на него.

твики для взлома приложений. applications choose. твики для взлома приложений фото. твики для взлома приложений-applications choose. картинка твики для взлома приложений. картинка applications choose.

Непосредственно процесс взлома приложения происходит в закладке «Cracking». В поле «Cracking» отображаются приложения, которые еще взламываются, а в «IPAs» завершенные.

твики для взлома приложений. Cracking applications. твики для взлома приложений фото. твики для взлома приложений-Cracking applications. картинка твики для взлома приложений. картинка Cracking applications.

Используйте любой файловый менеджер (к примеру, iFunBox). Найдите взломанное приложение по следующему пути: var/root/Documents/Cracked. Приложение взломано и готово к использованию.

Согласитесь, очень простой вариант, но не без подводных камней. Случается, что Crackulous выдает ошибку:

твики для взлома приложений. 1. твики для взлома приложений фото. твики для взлома приложений-1. картинка твики для взлома приложений. картинка 1.

Давайте перейдем к варианту решения данной ошибки взлома, как ко 2-ому способу взлома приложений iOS. Решение ошибки уступает простоте использования Crackolous, но половина, описанных ниже операций не требует повторных действий.

Подготовка iPhone к взлому приложений iOS

Установите «MobileTerminal» из стандартного репозитория «BigBoss». Обратите внимание в необходимости именно того, что имеет название без пробела.

твики для взлома приложений. 2. твики для взлома приложений фото. твики для взлома приложений-2. картинка твики для взлома приложений. картинка 2.

Удалите «GNU Debugger», если он имеет место в системе. Вполне вероятно, что он скрыт. В этом случае выберите режим «Expert» в разделе «Packages».

твики для взлома приложений. 3. твики для взлома приложений фото. твики для взлома приложений-3. картинка твики для взлома приложений. картинка 3.

твики для взлома приложений. 3a. твики для взлома приложений фото. твики для взлома приложений-3a. картинка твики для взлома приложений. картинка 3a.

Теперь установите скрипт «PoedCrackMod» из репозитория http://jcjeff.fav.cc/.

твики для взлома приложений. 4. твики для взлома приложений фото. твики для взлома приложений-4. картинка твики для взлома приложений. картинка 4.

Последним подготовительным шагом вам необходимо создать папку «Cracked» в директории /var/mobile/Documents/. Проделать эту процедуру можно любым файловым менеджером (например, iFile).

твики для взлома приложений. 5. твики для взлома приложений фото. твики для взлома приложений-5. картинка твики для взлома приложений. картинка 5.

Взлом iOS приложений 2-ым способом (для пользователей iOS 5+)

Завершив подготовку, давайте перейдем к работе со скриптом

Откройте MobileTerminal, который вы установили ранее.

твики для взлома приложений. 6. твики для взлома приложений фото. твики для взлома приложений-6. картинка твики для взлома приложений. картинка 6.

Последующие шаги выполняются для упрощения процесса ввода объемных по содержанию команд.
Шаг 2.

Нажмите кнопку с изображением кнопки «i», далее нажмите на 1 пункт «Shortcut Menu».

твики для взлома приложений. 7. твики для взлома приложений фото. твики для взлома приложений-7. картинка твики для взлома приложений. картинка 7.

Добавьте новый пункт, нажав на кнопку с изображением плюса.

твики для взлома приложений. 8. твики для взлома приложений фото. твики для взлома приложений-8. картинка твики для взлома приложений. картинка 8.

Укажите название «горячей» клавиши (например «Crack!»). Затем наберите саму команду

Внимание! Соблюдайте реестр и пробелы в указанных местах!

твики для взлома приложений. 9. твики для взлома приложений фото. твики для взлома приложений-9. картинка твики для взлома приложений. картинка 9.

Сохраните и перейдите обратно к MobileTerminal. Нажмите на кнопку в виде синей стрелки напротив кнопки настроек и выберите свою команду, в данном случае «Crack!». Вы можете убедиться, что она сразу появилась в терминале. Теперь вам больше не надо запоминать эту команду и вводить ее каждый раз.

твики для взлома приложений. 10. твики для взлома приложений фото. твики для взлома приложений-10. картинка твики для взлома приложений. картинка 10.

Нажмите «return», тем самым выполнив команду, в результате должен появится список приложений, установленных на вашем смартфоне.

твики для взлома приложений. 11. твики для взлома приложений фото. твики для взлома приложений-11. картинка твики для взлома приложений. картинка 11.

твики для взлома приложений. 12. твики для взлома приложений фото. твики для взлома приложений-12. картинка твики для взлома приложений. картинка 12.

Взлом iOS приложений 2-ым способом (для пользователей iOS 4+)

Отдельного внимания заслуживают пользователи iOS 4 версии, потому как у них возникает ошибка.

твики для взлома приложений. 12 1. твики для взлома приложений фото. твики для взлома приложений-12 1. картинка твики для взлома приложений. картинка 12 1.

P.S. Решение ошибки взлома на iPhone 5+

твики для взлома приложений. error. твики для взлома приложений фото. твики для взлома приложений-error. картинка твики для взлома приложений. картинка error.

Cразу после запуска введите команду

В результате произведенных действий все команды выполняются от имени root пользователя и вы можете приступить ко взлому приложения.

Источник

Гайд по твикам для iOS

Сегодня расскажу про некоторые полезные твики и утилиты, расписывать буду более-менее подробно.

Репозиторий (repo) это электронное хранилище данных. Добавляется репо в Cydia так:

Открываем Cydia, переходим на вкладку «Источники» (внизу), жмём кнопку «Правка» (справа сверху), затем «Добавить» (слева сверху), вписываем адрес репо, снова «Добавить», ожидаем. После прогрузки репозиторий появляется в источниках.

Респринг — (Restarting Springboard), по сути, это рестарт пользовательского интерфейса, то есть рабочего стола iOS.

Первым будет запись телефонных разговоров:

Это русскоязычный репозиторий, ориентирование в нём проблем вызывать не должно.

2. Заходим в него, выбираем категорию «Твики», ищем там Limneosos, жмём «Установить/Принять» (всё справа сверху).

4. Заходим в репо, категория «Твики», ищем AudioRecorder XS (iOS 12/13), устанавливаем. Если ваша iOS ниже 12, там же есть AudioRecorder 2 (iOS 8, 9, 10, 11).

Сделал именно так, потому что когда устанавливал этот же твик непосредственно из ReJail, он вылетал при включении на iOS 13.4, а пикабушник @eloginov в #comment_170458230 сказал, что у него на 13.5 всё в порядке, ориентируйтесь сами.

Готово, можете вести запись своих телефонных разговоров. Иконка приложения появится на рабочем столе устройства.

твики для взлома приложений. 1590640881145238936. твики для взлома приложений фото. твики для взлома приложений-1590640881145238936. картинка твики для взлома приложений. картинка 1590640881145238936.

Также появится меню управления утилитой в настройках телефона. Откройте настройки и прокрутите почти в самый низ, раздел настроек приложений из Cydia находится сразу перед разделом настроек приложений из App Store.

твики для взлома приложений. 1590641480166362144. твики для взлома приложений фото. твики для взлома приложений-1590641480166362144. картинка твики для взлома приложений. картинка 1590641480166362144.

В этом меню можно включить/выключить утилиту, настроить как будет проходить запись и где. Для тех, у кого плохо с английским: нужно выключить оповещение собеседника о записи, для этого отключаем «Play Warning Audio Message» и «Проигрывать звук Beep», если они вдруг включены.

твики для взлома приложений. 1590641810176588449. твики для взлома приложений фото. твики для взлома приложений-1590641810176588449. картинка твики для взлома приложений. картинка 1590641810176588449.

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

твики для взлома приложений. 1590642029121171342. твики для взлома приложений фото. твики для взлома приложений-1590642029121171342. картинка твики для взлома приложений. картинка 1590642029121171342.

Ну и еще я привязал на всякий случай облако, записи туда сгружаются автоматически. Это настраивается уже в самой программе, нужно тапнуть на иконку приложения и нажать на шестерёнку справа сверху, поддерживает DropBox и Google Drive.

Следующий мой обязательный твик это YouTubeTools. Позволяет убрать рекламу в видео, проигрывать видео в фоновом режиме, ну и всякое по мелочи.

1. Заходим в уже добавленный ReJail.

2. Категория «Твики», ищем YouTube Tools Rus, устанавливаем.

Твик полностью русифицирован, меню управления появляется там же, в блоке настроек.

твики для взлома приложений. 1590645003159621814. твики для взлома приложений фото. твики для взлома приложений-1590645003159621814. картинка твики для взлома приложений. картинка 1590645003159621814.

Далее пойдёт Safari Plus. Хоть в 13 версии iOS и добавили поддержку скачивания файлов, этот твик имеет более широкий спектр возможностей. Можно включить поддержку скачивания видео из стандартного плеера Safari; включить выгрузку сразу нескольких и любых файлов, включая файлы рут фс; включить полноэкранный скроллинг; добавить в меню открытия новой вкладки пункты «Открыть в фоновом режиме», «Открыть в приватной вкладке» ну и по мелочи. Мне нравится.

Твик находится в репо BigBoss, ничего добавлять не нужно, этот репозиторий добавлен по умолчанию. Репозиторий достаточно громоздкий, искать руками не удобно, поэтому идём в поиск, он находится справа внизу. Пишем в строку поиска «Safari Plus», обязательно жмём кнопку поиска, чтобы цидия показала какие твики в каких репозиториях находятся. Выбираем Safari Plus от BigBoss, устанавливаем.

Примечание: поиск также выдаёт версию «Safari Plus Rus» из репо ReJail, это тот же самый твик того же BigBoss’a, только русифицированный, можете в принципе поставить его. Себе я поставил оригинальный.

Готово, можете настраивать Safari во всё том же блоке настроек.

твики для взлома приложений. 1590645002187453245. твики для взлома приложений фото. твики для взлома приложений-1590645002187453245. картинка твики для взлома приложений. картинка 1590645002187453245.

Далее пойдёт очень хороший и функциональный менеджер файлов Filza. Тем, кто не очень хорошо соображает в системе с ним нужно быть аккуратнее, можно удалить что-то очень нужное или дать неправильные разрешения каким-нибудь файлам и получить неприятную ситуацию.

Установим его через поиск, можно ставить любой на выбор, я поставил оригинальный от BigBoss’a, в нём также всё по-русски. Filza умеет устанавливать приложения и *.deb пакеты.

твики для взлома приложений. 1590645617147117070. твики для взлома приложений фото. твики для взлома приложений-1590645617147117070. картинка твики для взлома приложений. картинка 1590645617147117070.

Иногда выскакивает окошко, с просьбой активации на 5 секунд, его можно игнорировать. После установки добавляет кнопки «Открыть/Добавить/Показать в Filza» в разные контекстные меню, например в Safari, в менеджере загрузок.

твики для взлома приложений. 1590646904135727520. твики для взлома приложений фото. твики для взлома приложений-1590646904135727520. картинка твики для взлома приложений. картинка 1590646904135727520.

твики для взлома приложений. 159064690515401928. твики для взлома приложений фото. твики для взлома приложений-159064690515401928. картинка твики для взлома приложений. картинка 159064690515401928.

Дальше мне друг рассказывал, сам я этим не пользуюсь, естественно, это ведь незаконно.

Обман транзакций внутри приложений. Друг сказал, что работает это не везде и 100% не работает в server-sided прилоложениях, то есть там, где транзакции проверяются на сервере, так что онлайн игори мимо.

1. Друг добавлял репо https://cydia.akemi.ai и устанавливал оттуда из категории «Твики» AppSync Unified. Это динамическая библиотека, которая патчит installd в нужную сторону. По-русски говоря позволяет ставить всякие левые приложения не из App Store.

2. Друг вбивал в поиск LocalIAPStore и ставил из ReJail. Если непонятно, то вот L O C A L i A P S T O R E слитно.

Друг сказал, что после установки и включения твика он нажимал в приложении на какую-нибудь покупку и отменял подтверждение, если не проходит, значит в этом приложении не работает.

Включается в настройках. Скрины тоже друг скидывал.

твики для взлома приложений. 1590657372178397938. твики для взлома приложений фото. твики для взлома приложений-1590657372178397938. картинка твики для взлома приложений. картинка 1590657372178397938.

твики для взлома приложений. 159064801214381140. твики для взлома приложений фото. твики для взлома приложений-159064801214381140. картинка твики для взлома приложений. картинка 159064801214381140.

Блокировщик рекламы. Для себя я выбрал BlockYouX. Заявлена блокировка over8000 рекламных ресурсов (могу подтвердить, что блокирует подавляющее большинство рекламы), твик мягко работает с файлом hosts, не влияет на скорость этих ваших интернетов, не сосёт батарею. Не ставлю блокировщики из App Store потому что все они используют VPN.

Примечание: не ставьте кучу блокировщиков из Cydia, файл hosts не резиновый, так сказать. Не исключены ошибки и хреновый интернет, а то и вовсе он работать не будет. Выберите один блокировщик.

2. Идём в категорию «Ceadd-Repo», ставим BlockYouX. Настроек не требует. Работает.

Твик называется CCModules Pro, взял с ReJail. Он полностью на английском сам по себе и заменяет некоторые русские названия в настройке пункта управления на английские, но это я думаю не страшно. Пройдёмся по настройкам.

После установки твика расширяется стандартное меню кастомизации пункта управления, поэтому идём в «Настройки->Пункт управления->Настроить элементы управления».

Во-первых, сделаем нормальное отключение Wi-Fi/Bluetooth:

Жмём «Connectivity», выбираем вайфай/блютуз, тыкаем первый переключатель. Оба пунтка имеют одинаковые настройки. По факту там вообще один переключатель, другие два не активны, потому что не работают (Broken), не обращайте на них внимание.

твики для взлома приложений. 1590657373142076071. твики для взлома приложений фото. твики для взлома приложений-1590657373142076071. картинка твики для взлома приложений. картинка 1590657373142076071.

твики для взлома приложений. 159065737512423179. твики для взлома приложений фото. твики для взлома приложений-159065737512423179. картинка твики для взлома приложений. картинка 159065737512423179.

твики для взлома приложений. 1590657375175293563. твики для взлома приложений фото. твики для взлома приложений-1590657375175293563. картинка твики для взлома приложений. картинка 1590657375175293563.

Теперь нужно сделать Респринг, чтобы эти настройки начали работать, но сделать это просто так нельзя. Добавим кнопку, чтобы было можно.

Возвращаемся к настройке элементов, ищем внизу пункт «Power Actions», жмём на плюс. Элемент добавлен, нужно настроить. Жмём на сам элемент и далее:

Первый пункт «Closed Module Action» означает выбор действия по однократному нажатию кнопки, я выбрал «Respring». Пройдёмся по пунктам, чтобы вы понимали что это вообще такое.

твики для взлома приложений. 1590657646150745063. твики для взлома приложений фото. твики для взлома приложений-1590657646150745063. картинка твики для взлома приложений. картинка 1590657646150745063.

UICache. SpringBoard хранит кеш всех значков приложений. При установке или удалении приложений из App Store installd выполняет эти изменения и обновления, которые кэшируют для их отражения. При установке приложений другими способами (например, через Cydia) installd никак не задействован, поэтому для правильного отображения приложения на главном экране кеш должен обновляться «вручную», каким-то образом.

Именно это и делает uicache. Как именно это достигается, это зависит от версии iOS, но в основном это комбинация удаления файлов кеша, убийства/перезагрузки служб, работающих с ними, и итерации по установленным приложениям для создания нового кеша.

Если вышесказанная хрень вам непонятна, значит этот пункт вам тоже не нужон.

Safe Mode это фишка Cydia, которая предотвращает ваше устройство от постоянного цикла ошибок, давая шанс удалить корявое расширение без полного восстановления устройства. Зачем нужна кнопка ручной активации безопасного режима, если он автоматически включается сам, когда это требуется я не понял.

Следующий пункт меню «Expanded Cells Order» отвечает за вызов дополнительного меню при длительном нажатии на значок, настраиваем как удобно:

твики для взлома приложений. 1590659128159466173. твики для взлома приложений фото. твики для взлома приложений-1590659128159466173. картинка твики для взлома приложений. картинка 1590659128159466173.

«Module Size» отвечает за кастомизацию размеров, я туда не лазал, всё нормально по умолчанию.

«Centered Expanded Labels» значит отцентровать названия команд, которые всплывают при длительном нажатии.

Включение «Always use Expanded View » будет всегда вызывать дополнительное меню даже при однократном нажатии на значок.

Пункт «Confirmations» отвечает за дополнительное подтверждение выбранного действия при нажатии на команду, я включил все, мало ли что.

Также твик CCModules Pro добавляет возможность воткнуть выбранный контакт в центр управления и выполнять с ним какие-то действия, но я этим не пользуюсь, меня устраивают стандартные контакты, можете поиграться с этим сами.

Кнопка респринг добавлена, можно жать и нормально включать/выключать Wi-Fi/Bluetooth.

Принудительный выбор сети осуществляется длительным нажатием на кнопку мобильных данных, выскакивает такое меню:

твики для взлома приложений. 1590660530174088486. твики для взлома приложений фото. твики для взлома приложений-1590660530174088486. картинка твики для взлома приложений. картинка 1590660530174088486.

И только что я узнал, что пикабу позволяет добавлять в пост максимум 51 блок текстов/картинок/видео, а у меня их осталось три, включая этот. Будем сжиматься и закругляться.

Идём в добавленное репо Limneos (как раз пригодился Limneosos), категория «Твики», ищем CallBar XS (iOS 12/13), ставим и радуемся. Прекрасно работает даже без настройки, нужно только включить (ползунок Enabled в настройках). Твик на английском, но по настройкам лазить не будем, потому что кончаются грёбаные блоки на пикабу)) Скажу только самое основное:

Когда вам поступает звонок всплывает всего лишь небольшое окошко вместо ОКНИЩА на весь экран, его можно двигать, а также свайпом влево можно просто свернуть, звонок не сбросится.

Чтобы поставить TouchID или FaceID на всё, что вашей душе угодно ставим с того же репозитория Limneos твик под названием BioProtect XS (iOS 12/13) или BioProtect X (iOS11) для соответствующей версии. Штука также на английском, нужно включить и выбрать к чему нужно поставить протекцию. Выбирать нужно в настройках в блоке «Protected Items», можно выбирать приложения, папки, настройки, вкл/выкл и т.д.

Всё, последний блок, здесь напишу про то, как обходить определение приложениями джэйлбрэйка. Короче говоря есть несколько способов определить присутствие джэйлбрэйка на вашем устройстве, а вот конкретного байпасера под всё и от всего вроде как нет. Поставим байспасер под самую распространенную проверку и еще один на всякий случай.

Первый это A-Bypass.

Добавляем репозиторий https://cydia.kiiimo.org жмём на категорию «Все пакеты», ставим A-Bypass. Чтобы включить обход определения идём в настройки, ищем A-Bypass, выбираем нужное приложение. На всякий случай сделайте респринг.

Второй это LibertyLite, можно поставить бета версию репозитория kiiimo, она повыше, но она всё еще бета. На ReJail есть не бета, но заявлена поддержка iOS 11-12.4.

То есть ставим оба твика и проверяем какой работает под конкретное приложение. Если не работает вообще нихрена, напишите, я подготовлю материал и сделаю пост. Всё, на сегодня закончим. Удачи, коммьюнити)

Источник

Взлом и внедрение своего кода в чужое iOS-приложение

твики для взлома приложений. pfu9i9adsi7un59l94fgjmm7uhq. твики для взлома приложений фото. твики для взлома приложений-pfu9i9adsi7un59l94fgjmm7uhq. картинка твики для взлома приложений. картинка pfu9i9adsi7un59l94fgjmm7uhq.

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

На нашей конференции Mobius разработчик Мурад Татаев рассказывал о взломе iOS-приложений — и о том, что разработчики могут делать для защиты от него. А теперь мы расшифровали этот доклад (видеозапись также прилагаем). Далее повествование идёт от лица спикера.

Мы не будем говорить о защите сетевого слоя — о SSL Pinning и тому подобном, а рассмотрим только взлом приложения. Будет теоретическая часть, где мы разберемся с некоторыми понятиями, и практическая, где применим полученные знания.

Начнем с теории

Взлом

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

Относительная безопасность

Относительная безопасность означает, что затраты на атаку превышают полученную в результате выгоду. Допустим, у вас есть погодное приложение, в котором нет внутренних покупок. Вы пользуетесь открытым API, вам нет смысла париться о безопасности. И в результате взлома вы ничего не потеряете.

Но если вдруг у вас что-то серьезнее, например, фоторедактор, в котором через встроенные покупки можно открыть дополнительные фильтры, то стоит задуматься о безопасности.

Нужно понимать, что абсолютной безопасности вы не добьетесь. Вы можете добиться некоторой «лучшей обезопашенности» по сравнению с тем, что было раньше.

Почему важно защищать приложение?

Чтобы это понять, нужно увидеть в этом смысл. И он в основном экономический, реже — репутационный.

Для примера возьмем YouTube Tools — твик для отключения рекламы в приложении YouTube. В чем проблема: из-за того, что вы не смотрите рекламу, YouTube недополучает денег. Разработчики YouTube знают об этом и часто борются с различными твиками.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Еще один пример — обход платного скачивания Minecraft. В этом случае особенно не защитишься, потому что пользователь скачает приложение, расшифрует его, выложит файл, и его скачают другие.

Но в двух предыдущих вариантах (YouTube и Plague Inc.) есть способы бороться с хакерами, причем их довольно много.

Как защищаться?

Это главный вопрос. Есть несколько вариантов, которые я знаю:

Совет: проверяйте, нет ли в интернете вашего взломанного приложения.

Проверка на джейлбрейк

Плюсы: легко и дешево использовать (достаточно скопировать и вставить код).

Минусы: во-первых, это очень легко пропатчить.

Во-вторых, страдают некоторые мирные пользователи, которые могли поставить джейлбрейк не чтобы получить что-то ваше бесплатно, а чтобы пользоваться различными другими твиками.

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

Проверка на дебаггер

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Плюсы: легко использовать, сложнее патчить.

Это хорошо работает с отложенными ошибками. Если вы узнали, что пользователь запустил ваше приложение с подключенным дебаггером или у него джейлбрейк и так далее, вы можете конкретно в каких-то критичных местах не давать ему проходить дальше. Такую ошибку нужно показывать не сразу, а делать это позже, чтобы код проверки не был в очевидном месте.

Минусы: это тоже патчится.

Примерный код проверки выглядит так:

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Мы создаем структуру для информации о процессе, задаем размер этой структуры и с помощью утилиты systemctl пытаемся запросить флаги для текущего процесса. Если у нас получилось запросить их — идем дальше и проверяем, активен ли флаг P_TRACED. При помощи этого флага производится дебаггинг в iOS.

Если флаг стоит не в null, то нас дебажат.

Обфускация кода

Есть различные обфускаторы, один из популярных, насколько я понял по GitHub — это SwiftShield.

Плюсы: код превращается в лабиринт, в нем вообще не разберешься. Особенно классные обфускаторы создают дополнительные методы, мусор, чтобы запутать хакера. Насчет Swift не уверен, но в C#, Java и Kotlin есть такие.

Минусы: иногда этот лабиринт сказывается и на вас. И еще крэш-логи приходится каждый раз расшифровывать.

На скриншоте — крэш-лог одного из приложений.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Над зеленой полосой — крэш-лог до расшифровки, ниже — расшифрованный крэш-лог. Крэш-лог нужно расшифровывать через утилиту, которая идет вместе со SwiftShield. Это можно автоматизировать: засунуть в CI дополнительный job, чтобы подтягивать все крэш-логи, прогонять их через утилиту и что-то делать с ними дальше. Но это дополнительная работа.

Еще один большой минус — нет готовых решений, годных для энтерпрайза. Они опенсорсные. Это не плохо, но нужно быть осторожным, подтягивая что-то опенсорсное в ваш проект, особенно если он связан с безопасностью и обфускацией.

Я за свою практику не сталкивался с тем, чтобы кто-то в iOS пользовался обфускатором кода, поэтому это очень редкая практика.

Strip Swift Symbols

Плюсы: легко и дешево использовать, удаляется часть информации о Swift-классах. И это включено по умолчанию, то есть Xcode думает о вашей безопасности.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Минусы: информацию о классе можно найти другим способом.

Зачем нужно включать Strip Swift Symbols?

Допустим, у нас есть стандартный класс ViewController, label, viewDidLoad и так далее. Прошу обратить особенное внимание на статичную функцию buildScreen, о ней мы еще поговорим.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Если вы оставили Swift Symbols и после этого прогнали бинарник вашего приложения через специальную утилиту dsdump, вот что появится в логе:

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Ниже можно увидеть, что есть некоторые свифтовые методы, и по названиям методов и переменных вы можете примерно понять, что здесь происходит и важен ли для вас этот класс. Что самое интересное, здесь нет статического метода buildScreen. Статические методы находятся в другом месте.

Вот что будет, если включить эту функцию: как вы видите, данных о свифтовых методах просто нет. Есть все, что связано с Objective-C и бриджингом для Objective-C.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Валидация покупок на сервере

Это очень хорошая практика, которой придерживаются не все. Среди топ-100 приложений я находил немало тех, у которых валидация все еще производится на девайсе, и при помощи одного твика можно обойти валидацию (подмена ответа сервера).

Плюсы: безопасность.

Минусы: вам придется покупать хостинг.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

А если вы будете валидировать на клиенте?

Плюс: вам не нужен сервер.

Минус: потенциальная потеря денег. Твик LocaliAPStore будет вашим худшим врагом.

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

Еще есть одна RPG-игра, она тоже находится в топах, там тоже валидация покупок на девайсе. Даже у известного раннера про подземки и бег с поездами такая же проблема — валидация идет на девайсе.

Инструменты — чем я пользуюсь каждый день

Filza — файловый менеджер, в котором скрыто очень много функций. С его помощью вы можете поднять сервер, FileDAV и обмениваться файлами с компьютером.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Unc0ver — это джейлбрейк, которым я пользуюсь. Он поддерживает версии вплоть до iOS 13.5.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Но с iOS 13.5 я бы посоветовал быть осторожней, потому что встроенный браузер в приложении, Safari View Controller, работает плохо. Лично у меня, когда я открываю ссылки, появляется окно внутреннего браузера (Safari View Controller), которое абсолютно пустое и ничего не грузит.

Cydia — это менеджер пакетов для взломанных устройств.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Наверное, некоторые из вас слышали, что Cydia — всё, закрыта, но нет, она поддерживается и вполне живет. Здесь есть куча разных твиков. Мы будем использовать Cydia в основном для того, чтобы устанавливать различные инструменты на устройство. С Cydia вы можете скачать ту же самую Filza.

NewTerm — это мобильный терминал. Он тоже доступен из Cydia и тоже полезная штука.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

FLEXing — твик для поверхностного анализа приложения на устройстве. При помощи него можно посмотреть интернет-трафик, ваши файлы и тому подобное. Снифер трафика обходит SSL Pinning.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Я так проверял трафик в Instagram, а там есть SSL Pinning,

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Можно посмотреть объекты в куче, которые есть сейчас, и вызвать различные методы в этих объектах. Есть общий список классов для приложения, можно поверхностно посмотреть, что там есть. Можно посмотреть UserDefaults и, неожиданно, Keychain.

Keychain — это, грубо говоря, тот же самый UserDefaults, только зашифрованный вашим паролем, то есть пин-кодом от вашего устройства. Если вы введете пин-код, Keychain разблокируется, и все, что там лежит, можно посмотреть. Так что я бы вам советовал не хранить ничего незашифрованного в Keychain, потому что до этого можно добраться и что-то поменять.

Как делать не надо

В AppDelegate есть строка isUnlocked:

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

То есть разработчик добавил в AppDelegate переменную, с помощью которой он смотрит, куплено приложение или нет.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Естественно, эта переменная легко меняется: вы жмете кнопку i, дергаете свитч, нажимаете «ОК». Поменяли переменную, закрыли меню флексинга, и у вас полностью «купленное» приложение.

Ghidra

Классная штука, дизассемблер от АНБ США, здесь можно вставить шутку про слежку от спецслужб.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Переходим к практике

Мы будем практиковаться на тестовом проекте.

Как достать расшифрованное приложение?

Есть ограничения — не дампятся extensions. Но за все время, что я этим пользовался, мне extensions и не были нужны.

Обход проверки на джейлбрейк

Патчим бинарник. Тот проект, что вы скачали ранее, выглядит так: простой белый экран, на нем — label с текстом: либо Hacked, либо Safe and sound в зависимости от того, джейлбрейкнуто устройство или нет.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Если все сделали правильно, это будет выглядеть примерно так:

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Как найти необходимый участок кода?

Так как у нас код не обфусцирован, нужно либо вручную, не давая методам слишком очевидные имена, либо утилитами обфусцировать код.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

При помощи поиска ищем слово jail в настройках. Найдется пара методов. И если вы нажмете на один из них, как можно увидеть чуть выше, курсор прыгнет в нужную область памяти.

Патчим инструкцию

Здесь вы видите инструкцию bl (branch with link) — это по сути прыжок на функцию, которая ожидает, что из этой функции что-то вернется в регистре w0. Если мы знаем, в какой регистр вернется значение, мы можем выполнить команду mov (присваивание).

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

То есть в регистр w0 записывается как раз то, что возвращается с метода. Мы записываем 0 (то есть false), экспортируем бинарник. Так как мы не трогали остальные фреймворки, нам нужен только бинарник.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

После этого все подписываем, собираем и устанавливаем на устройство.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Готово — вы пропатчили приложение.

Подпись и установка приложения

Необходимые предварительные требования:

Копируем необходимые файлы

Создаем Adhoc Provisioning Profile и копируем его в папку с приложением. Дальше выполняем код:

В итоге мы получим entitlements.plist, который нам нужен. Profile.plist уже не нужен. Система безопасности iOS построена вокруг этих entitlements.

security — утилита macOS, с помощью которой можно работать с сертификатами, паролями, keychains и всем, что связано с безопасностью.

После этого копируем Adhoc Provisioning Profile в контейнер приложения (папку Payload/*.app) и переименовываем его в embedded.mobileprovision. Это обязательно!

Находим ключ для подписи

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Этот код ищет сертификат, при помощи которого можно подписать приложение. В моем случае я выбрал iPhone Distribution, можно выбрать Developer, разницы я не заметил. Она может возникнуть, когда вы будете пытаться залить это все в App Store. Но в локальном тесте разницы нет.

Подписываем файлы

Это самое интересное. Вводим codesign, не забываем подписывать фреймворки. В моем случае там лежали только dylib, если лежат еще и фреймворки — обговорим этот кейс позже.

Не забывайте сначала подписать основной бинарник, а потом все приложение. В таком порядке у меня все работало отлично.

И устанавливаем. Не забывайте, чтобы устройство было подключенным через кабель, иначе работать не будет.

Cтавим через ideviceinstaller, а не Xcode — ideviceinstaller пишет логи в консоль, и вы сможете понять, на каком шаге допустили ошибку. Это довольно сильно облегчает дебаг.

Инъекция фреймворков и подмена реализации методов

Дальше начинается самое интересное, то есть настоящий взлом. Необходимые инструменты:

Потренируемся!

Советую всем начинать с простого и только потом бежать взламывать пентагоны.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Приложение называется Mobius Conf. У вас есть 300 монет, можно добавить монеты, то есть их купить, но мы так делать не будем, либо можно что-то купить внутри приложения за 200 монет.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Скорее всего, большинству из вас код будет непонятен. Метод вызывается в момент. когда загружается ваш фреймворк. Стоит учитывать, что именно в этот момент приложения еще нет, оно только грузится.

Здесь нельзя сразу пытаться что-то менять. Именно поэтому здесь прописан dispatch_after. Через три секунды на экране появится алерт с текстом вроде «Вы это сделали, классно». Если вы скопировали, вставили, все заработало — прекрасно, это первый шаг в сторону взлома.

Поиграем с кодом

Cydia Substrate — это такой фреймворк для подмены реализации методов, другими словами, для хукания методов. Есть метод с изначальной реализацией, которую задумал программист, и есть ваш метод. Вы берете и подменяете эти методы. На этом фреймворке держатся все твики, которые лежат в Cydia.

Попробуем вызвать какую-нибудь функцию.

В навигаторе Xcode откройте папку Products. Вы можете открыть файл MobiusStep2.app в Finder, перейти в папку app через терминал, войти в app-контейнер и с помощью утилиты dsdump принтануть все символы, которые есть в приложении.
Все статичные методы в приложении тоже реализованы в виде символов.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Вводите ViewDidLoad или то, что вам интересно. Здесь есть два метода, я выбрал второй, вы можете выбрать первый — по сути, это одно и то же.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Копируете всю строку, в Xcode удаляете весь предыдущий код и вводите команду MSFindSymbol.

Что такое MS? Изначально CydiaSubstate называлась MobileSubstate, и MS — дань уважения этому. MSFindSymbol делает то же, что и dsdump — идет поиск символа, копируется отступ по памяти, дополнительные данные. Всё это нужно для того, чтобы позже можно было что-то менять по этому символу.

Можно что-то вызвать по этому символу:

Но имейте в виду, что в этом методе могут вызываться различные переменные, которые еще не инициализированы. И возможно, приложение будет просто крашиться. Поэтому будьте осторожны, и лучше всего через Ghidra заранее проверять метод, который вы хотите вызвать: посмотреть в интерпретаторе, не идут ли вызовы в какие-то локальные переменные, которые еще не инициализированы, и так далее.

Если вы так вызовете символ в этом проекте, вы увидите, что принтанется viewDidLoad. Из-за того, что вы сами вызвали viewDidLoad, и после этого вызвался «натуральный» метод, у вас в консоли продублируется текст viewDidLoad.

Давайте вызовем свой код после viewDidLoad.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Это уже что-то более боевое и интересное. Из предыдущего кода остается MSFindSymbol, но только вызов MSFindSymbol заменяется на MSHookFunction. Здесь оригинальный метод заменяется на засвизленный, то есть на наш.

В нашем методе мы сначала вызываем оригинальную имплементацию в виде Load, и после него идет наш код. Ничего оригинального не стал придумывать, просто через 2 секунды отображаю алерт.

Как насчет бесконечности денег?

Если вы будете бродить по символам, найдете интересный символ PurchaseManager spend. Из названия понятно, что этот метод будет вызван, если что-то нужно потратить, например, деньги. И этот метод можно захукать.

С помощью Ghidra можно понять и проверить, что этот метод на входе принимает аргумент в виде количества денег, и просто подменить оригинальную реализацию своей.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Разница в том, что мы не учитываем количество денег, которое потратил пользователь, — всегда передаем 1. Каждый раз, когда вы нажимаете кнопку покупки, единичка будет уходить. Можно передавать 0, и тогда у вас будет бесконечное количество денег (они не будут тратиться).

Потренировались? Будем инжектить в реальное приложение.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Здесь есть Foundation, Objective-C, UIKit, SwiftCore и так далее.

При помощи optool можно добавить свою дополнительную строку. Вводим код:

Добавится новая строка. Это можно проверить, вызвав команду:

Вы увидите, что в конце добавлена новая строка на загрузку нового фреймворка. Обязательно после фреймворка написать / и путь до бинарника, иначе ничего не подгрузится и не будет работать.

Не забудьте подписать фреймворк!

Не забудьте скопировать фреймворк в папку с фреймворками — та строка, что мы писали, магическим образом не будет искать по всему проекту — только в папке Frameworks.

Можно объединить все в один shell-файл, чтобы не вводить каждый раз несколько команд. Можно добавить еще одну команду для подписи сразу всех фреймворков.

Вы заинжектили свой фреймворк и свой код в чужое приложение.

Но! Хукать свифтовые методы можно только на взломанном устройстве.

Если хотите хукать не только на взломанных устройствах и карма смотрит на вас лицом, то вам повезет, и то приложение, которое вы будете исследовать, будет на Objective-C.

Это еще одна причина, почему я говорил, что писать надо на Swift. Вы сейчас увидите, почему не следует писать на Objective-С что-то безопасное.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Это приложение MobiusStep3. Здесь кнопка добавления денег пропала, есть только кнопка «Потратить». Наша цель — иметь бесконечное количество монет. В этом нам поможет Objective-C Runtime и тот же свизлинг методов.

Подготовка проекта

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Их немного, и если присмотреться, можно заметить уязвимый метод spend. Мы его взламывали ранее, и он может принести потенциальные проблемы.

Будем свизлить как раз-таки его, здесь классический свизлинг методов. Находим класс по имени, находим селектор по имени и подменяем реализацию оригинального метода на неоригинальный.

твики для взлома приложений. image loader. твики для взлома приложений фото. твики для взлома приложений-image loader. картинка твики для взлома приложений. картинка image loader.

Не забываем сохранять ссылку на предыдущую (оригинальную) реализацию. Можно заметить строку с переменной originalImplementation, так мы держим ссылку на оригинальную имплементацию. IMP — это сишная структура, просто так IMP-структуры не вызвать, приходится их кастить.

Внизу видно, как мы их закастили через swizzled_spend. id, SEL — это обязательно. Наконец, вы можете увидеть int в коде, который кастим. На следующей строке вызываем этот метод и передаем 0 или 1. Единица удобна для дебага.

Все работает без мам, пап, кредитов и Cydia Substrate. Причина — особенность гипердинамичного Objective-C Runtime, где связывание с методами происходит как можно позже.

Резюмируем

И помните — абсолютной безопасности не существует. Но можно сделать безопаснее, чем было раньше.

Если вам захочется обсудить с Мурадом его доклад, напишите ему:

Если вы дочитали досюда и вы не злонамеренный хакер (фу таким быть) — тогда, скорее всего, вы мобильный разработчик. Тогда обращаем ваше внимание, что следующий Mobius пройдет 22-25 ноября, и там будет много новых докладов. Хакерский колорит в их случае не обещаем, а вот актуальность для мобильных разработчиков — вполне.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *