Параметры криптора/обфускатора

Ниже приведено сравнение основных параметров некоторых популярных обфускаторов для защиты скриптов JavaScript и MS JScript с крипторами-обфускаторами Цезарь (caesar), Цезарь-Хром (caesar_chrome), Фауст (faust).

параметр \ названиеCaesarFaustCaesar+Caesar
chrome
obusfStyxKaimijjencodep.a.c.k.e.r
регулировка объема+-+------
сжатие кода---+----+
время жизни скрипта+--------
поддержка JScript-+----+--
отдельный скрипт+++++-+-+/-
полиморф+++++--+/---
открытый исх.код+++++---+
защита от Firebug+/--++/------
защита от Wepawet++++-----
защита от Jsunpack++++-----
возможность привязки к домену+-+------
проверка CRC распаковщика--+------
язык реализацииpythonpythonpythonpythonphp?php?php,perl
скомпилированная версия под x86Win|LinuxWin|LinuxWin|LinuxWin|Linux-----

Описание некоторых параметров из таблицы

регулировка объема — может регулировать объем кода на выходе за счет настройки применяемых алгоритмов защиты. Одним скриптом можно создавать как компактный код (когда есть ограничение по длине скрипта), так и наоборот - большой и максимально защищенный от чужого анализа.

полиморф — обфускатор/криптор каждый раз генерирует на выходе разный JavaScript код для одного и того же исходного кода. Степень полиморфизма отличается числом различных вариантом представления одного и того же кода.

время жизни скрипта — обфускатор/криптор может добавлять в генерируемый код метку времени и максимальное время жизни. После того, как проходит заданное время после генерации, код "умирает" и не больше не запускается. Эффективное решение для защиты от ботов, которые выполняют отложенный анализ JS кода (т.е. скачали сгенерированный код со страницы, а проанализировали через несколько минут или часов).

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

защита от Firebug — сгенерированный код затрудняет несанкционированный анализ своего тела с помощью плагина Firebug для Firefox.

защита от Wepawet — защита от несанкционированного анализа с помощью автоматического сервиса wepawet.iseclab.org

защита от Jsunpack — защита от несанкционированного анализа с помощью автоматического сервиса jsunpack.jeek.org

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

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

проверка CRC распаковщика — перед распаковкой и выполнением целевого кода из закриптованного javascript, происходит самопроверка на наличие несанкционированных модификаций. При обнаружении лишних комманд (или нехватке нужных) происходит завершение работы. Используется для защиты от активного взлома.

скомпилированная версия под x86 — обфускатор можно получить не только в форме Python скрипта, но и в виде готового для запуска "из коробки" бинарного файла под Windows или Linux.

Описание обфускаторов/крипторов из таблицы

styx: входит в состав крипт-сервиса, в качестве отдельного скрипта не доступен. На рынке с 2010 года.

kaimi: бесплатный и потому широко известный криптор для JavaScript и VBS с закрытым исходным кодом.

jjencode: онлайн сервис для простого обфусцирования Javascript кода.

p.a.c.k.e.r: скрипт и онлайн сервис для простого криптования Javascript кода со сжатием. Запуск кода через открытый вызов eval снижает защиту почти до нуля. Распаковывается многими публичными сервисами, в т.ч. jsbeautifier.org