[Перевод] Эксплойтинг браузера Chrome, часть 2: знакомство с Ignition, Sparkplug и компиляцией JIT в TurboFan
В моём предыдущем посте мы впервые погрузились в мир эксплойтинга браузеров, рассмотрев несколько сложных тем, которые были необходимы для освоения фундаментальных знаний. В основном мы изучили внутреннюю работу JavaScript и V8, разобравшись, что такое объекты map и shape, как эти объекты структурированы в памяти; мы рассмотрели базовые оптимизации памяти наподобие маркировки указателей и сжатия указателей. Также мы затронули тему конвейера компилятора, интерпретатора байт-кода и оптимизации кода.
Если вы ещё не прочитали тот пост, то крайне рекомендую это сделать. В противном случае вы можете запутаться и совершенно не разберётесь в некоторых из тем, представленных в этом посте, поскольку мы продолжаем изучение на основе знаний из первой части, расширяя их.
В сегодняшнем посте мы вернёмся к конвейеру компилятора и ещё глубже разберём некоторые из рассмотренных ранее концепций: байт-код V8, компиляцию кода и оптимизацию кода. В целом, мы рассмотрим происходящее внутри Ignition, Sparkplug и TurboFan, поскольку они критически важны для понимания того, как определённые «фичи» могут привести к появлению багов, которые можно эксплойтить.
Читать дальше →
Источник: Хабрахабр
Похожие новости
- Новости кибербезопасности за неделю с 26 мая по 1 июня 2025
- Zerotrust по-пацански
- Gartner's AI Tech Sandwich: Едим ИИ-бутерброд правильно
- Как искусственный интеллект трансформирует SASE и Нулевое доверие в современной корпоративной инфраструктуре
- 5 нейроинструментов, которые помогают создавать хорошие изображения
- 35% маркетологов недовольны отсутствием удалёнки
- Как создать эффектный и бесполезный вирусный контент
- 7 самых распространенных ошибок при внесении ПО и ПАК в МинЦифры и как этого избежать
- Бюджеты иностранных рекламодателей в VK Рекламе выросли по итогу первого квартала 2025 года
- 37% предпринимателей управляют маркетингом лично: подходы разных поколений к маркетингу