пятница, 18 января 2019 г.

Реверс IOS приложения VK

Очень давно я публиковал свой компонент для VK который имеет кучу плюсов и один большой минус - работа через неофициальное приложение. Что плохого в этом? Ну например нельзя получить список музыки, куча каптчи (привет спамерам) и моментальные баны аккаунтов. Что бы это исправить я решил сделать работу своего компонента через официальные приложения, такие как iPhone, iPad и Android.


Сразу обрадую читателей - покупать iPhone за 80 тысяч деревянных не нужно! Вообще ни одно устройство Apple нам не понадобится.


Для начала нужно раздобыть приложение, если у вас есть iTunes (тунец) то качаем приложение с AppStore и находим его в папке с бэкапом, если же нет - топаем на 4pda и качаем оттуда:

http://4pda.ru/forum/index.php?showtopic=384847

Если вы не смогли достать приложение - реверс не ваше призвание. А если смогли - мои поздравления, можно двигаться дальше и открывать файлик с расширением .ipa обычным 7-zip архиватором:



Ищем папочку PAYLOAD в которой будет примерно следующее:


Тут нас интересуют только 2 файла:
Info.plist - информация о приложение, не столь важна, понадобится позже;
vkclient - архив который содержит код под разные архитектуры, обычно выделяется размером, внутри два файла:


Для лучшего понимания я буду анализировать файл vkclient~.arm-9


Загоняем его в тётушку IDA и пока наше приложение дизасемблируется - составим список того, что нам нужно достать:

1. ID приложения
2. Секретный ключ
3. UserAgent
4. Версию приложения

Ну с первым всё понятно, это можно сделать так: заходим в раздел _vk.com/settings?act=apps и на шестерёнке жмём "исследовать элемент", далее откроется такое окно:


Вот таким нехитрым способом можно узнать ID любого приложения. Так же можно узнать ID при помощи IDA, но это требует больше времени.

Со вторым пунктом посложнее, по этому самое время открыть тётушку IDA и вбить в поиск по тексту ID приложения, в результате найдём такой момент:


ID приложения: 3140623
Ключ приложения:
VeWdmVclDCtn6ihuP1nt

Это было не сложно, по этому переходим к следующему пункту.

Юзерагент находится сложнее:


Что то нет желания реверсить его генерацию, по этому просто отснифаю и получу его в готовом виде:

com.vk.vkclient/43 (unknown, iPhone OS 10.2.1, iPhone, Scale/2.000000)

Осталось получить версию приложения, посмотрим откуда она берётся:


Выше я упоминал файл Info.plist в котором, собственно, и расположено значение данного параметра:


Это вам не приложение инстаграма...

Заключение

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


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

2 комментария:

  1. Как всегда на высоте,красавец Вань. Давно не заходил, не читал блог)

    ОтветитьУдалить