Reversing Google Play Store.

Да, вслед за Реверсом AppStore, решил я взяться за то же самое, но с Google. Google Play Store. (как Бонд. Джеймс Бонд).

Весело то, что у гугла все просто и секъюрно. Юзаются подписи, nonce’ы. А также сервис разделяется на две составляющие – push и обычную. Все запаковано во что бы вы думали? Правильно – protobuffers! It’s hard to decode, ибо формат бинарного сообщения сам себя не описывает, много эвристики и веселья.
Забавно, однако, что, как и в Apple, ВНЕЗАПНО, плевали они на стандарты (или я неправильно понял?) – gzip отдается плейнтекстом/binary – в protobuffers, а вот binary отдается в… gzip!:

Покупка проходит очень легко и непринужденно сложно.

Первое – /fdfe/toc – выдает данные о Terms&Conditions маркета и другую обязательную чушь.
Второе – /fdfe/purchase или /market/api/ApiRequest  – получить данные о покупке (та кнопка “купить” в маркете)
Третье – /fdfe/completePurchase – выполнить собственно покупку
Пятое – /fdfe/purchaseStatus или /market/api/ApiRequest – проверить статус покупки – получить nonce и прочие параметры покупке в json
Шестое – /market/api/ApiRequest – получение Nonce, деталей покупки
Седьмое – запрос к /market/api/ApiRequest и получение какой-то интересной строки типа ‹ г bе`PxБОі‰‰ эњ – я не понял, что это.

Также не ясно, почему запросы идут то к /market/api/ApiRequest, то к /fdfe/* при покупке. Может я попал под тихую смену протоколов?

+ большой брат следит за тобой! Переодически уходят запросы на /fdfe/log:

Вместе с этим приходит push-уведомление с данными о том, что, “ваша покупка загружена”, либо “не удалось совершить покупку” – пока остановился на этом.
Забавно, что все это дело работет через TCP with SSL/TLS, ВНЕЗАПНО, по mtalk.google.com (был в полной уверенности, что будет что-то на подобие XMPP), ан нет – protobuffers в base64 и что-то еще:

To be continued… (если меня, конечно, корпорация добра не забанит)
(C) ZonD80

3 thoughts on “Reversing Google Play Store.

  1. Anonymous

    да будет первый комментарий
    пока введешь капчу можно дьявола вызвать

    Reply
  2. GrustniyKot

    про “mtalk.google.com”, на xda часто встречал советы для кастомных прошивок – если не работает маркет сбросьте gtalk. Вот и ответ зачем это

    Reply

Leave a Reply to GrustniyKot Cancel reply

Your email address will not be published. Required fields are marked *