Помогите расшифровать скрипт Gmail

#javascript #html

#javascript #HTML

Вопрос:

Я отслеживал сетевой трафик Gmail с помощью Microsoft Network Monitor. Я заметил, что сервер периодически отправляет пакет из 104 байт. Я расшифровал этот пакет и обнаружил, что он содержит-

 <script>try {parent.m("[[21,[42noop42]n]n]n")} catch(e) {}</script>
  

Может кто-нибудь, пожалуйста, помочь мне в расшифровке того, что делает этот скрипт?

Комментарии:

1. Вероятно, это средство поддержки HTTP-соединения.

2. Попробуйте выполнить трассировку через код JavaScript Gmail, чтобы выяснить, что parent.m делает.

3. @Bruce, есть функция m , function m(a,b){var c=a.search(p)... .

4. @Bruce: Я думал более или менее о приложении, чтобы оно могло отвечать информацией, такой как новое электронное письмо или запрос в чат. Вероятно, мне следовало сказать «приложение» вместо «HTTP».

5. @Bruce, просто воспользуйтесь функцией «просмотр исходного кода» в вашем браузере. Вы увидите <script> тег, начинающийся с (function... , содержащий большой фрагмент запутанного кода. Вы найдете function m там.

Ответ №1:

Это сервер, отправляющий обновления статуса клиенту. Попробуйте отправить себе электронное письмо во время мониторинга и посмотрите, что произойдет.

«NOOP» звучит как сообщение «нет операции», что означает в основном «ничего нового».

Когда что-то происходит, он отправляет данные в формате JSON о том, что произошло, такие как:

 [[["v","CIzJ7EeCcMM.en.","8","d7634f09ff9e61c8","1s6nd4ek6sr8c","!ZbXmJFDN_0FrQv3hwuA5MuXHaf_vuWmWJ2VM8bIVByboryZZvtkt4ejfKk8"]
,["di",182,,,,,[]
] ...
  

Что бы это ни значило… Это запутанный и оптимизированный код, который обновляет интерфейс новым количеством сообщений, новыми заголовками сообщений и т.д…