Посмотрите, какие функции вызываются в Google Chrome

#javascript #cookies #google-chrome-devtools #reverse-engineering #obfuscation

#javascript #файлы cookie #google-chrome-devtools #обратная разработка #запутывание

Вопрос:

Есть несколько сообщений с похожим вопросом, как у меня, но ни одно, похоже, не отвечает на мою проблему. В настоящее время я работаю над обратным проектированием сайта, на который загружается файл JavaScript под sources . Для примера я буду называть это foo.js . Этот скрипт генерирует файл cookie, который мне нужен. Я буду ссылаться на это как bar . foo.js активно генерирует новый bar файл cookie каждый раз, когда я обновляю вкладку cookies в Application в Chrome dev tools, что означает, что он генерируется по крайней мере каждую секунду с помощью foo.js .

Загвоздка в том, что foo.js он сильно запутан с корпоративной безопасностью, где я не могу сделать простой CTRL F и искать document.cookie . Но в любом случае это не имеет особого значения. Что мне интересно, так это то, что для генерации этого запускается функция surley, поскольку она не жестко запрограммирована, так как я могу увидеть, какие функции выполняются?

Я пытался установить точки останова в коде, но там более 15 000 строк кода, так что это немного неэффективно. Я также попытался приостановить выполнение скрипта и посмотреть на стек вызовов, и там есть функции, выполняемые из foo.js , но очень расплывчато, что возвращают эти функции. Кроме того, я не думаю, что функции, которые я вижу, являются правильными, потому что они отображаются только при посещении определенных страниц, тогда как bar cookie генерируется постоянно, независимо от того, на какой странице я нахожусь.

Есть ли какой-либо четкий способ просто посмотреть, какие функции выполняются в фоновом режиме и что они возвращают? В частности, с использованием файлов cookie. Я чувствую, что это должна быть простая функция, но, кажется, я могу с этим разобраться.

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

1. Вы можете установить точку останова при запуске страницы и запустить debug(Object.getOwnPropertyDescriptor(Document.prototype, ‘cookie’).set)

2. Приношу свои извинения за столь поздний ответ, но у меня как раз есть время попробовать это сейчас. Когда я помещаю это в консоль, я просто получаю undefined . Что бы это значило? Заранее спасибо. @wOxxOm

3. Эта команда ничего не возвращает, поэтому undefined это правильный результат. Дело в том, что это вызовет отладчик, если есть какой-либо код, который устанавливает document.cookie. Важно делать это при запуске страницы, а не после ее загрузки.

4. Большое вам спасибо, у меня получилось 🙂 @wOxxOm