Разработка
February 5

Реверс-инжиниринг Long Poll ВКонтакте: как я написал сниффер событий

Документация VK API врёт. Ну, не то чтобы врёт — просто недоговаривает. Половина кодов событий не описана, а онлайн-статусы вообще куда-то пропали.

Когда я разрабатывал расширение VKify, мне нужно было отслеживать действия в реальном времени: кто печатает, кто прочитал, кто удалил сообщение. Пришлось разбираться самому.


🔍 Что я сделал

Написал сниффер, который перехватывает все Long Poll события и собирает статистику. Вставляешь код в консоль — и видишь весь поток данных:

  • Код 63 — печатает сообщение
  • Код 10004 — новое сообщение
  • Код 10007 — прочитал сообщение
  • Код 10002 — удалил для всех

И ещё десяток недокументированных событий.


🤔 Загадка онлайн-статуса

По документации, события «онлайн/оффлайн» должны приходить через Long Poll. Но их там нет!

Оказалось, VK перенёс их на WebSocket (eh.vk.com). Данные приходят в бинарном формате — полностью разобрать протокол не удалось, но направление понятно.


📦 Что в полной статье

✅ Готовый код сниффера — копируй и вставляй
✅ Продвинутый анализатор с командами и экспортом
✅ Таблица всех найденных кодов событий
✅ Перехват WebSocket
✅ Production-ready модуль для расширений


📖 Читать полностью

Полная статья с кодом на 0x69.ru →