Исходный сценарий ForEncode.vbs приведен в листинге 4.3, зашифрованный сценарий Encoded.vbe — в листинге 4.4. 

Листинг 4.3. Исходный текст сценария ForEncode.vbs

'*******************************************************************

' Имя: ForEncode.vbs                                             

' Язык: VBScript                                                  

' Описание: Исходный текст сценария                              

'*******************************************************************

WScript.Echo "Привет!"

'*************  Конец **********************************************

Листинг 4.4. Зашифрованный сценарий Encoded.vbe

#@~^xQEAAA==vCeMCeCeeCeCMeCeMeCeMMCeeCMeCeeCMMeCeCeMeMMCeMeCMeCeMMCeeMMCeMeCMCeM@#@&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@#@&EMeCeMMCeeMMCeMeCMCeMCeCeeCeCMeCeMeCeMMCeeCMeCeeCMMeCeCeMeMMCeMeCMeC@#@& 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-файлы внутрь элементов

Листинг 4.6. Исходный сценарий ForEncode.wsf

Имя: Encoded.wsf

Описание: WS-файл с зашифрованными сценариями

Однако если попытаться зашифровать исходный файл 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 шифрует только содержимое элементов

Цифровые подписи добавляются в конец файлов, содержащих сценарии, причем в обычных JScript- и VBScript-файлах подпись находится в блоке комментария, а в WS-файлах — внутри элемента . Это делает возможным запуск подписанных сценариев в предыдущих версиях WSH, т.к. здесь закомментированные или находящиеся внутри части сценариев будут при выполнении проигнорированы. 

В листингах 4.8–4.10 приведены примеры сценариев различных типов, которые были подписаны с использованием сертификата "Попов надежный".

Листинг 4.8. Подписанный JScript-файл

/*******************************************************************/

/* Имя: Signed.js                                                  */

/* Язык: JScript                                                   */

/* Описание: Сценарий с цифровой подписью                          */

/*******************************************************************/

WScript.Echo("Привет!");

// SIG // Begin signature block

// SIG // MIIEMAYJKoZIhvcNAQcCoIIEITCCBB0CAQExDjAMBggq

// SIG // hkiG9w0CBQUAMGYGCisGAQQBgjcCAQSgWDBWMDIGCisG

Перейти на страницу:

Похожие книги