Новости xboxstat.ru: вернулся просмотр отзывов магазина Xbox

Это было совсем непросто: ушло около трёх недель интенсивного исследования. Но если расскажу, как решил задачу, повертите пальцем у виска.

Почему отзывы интересны? Потому что, в отличие от г*&@нокритиков, чтобы его оставить, вы должны поиграть в игру. Я могу не просто показать отзыв, я могу показать, сколько человек играл, до того, как написал свой коммент, чего добился. Можно посмотреть другие отзывы этого человека - вдруг это тупо хейтер?

Главная проблема - отзывы возвращает запрос к beige.xboxservices.com. Но, в отличие от остальных запросов к *.xboxlive.com и прочих, где необходим JWT, тут требуется заголовок Authorization. И он меняется каждые 24 часа.

Что пытался: любимый Fiddler, WinDBG, и даже IDA. Безуспешно. Заголовок просто в какой-то момент менялся на новый.

Весь мой комплекс построен на виртуальных машинах Linux, поэтому работающее решение теперь выглядит так: несколько раз в день линукс-машина запускает виртуалку с Windows 10 в облаке, в этой виртуалке стоит автологон и запуск скрипта AutoHotKey - потрясающий инструмент. Скрипт запускает Xbox App, ждёт 20 секунд, посылает туда семь нажатий Shift-Tab и один Enter, после чего Xbox App переключается на вкладку Store и авторизует себя в beige.xboxservices.com. Тут скрипт ждёт ещё 10 секунд и вызывает ProcDump, снимая 800-мегабайтный образ памяти в файл. После чего в этом образе ищется строка authorization и отправляеся по ssh на линукс-машину, где засовывается в базу. Windows-машина же на этом выключается и деактивируется до следующего запуска.

Есть и проблемы: майки всё ещё не исправили баг с листанием этих отзывов. При переключении на вторую, третью и так далее страницы, вам всегда возвращаются первые 25 значений. Такое поведение было для отзывов на платформе Windows, и его исправли, но для Xbox всё до сих пор работает с багом. Надеюсь, это поправят. Сейчас из-за этого можно видеть "дырку" с августа по декабрь 2020 примерно. Ну и недоступна, надеюсь, пока, часть отзывов.

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

#xbox#xboxstore#xboxstat#xboxstat.ru

33 показа
282282 открытия
7 комментариев

Заходил вчера ради отзывов, сайт стал быстрее, он летает!

Ответить

Как повезёт на самом деле. Как ни странно, чем больше посетителей, тем быстрее оно работает, так как пользователи "прогревают" кеши. Без них скрипты вымывают из кешей всё нужное, ибо у них другие интересы в базе.

Ответить

Комментарий недоступен

Ответить

Как-то так, например:

https://pastebin.com/Fq9wSHqa

Завтра он работать перестанет.

При этом, такое ощущение, что авторизация идёт через отправку (POST) и приём XML на https://login.live.com/RST2.srf , то ест всё очень похоже, как если бы мы авторизовывались на sharepoint online.

Ответить