🚀 Не просто читай — прокачивайся! Зарегистрируйся в Kraken Academy и учись на практике: стенды, модули и путь к реальным скиллам.

JavaScript — это не только язык для создания интерактивных сайтов. Это ещё и удобный инструмент для злоумышленников, которые хотят скрыть свои действия.
Вредоносные скрипты часто шифруют, переименовывают, оборачивают в сложные конструкции, чтобы их невозможно было прочитать с первого взгляда.
Такой приём называется обфускация. Он мешает анализу и делает код непонятным даже опытным разработчикам.

Но любой маскировке можно противопоставить деобфускацию — процесс восстановления читаемого вида кода. Для пентестеров, аналитиков и специалистов по безопасности это важнейший навык.

Что такое обфускация и зачем её используют

Обфускация — это преднамеренное усложнение кода:

  • Переименование переменных и функций в бессмысленные наборы символов.

  • Разделение логики на множество мелких функций.

  • Шифрование строк (Base64, Hex, XOR).

  • Многослойные конструкции eval и function(p,a,c,k,e,d).

Цель — затруднить анализ, скрыть вредоносные действия, обойти автоматические сканеры.

Как находить и извлекать обфусцированный код

Злоумышленники прячут JavaScript:

  • Внешних файлах (script src).

  • В закодированных строках (Base64, Hex).

  • Через динамическую вставку в HTML.

Первый шаг деобфускации — вытащить код из этих источников и сохранить для анализа.

Базовые и продвинутые приёмы обфускации

  • Базовая — переименование переменных, лишние конструкции, уплотнение кода в одну строку.

  • Продвинутая — несколько слоёв кодирования, использование eval, динамическая генерация функций.

Чем сложнее обфускация, тем больше времени уйдёт на её разбор — но при правильном подходе читаемый код можно получить всегда.

Пошаговая деобфускация

  1. Форматирование — привести код к читаемому виду.

  2. Переименование — восстановить понятные имена переменных и функций.

  3. Удаление лишнего — убрать ненужные обёртки и конструкции.

  4. Декодирование строк — распознать и расшифровать Base64, Hex, XOR.

  5. Ручной анализ логики — понять, что делает каждая часть скрипта.

Анализ поведения без запуска

Чтобы не активировать вредоносный код:

  • Используйте консоль браузера для пошагового анализа.

  • Заменяйте опасные функции на безопасные заглушки.

  • Отслеживайте, какие запросы код отправляет на сервер.

HTTP-запросы и серверное взаимодействие

Многие вредоносные скрипты общаются с сервером:

  • Получают дополнительные инструкции.

  • Отправляют украденные данные.

  • Подгружают новые части кода.

Понимание структуры и содержания этих запросов помогает выявить суть атаки.

Декодирование строк

Часто ключевая логика спрятана в зашифрованных строках.
Популярные методы:

  • Base64 — стандартное кодирование.

  • Hex — шестнадцатеричное представление символов.

  • XOR — побитовое шифрование.

  • Кастомные подстановки.

Почему деобфускация — навык must-have

  • Помогает быстро понять, опасен ли код.

  • Позволяет обнаружить скрытые механизмы атак.

  • Дает возможность разрабатывать защиту на основе реальных угроз.

  • Используется при расследовании инцидентов и анализе фишинговых страниц.

Хотите научиться читать даже самый запутанный JavaScript?
В модуле «JavaScript: Деобфускация» вы пройдёте путь от простых примеров обфускации до сложных многослойных головоломок. 9 практических заданий помогут закрепить навыки и научат распутывать код в реальных кейсах.

Изучить модуль →

📘 Понравилась статья?

Больше практики и реальных заданий — в Kraken Academy.
А чтобы точно ничего не пропустить — подпишись на наш Telegram-канал.

Рекомендуемые статьи

Обложка

Слышь, купи курсы по кибербезу

Читать полностью →
Обложка

Китайские APT-шники запускают фальшивые приложения "от Далай-ламы"

Читать полностью →
Обложка

Российская группа EncryptHub

Читать полностью →