Faust: криптор-обфускатор для MS JScript
Защита скриптов на Microsoft JScript. Поддерживает разные кодировки.
![]() | ![]() |
Общие слова
JScript, язык программирования от Microsoft. Синтаксис JScript во многом аналогичен языку JavaScript.
JScript по умолчанию поддерживается в Windows Script Host (WSH), который в свою очередь по умолчанию устанавливается вместе с почти любой версией Windows. В том числе и на последней Windows 10.
Чаще всего скрипты на JScript используют для продвинутого администрирования Windows систем. Когда нужно не просто скопировать файл, а, например, собрать список измененных за сутки файлов, открыть Excel/Word и "на лету" создать документ с отчетом по собранным данным.
При этом скрипт на JScript не требует перед запуском компиляции в exe файл или установки библиотек/фреймворков.
Проблема может быть в том, что текст скрипта на JScript легко прочитать и отредактировать.
Если вы не хотите, чтобы данные из скрипта были легкодоступны и не хотите соблазнять неквалифицированных коллег редактировать то, что они плохо понимают - используйте криптор-обфускатор Faust.
Что делает Faust
Faust сочетает свойства криптора и обфускатора. Код исходного скрипта он шифрует, код для распаковки и запуска исходного кода обфусцирует и разбавляет это отвлекающими вставками нейтрального кода. Таким образом, все строки и значения из исходного кода полностью скрыты от наблюдателя при просмотре файла со скриптом.
В отличии от бесплатных крипторов-обфускаторов, для Faust нет сервисов и инструментов автоматической распаковки или снятия защиты, что исключает возможность редактирования исходного скрипта неквалифицированными пользователями.
Запуск
Для запуска обфускатора-криптора Faust нужен установленный интерпретатор Python версии 2.7.
В большинстве Linux систем (Debian, Ubuntu, Fedora, Mint и т.д.) Python уже установлен.
Для работы под Windows или MacOS рекомендуется установить пакет интерпретатора ActivePython 2.7 от компании ActiveState (требует регистрировать аккаунт, но это быстро и бесплатно). После установки ActiveState нужно обязательно перезагрузить ОС.
Также Вы можете получить обфускатор под вашу платформу (Windows, Linux) в виде одного бинарного исполняемого файла. В этом случае установка интерпретатора Python не требуется и все работает "из коробки". Для заказа бинарника после покупки криптора свяжитесь с нами через чат.
При успешном запуске Faust без параметров в консоль выводится краткая справка о параметрах примерно такого вида:
-==[Faust v1.3.3 JScript]==-
Use syntax: python faust.py <input_file_name> <output_file_name> -cp=cp1251
Parameter -cp:
optional, for change default codepage utf8 to another codepage.
Example 1: python faust.py script.js guard.js
Example 2: python faust.py script.js guard.js -cp=cp1251
Описание параметров
параметр описание
input_file_name* имя файла с исходным JScript кодом
output_file_name* имя файла для записи кода после обработки
-cp=cp1251 меняет кодировку для обработки не латинских символов с дефолтной utf8 на указанную. Например: cp1251 для скрипта при использовании <meta charset='windows-1251'>
для основного HTML документа.
* - обязательный параметр.
Особенности использования
- Убедитесь, что ваш исходный JScript код написан БЕЗ ОШИБОК перед применением обфускатора. Обфускация это очень сложный процесс и небольшая ошибка может послужить причиной сбоя в работе скрипта после обфускации. И найти ее потом будет гораздо тяжелее.
- Внешние кавычки для строк должны быть ДВОЙНЫМИ -
"bla-bla"
. Внутри строки в двойных кавычках можно использовать одинарные"bla-bla 'tra-la-la' bla"
или экранированные двойные"bla-bla \"tra-la-la\" bla"
- Обфускатор изолирует все переменные из исходного скрипта в локальной области видимости. Если задать какую-то переменную внутри исходного скрипта, то из другого скрипта ее получить уже будет нельзя.
- Из исходного кода нужно удалить ВСЕ комментарии, перед применением обфускатора.
Убедитесь, что Ваш код корректно работает, если его записать в одну строку. Добавьте недостающие символы точка-с-запятой там, где они нужны, но иногда опускаются, в надежде, что транслятор JScript поймет все сам по символу перевода сроки. Например:
var show_func=function(){
msg = "Википедия - свободная энциклопедия";
WScript.Echo(msg);
} <--- здесь нужна точка с запятой
show_func();
все ок!
купил со скидкой во время тестового открытия)
Ответ продавца
Успешного использования!
|
si1ver
a63971b1d31b7a3015f0 | 27.11.2019 |
Нет.
JScript — сценарный язык программирования компании Microsoft, являющийся реализацией стандарта ECMAScript. Синтаксис JScript во многом аналогичен языку JavaScript, но имеет свои особенности.
Например, чтобы показать сообщение в Javascript пишут: alert("Hi, master!");
,
а в JScript WScript.Echo("Hi, master!");
Скрипт на JScript можно запустить из командной строки, например:cscript file.js
Если коротко - нет.
Крипторы проводят над всем исходным кодом некоторое общее преобразование, переводящее текст скрипта в нечитабельный вид. Например base64 или XOR по фиксированному или динамическому значению. Затем к полученным данным добавляется специальный код распаковщика, который при запуске скрипта в браузере переводит данные в исходный вид и полученный код каким-то образом запускает.
Обфускаторы необратимо меняют сами конструкции исходного кода скрипта. Добавляют между операторами исходного кода "мусорные" инструкции, заменяют читабельные и логичные названия функций, констант и переменных на бессмысленные, с точки зрения человека, имена.
Например: if (BrowserName == "IE") SendRequest(1);
превращается if (Е2А==eSx)Pl1(iF0);
Пробной версии нет. Напишите в чат для какой задачи нужен обфускатор, мы подскажем - подойдут ли наши обфускаторы и если да, то какой из них будет лучше