/************* Конец *********************************************/
Тогда после выполнения команды
sсrenс ForEncode.js Encoded.jse
создастся файл Encoded.jse, содержащий зашифрованный текст сценария ForEncode.js (листинг 4.2).
#@~^0QEAAA==&CeMCeCeeCeCMeCeMeCeMMCeeCMeCeeCMMeCeCeMeMMCeMeCMeCeMMCee MMCeMeCMCeMJ@#@&ze,Имя),oWM2UmKNn N/P,~P,PP,~~P,P,P~P~~,P~P,~P,P~~,PP~~,P~P,~,P~,P,ez@#@&JMPЯзык=PB? 1Dr2DPP,~P,PP,~~P,P,P~P~~,P~P,~P,P~~,PP~~,P~P,~,P~,P,PP,eJ@#@&Je~Описание),ИсходныйPтекстсц енария~,PP,~P,PP,~~P,P,P~P~~,P~P,~P,PM&@#@&zMMCeMeCMCeMCeCeeCeCMeCeMeCeMMCeeCMe CeeCMMeCeCeMeMMCeMeCMeCeMMCeeMMCz@#@&qj1DraYc2m4WvEПривет1'r#I@#@&zMMCeeCMe CeeCM~PКонец,eCeMeMMCeMeCMeCeMMCeeMMCeMeCMCeMCeCeeCeCMeCeMz@#@&KEIAAA==^#~@
Сценарии VBScript, записанные в файлах с расширением vbs, шифруются точно так же:
screnc ForEncode.vbs Encoded.vbe
Исходный сценарий ForEncode.vbs приведен в листинге 4.3, зашифрованный сценарий Encoded.vbe — в листинге 4.4.
'*******************************************************************
' Имя: ForEncode.vbs
' Язык: VBScript
' Описание: Исходный текст сценария
'*******************************************************************
WScript.Echo 'Привет!'
'************* Конец **********************************************
#@~^xQEAAA==vCeMCeCeeCeCMeCeMeCeMMCeeCMeCeeCMMeCeCeMeMMCeMeCMeCeMMCeeMMC eMeCMCeM@#@&EPИмя),sK.2 mGNR- 8kPP,~P,PP,~~P,P,P~P~~,P~P,~P,P~~,PP~~,P~P,~,P~,@#@&BPЯзык=Pj$? 1DrwDP~~,PP,~P,PP,~~P,P,P~P~~,P~P,~P,P~~,PP~~,P~P,~,P~,P@#@&B,Описание),Исходный~текстPсц енария,P~P,P~~,PP,~P,PP,~~P,P,P~P~~,P@#@&EMeCeMMCeeMMCeMeCMCeMCeCeeCeCMeCeMeCeMMCee CMeCeeCMMeCeCeMeMMCeMeCMeC@#@& UmDr2DR3m4G,JПриветZr@#@&BeCeCMeCeMeCeM~,Коне цPeCMeCeeCMMeCeCeMeMMCeMeCMeCeMMCeeMMCeMeCMCeMCe@#@&PEAAAA==^#~@
Как видно из листингов 4.3 и 4.4, символы кириллицы остаются в зашифрованных сценариях без изменения.
Зашифрованные файлы Encoded.jse и Encoded.vbe можно запускать с помощью cscript.exe или wscript.exe, выполняться они будут точно так же, как и исходные сценарии (рис. 4.1).

Рис. 4.1. Результат выполнения зашифрованного сценария Encoded.jse
Еще одной весьма полезной особенностью сценариев, зашифрованных с помощью Script Encoder, является то, что при запуске такого сценария автоматически производится контроль целостности файла. Например, если в файле Encoded.jse убрать или добавить букву в слово 'Привет', то при запуске будет выведено сообщение об ошибке (рис. 4.2) и сценарий выполняться не будет.

Рис. 4.2. Сообщение об ошибке, выводимое при запуске модифицированного файла Encoded.jse
Содержимое зашифрованных сценариев с расширениями jse и vbe можно вставлять в WS-файлы внутрь элементов <script>
, при этом в качестве значения аргумента language
должно быть указано 'JScript.Encode
' (зашифрованный сценарий на языке JScript) или 'VBScript.Encode
' (зашифрованный сценарий на языке VBScript). Пример такого WS-файла Encoded.wsf приведен в листинге 4.5, исходный файл ForEncode.wsf — в листинге 4.6.
<job id='Encoded'>
<runtime>
<description>
Имя: Encoded.wsf
Описание: WS-файл с зашифрованными сценариями
</description>
</runtime>
<script language='VBScript.Encode'>
#@~^FgAAAA== Um.bwDR21tK~JПриветeJ/gQAAA==^#~@
</script>
<script language='JScript.Encode'>
#@~^FgAAAA== Um.bwDR21tKcJПокаeJbiagUAAA==^#~@
</script>
</job>
<job id='Encoded'>
<runtime>
<description>
Имя: Encoded.wsf
Описание: WS-файл с зашифрованными сценариями
</description>
</runtime>
<script language='VBScript.Encode'>
WScript.Echo 'Привет!'
</script>
<script language='JScript.Encode'>
WScript.Echo('Пока!');
</script>
</job>
Однако если попытаться зашифровать исходный файл ForEncode.wsf с помощью команды
screnc ForEncode.wsf Encoded.wsf
то возникнет ошибка, т.к. Script Encoder 'не понимает' расширения wsf. Поэтому для шифрования WS-файлов нужно при вызове screnc.exe в командной строке использовать дополнительный ключ:
screnc /е htm ForEncode.wsf Encoded.wsf
Параметр /е htm
здесь указывает на то, что исходный файл ForEncode.wsf является файлом с HTML-разметкой (расширение htm), при этом Script Encoder шифрует только содержимое элементов <script>
, оставляя весь остальной текст файла без изменения.
Описание других ключей программы Script Encoder, которые могут применяться при шифровании сценариев WSH, приведено в табл. 4.1.