«Яблочко» вконтакте через Android (нужен рут)

от автора

— У вас есть телефон samsung, но чтобы вконтакте яблочко показывалось?

Делаем:

Как оказалось, технически это реализуемо. Авторизация Вконтакте работает по протоколу OAuth. В приложениях на android и ios работает это так: на сервер контакта передаётся логин и пароль пользователя (либо через браузер, либо через само приложение (что есть «прямая авторизация»)), в ответ приложение получает токен (длинная строка символов). Далее всё взаимодействие с контактом происходит через этот токен — по нему социальная сеть определяет пользователя, какие права есть у приложения и что это за приложение вообще. В VK api описано что для авторизации нужно знать client_id и client_secret приложения. Для этого с какого-нибудь сайта скачиваем архив vk app для iphone (в моём случае это был 4pda.info), распаковываем там всё, что распаковывается и ищем по ключевым словам «client_secret». И в файле __TEXT__cstring прямым текстом находим нужные значения client_id и client_secret. Далее, как в API описано, через любой браузер делаем запрос. Получаем в ответ access_token. Далее осталось его прописать в приложении для android: Через dropbear ssh server заходим на телефон и в файле /data/data/com.vkontakte.android/shared_prefs/null.xml правим параметр sid на полученный токен. Важно чтобы в этот момент само приложение было выключено, свернуть недостаточно (можно либо перезагрузить телефон перед правкой файла, либо прибить приложение через какой-нибудь task manager (ES диспетчер, к примеру)).
После этого вконтакте начинает думать что мы заходим на сайт через ios приложение и рисует нам яблочко у аватарки и около сообщений на стене.

А далее:

Во-первых, скорее всего авторы приложения хоть как-то зашифруют эти значения и обфусцируют авторизационный кусок кода. В этом случае можно будет попробовать установить на рабочий iphone свой самоподписанный сертификат для oauth.vk.com и послушать трафик через MITM (если, опять же, авторы не сделают привязку к какому-то определённому сертификату). Во-вторых, может быть, контакт поменяет api на что-то более сложное и платформозависимое. А в-третьих, что самое вероятное, никто не будет особо шевелится из-за нескольких немного продвинутых нищебродов с android-ом.

ссылка на оригинал статьи http://habrahabr.ru/post/186474/


Комментарии

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

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