#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,,,,,[]
] ...
Что бы это ни значило… Это запутанный и оптимизированный код, который обновляет интерфейс новым количеством сообщений, новыми заголовками сообщений и т.д…