Как мне преобразовать API-интерфейс kik-сервера из эмулятора Android?

У меня есть групповой чат в kik messenger, который достиг более 50 участников. Мне нужно автоматизировать некоторые вещи, такие как точки репутации, основанные на взаимодействии, а также ногами неактивных членов, которые ничего не публикуют в течение XXX дней. Я просмотрел ссылку API, и кажется, что единственный способ, с помощью которого боты могут взаимодействовать в группах, - использовать @mentions. что означает, что мы не можем добавлять их в группы, и они не могут контролировать групповые разговоры. Я также столкнулся с этим, но похоже, что это не помогло.

Текущий API-интерфейс kik bot дает очень ограниченные привилегии и не позволяет отслеживать групповые сообщения, поэтому я думал о обратном проектировании API-интерфейса сервера и создании обычной учетной записи который действует как бот и взаимодействует с этим API. Мне удалось перенаправить трафик через fiddler, но я не уверен, куда идти оттуда.

Итак, вопрос в следующем: Whats рабочий процесс для обратной инженерии API приложения, работающего на эмуляторе Android.

Заранее спасибо

Ответ 1

Это общие инструкции для проверки сетевого трафика и отладки взаимодействия с API. Используйте их только для устройств /API, которым вам разрешено. Имейте в виду возможные юридические последствия и заранее обратитесь за юридической консультацией. Например, может быть незаконно перепроектировать что-то в вашей стране.

Препараты:

  • Настройте прокси-сервер на компьютере с помощью такого инструмента, как Fiddler, mitmproxy.
  • Настройте свой прокси-сервер для перехвата и расшифровки SSL-соединений. Во время этого процесса вам необходимо создать сертификат корневого сервера SSL (инструкции для Fiddler и для mitmproxy) и установите его на свой телефон/эмулятор, чтобы заставить их принимать любые сертификаты, созданные прокси-сервером.
  • Настройте прокси-сервер в сетевых настройках вашего телефона.

Если приложение/устройство не поддерживает прокси-серверы, запустите на вашем компьютере специальную сеть WiFi, подключите к ней устройство и используйте Wireshark (инструкции по расшифровке SSL) для захвата всего трафика.

Кажется, вы уже это сделали. Теперь пришло время выполнить любые действия, которые вы хотите проверить/перехватить на своем телефоне, и посмотреть/записать запросы, которые они запускают. Это может выглядеть так:

  • Отправить сообщение.
  • Определите запущенные запросы и отделите их от шума, вызванного другими приложениями, например. путем поиска URL-адресов запроса или целевых IP-адресов.
  • Сохраните запущенные запросы для использования в будущем и посмотрите на детали, которые могут быть интересны как идентификаторы пользователей, токены сеанса, URL-адреса и параметры запроса. Если вы не знаете, какая фиксированная и какая переменная, повторите действие (т.е. Отправляя сообщение) несколько раз и сравнивайте запросы друг с другом.

Если вы считаете, что узнали, что искали, попробуйте воссоздать сеанс, используя инструмент curl и проверьте, результаты соответствуют вашим ожиданиям. Если нет, продолжайте сбор данных и повторите попытку. Напишите несколько автоматических тестов, чтобы проверить поведение в будущем.