Запуск

Для запуска обфускатора-криптора Сaesar/Caesar+/Faust, по умолчанию, нужен установленный интерпретатор Python версии 2.6 или 2.7. В большинстве Linux систем (Debian, Ubuntu, Fedora, Mint и т.д.) Python уже установлен.

Для работы под Windows или MacOS рекомендуется установить бесплатный пакет интерпретатора ActivePython 2.7 от компании ActiveState. После установки ActiveState нужно обязательно перезагрузить ОС.

Также Вы можете получить обфускатор под вашу платформу (Windows, Linux) в виде одного бинарного исполняемого файла. В этом случае установка интерпретатора Python не требуется и все работает "из коробки". Для заказа бинарника напишите на caesar@jscrypt.in.

При успешном запуске Caesar без параметров в консоль выводится краткая справка о параметрах примерно такого вида:

-==[Caesar v2.5]==-

Use syntax: python caesar.py input_file_name output_file_name -d=domain_name -t=live_time_in_minutes -n=yes -cp=cp1251

Parameter -d:
    optional, for enable domain guard.
    Script will not work on another domain.

Parameter -t:
    optional, for enable time guard.
    Script will not work after live_time_in_minutes.

Parameter -n:
    optional, for disable trash code.
    Small size, but low security.

Parameter -cp:
    optional, for change default codepage utf8 to another codepage.
    Typical change variant: cp1251 (russian text in Windows).
    Don't forget to change HTML codepage where script running.
    Sample: <META http-equiv="Content-Type" content="text/html; charset=windows-1251">

Example 1: python caesar.py script.js guard.js
Example 2: python caesar.py script.js guard.js -d=supersite.com -t=95
Example 3: python caesar.py script.js guard.js -t=30   

Описание парметров

параметрописание
input_file_name*имя файла с исходным Javascipt кодом
output_file_name*имя файла для записи кода после обработки
-d=domain_nameвключает привязку к домену domain_name (без http://) или IP. При запуске из другого окружения скрипт работать не будет
-t=live_time_in_minutes включает таймер времени жизни защищенного скрипта после создания (live_time_in_minutes - целое число в минутах). После истечения времени - скрипт перестает работать
-n=yesотключает генерацию части мусорного кода для снижения размера выходного файла
-cp=cp1251меняет кодировку для обработки нелатинских символов с дефолтной utf8 на указанную. Например: cp1251 для скрипта при использовании <meta charset='windows-1251'> для основного HTML документа.
* - обязательный параметр.

Особенности использования

  • Убедитесь, что ваш исходный Javascript код написан БЕЗ ОШИБОК перед применением обфускатора. Обфускация это очень сложный процесс и небольшая ошибка может послужить причиной сбоя в работе скрипта после обфускации. И найти ее потом будет гораздо тяжелее.
  • Внешние кавычки для строк должны быть ДВОЙНЫМИ - "bla-bla". Внутри строки в двойных кавычках можно использовать одинарные "bla-bla 'tra-la-la' bla" или экранированные двойные "bla-bla \"tra-la-la\" bla"
  • Обфускатор изолирует все переменные из исходного скрипта в локальной области видимости. Если задать какую-то переменную внутри исходного скрипта, то из другого скрипта того же html документа ее получить уже будет нельзя. При острой необходимости передачи каких-то значений внутрь/наружу обфусцированного скрипта можно использовать присвоение/чтение свойства глобального объекта window с незанятым ранее именем, например window.blablaname=5;, но это может снижать степень защиты.
  • Из исходного javascript кода нужно удалить ВСЕ комментарии, перед применением обфускатора.
  • Убедитесь, что Ваш javascript код корректно работает, если его записать в одну строку. Добавьте недостающие символы точка-с-запятой там, где они нужны, но иногда опускаются, в надежде, что транслятор JS поймет все сам по символу перевода сроки. Например:
    var showmsg=function (msg){
        console.log(msg)
    }; <-- 
    log("123"); <-- 
    log("321");
                    

Новости

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

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