August 1, 2024

Блокировка проверки чека приложений

Как известно, проверка наличия покупки в iOS приложениях осуществляется через проверку чека (подробнее здесь). Так же известно о возможности перенести кэш приложения, и, если в нём прописано наличие выполненной покупки, приложение может принять это за чистую монету (подробнее здесь), разблокировав покупку. Однако бывают ситуации, когда кэш с записью о наличии покупки перенесён, и приложение успешно принимает эту запись, но всё равно дополнительно выполняет проверку чека, после чего обнаруживает подвох, сбрасывая покупку. Что делать в такой ситуации? Кажется победа близка, премиум получен, но всё портит одна маленькая проверка. Если проверка происходит локально на устройстве, увы, тут пока ничего не придумали. Но в том случае, когда проверка осуществляется на сервере, решение есть, и заключается оно в блокировке запроса приложения к серверу. Если после неудавшейся проверки приложение не сбрасывает премиум, а решает попробовать позже, и мы достигаем желаемого результата. Конечно, позже оно тоже не сможет)) Но мы ему об этом не скажем 🤫

Содержание


Теория

Создание профиля

Установка профиля


Теория

Как же заблокировать запросы к серверу проверки? На iOS существуют специальные профили конфигурации, позволяющие устанавливать некоторые настройки, недоступные для изменения вручную. Раздел с профилями находится в настройках по пути "Основные" → "VPN и управление устройством".

В числе прочих настроек профили позволяют блокировать запросы любых приложений к адресам с указанными доменами. Например, приложение хочет запросить некую информацию c example.com, но профиль не даст ему это сделать. Так как наша цель — заблокировать проверку чека, требуется установить профиль, блокирующий доступ к домену проверки. Для большинства приложений эти домены будут разные.

Блокировка доменов происходит через локальное dns, которое нигде не отображается. Поэтому помните! Профиль действует, пока не включено никакое vpn, и с ним запускать взламываемые приложения нельзя.

На канале iOS Apps Cache готовые профили будут прикладываться к постам с приложениями, нуждающимися в блокировке проверки. Если вы не делаете взломы сами, пропустите шаги с созданием профиля и перейдите к его установке.


Создание профиля

Заблокировать можно далеко не каждую проверку. Очень часто случается так, что проверка покупок осуществляется на том же домене, с которого запрашиваются различные данные, необходимые для работы приложения. Например Songsterr по запросу "https://www.songsterr.com/webhook/appstore/sri/verify" проверяет покупки, а по запросу "https://www.songsterr.com/api/meta/439171" получает информацию о треке. Если заблокировать домен "www.songsterr.com", приложение работать не будет. Тем не менее, есть приложения, у которых проверка происходит на обособленном домене. Чаще всего это те, которые используют не свой, а сторонние сервисы для расшифровки чека, такие как RevenueCat или Buy-itunes. После того, как вы взломали приложение при помощи подмены и определили адрес, ответственный за проверку, можно перейти к блокировке.

Как же сгенерировать блокирующий профиль? В этом поможет специальная команда.

Запустите команду. Введите домены, которые необходимо заблокировать или ссылки их содержащие. Чтобы добавить несколько доменов в один профиль, нажимайте «+». Затем нажмите "Готово".

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

Профиль сгенерируется и начнёт устанавливаться.


Установка профиля

Нажмите "Разрешить"

Перейдите в "Настройки". Вверху на главной странице будет загруженный профиль.

Нажмите на него.

Нажмите "Установить"

Введите пароль

Нажмите "Далее".

Нажмите "Установить".

Перенесите кэш приложения как обычно, после чего можете его использовать.


Выражаю благодарность t.me/tryonyx за поданную идею.