Зачем нужен javascript криптор/обфускатор?

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

Некоторые из этих лиц могут (и будут) производить анализ Ваших скриптов без Вашего разрешения в своих личных или комерческих целях, копировать их части или весь исходный код целиком, для поиска уязвимостей в структуре Вашего сайта, а также в иных, противоречащих Вашим интересам, целях.

Следует помнить, что подобный анализ проводится не только в ручную, но и часто в автоматическом режиме 24 часа в сутки. Чем менее открыт исходный код Ваших скриптов, тем больше шансов избежать риска их несанкционированного использования и возникновения ущерба для Вас.

Средства защиты исходного кода скриптов обычно делятся на крипторы и обфускаторы.

Крипторы проводят над всем исходным кодом Javascript некоторое общее преобразование, переводящее текст скрипта в нечитабельный вид. Например base64 или XOR по фиксированному или динамическому значению. Затем к полученным данным добавляется специальный код распаковщика, который при запуске скрипта в браузере переводит данные в исходный вид и полученный код каким-то образом запускает.

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

Обфускаторы необратимо меняют сами конструкции исходного кода скрипта. Добавляют между операторами исходного кода "мусорные" инструкции, заменяют читабельные и логичные названия функций, констант и переменных на бессмысленные, с точки зрения человека, имена.
Например: if (BrowserName == "IE") SendRequest(1);
превращается if (Е2А==eSx)Pl1(iF0);

Крипторы создают более компактный код и меньше влияют на работоспособность исходного скрипта, но менее стойки к снятию защиты и после «провала» выдают весь исходный код практически в начальном состоянии.
Обфускаторы, для достижения той же нечитабельности, значительно увеличивают код в объеме и в некоторых случаях негативно влияют на надежность работы исходного скрипта. Но при этом защиту качественного обфускатора невозможно снять до конца, даже после подробного анализа его механизма.

Криптор/обфускатор Цезарь объединяет в себе плюсы обоих подходов. Применение механизма криптования позволяет снизить неизбежное увеличение размера кода на выходе. Обфусцирование важных участков кода распаковщика, а также деликатное обфусцирование исходного кода увеличивают стойкость защиты.

Кроме этого, в отличии от многих крипторов/обфускаторов для Javascript (в том числе коммерческих), Цезарь использует специальные противоотладочные приемы. Защита от Jsbeautifier, Firefox Firebug и Firefox Deobfuscator, Wepawet (iseclab.org), Jsunpack (jeek.org). Возможность привязки кода к домену, задание кодировки символов и срока жизни защищенного скрипта.


для
Javascript
caesar
3225 руб.
฿0,008 / $49 / €42
купить

Новости

/08.03.2018/ Плановые обновления обфускаторов caesar и caesar+

/01.09.2017/ Уважаемые клиенты! С 01 по 15 сентября тех.поддержка, а также оплата через Webmoney будут недоступны. Оплата покупок картами, ЯндексДеньгами и биткоинами будет работать как обычно.