Лечение VKApp для iPhone

в 16:06, , рубрики: iphone, Вконтакте, Вконтакте API

Здравствуйте дамы и господа. Сегодня я хочу поговорить о том, как происходил процесс лечения приложения «ВКонтакте» для iOS.

Всем известно, что в новом обновлении появилась платная музыка и странички, которые не отображаются с клиента ввиду 18+ контента. Это было сделано для того, чтобы приложение прошло модерацию в «AppStore».
Собственно эти «нововведения» вызвали шквал негативных эмоций в сторону компании. Следовательно и мне это не понравилось. Ладно если бы там было что то вроде подписки примерно как в «Google Play Music», я бы даже не задумался о «лечении» приложения.

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

При поиске аудиозаписей запрос выглядел примерно так:
скриншот снифера

Немного подумав мне пришла мысль, что скорее всего причина в «User-Agent'e». Так оно и есть. Если заменить, к примеру, «com.vk.vkclient/13» на «com.vk.vkclient 13» аудиозаписи отлично ищутся. Дело осталось за малым, внести модификацию в клиент.

Так как я человек далекий от программирования на ObjC, я не нашел более логичного варианта как открыть пакет приложения в архиваторе и вытащить исполняемый файл для дальнейшего изучения и манипуляций в HEX редакторе.

Обычным поиском находим упоминания «User-Agent». Видим что то похожее на это:

HxD

Для «лечения» достаточно заменить всего лишь один байт

55 73 65 72 2D 41 67 65 6E 74 00 25 40 20 25 40 20 28 25 40 2C 20 25 40 20 25 40 2C 20 25 40 2C 20 53 63 61 6C 65 2F 25 66 29

В итоге мы имеем «User-Agent: com.vk.vkclient 13». Запаковываем все обратно и ставим на свой девайс и имеем полностью отвязанное приложения от iTunes и с открытым 18+ контентом.

вылеченная версия

PS: Про версии с Offline режимом я говорить не буду, там такой же принцип действия, как и в этом лечении.

Автор: nullch

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js