VBS-скрипты могут быть весьма полезны для автоматизации действий пользователя в системах семейства Windows. Иногда требуется скрыть текст VBS-скрипта и тогда на помощь приходит программа для шифрования скриптов, которая сохранят возможность выполнения скриптов VBS (сценариев VBScript) как и в незашифрованном виде.
Для шифрования скриптов VBS (VBScript) существует бесплатная программа Script Encoder от Microsoft. Она позволяет зашифровать Ваши скрипты, написанные на ASP, JScript, VBScript, а также файлы Windows Script Host. Установщик весит всего 127 КБ.
Microsoft Script Encoder работает из командной строки. Без проблем запускается в Windows 98/Me/NT4/2000/XP. Script Encoder позволяет использует специальные маркеры в исходном коде скрипта, чтобы определить, где должно начаться кодирование. Для скриптов написанных на VBScript маркер выглядит следующим образом:
'**Start Encode**
Можно не задавать маркер и тогда Script Encoder выполнит шифрование всего файла. Пример вызова Script Encoder для шифрования скрипта написанного на языке Visual Basic Script (VBS)
screnc VBSFileName.vbs VBSFileName.vbe
В результате выполнения данной команды мы получим файл в формате VBE (Visual Basic encoded script). Описание опций для вызова Script Encoder приведены в хелпе для программы. И не забудьте заменить <Script language=”VBScript”> на <script language=”VBScript.Encode”> в HTML-коде.
Где взять Microsoft Script Encoder?
Скачайте по следующей ссылке: sce10en (83,0 КБ). Внутри архива находится установщик Microsoft Script Encoder
Весьма благодарен! Помогли!
Артём, не за что. Надеюсь теперь проблем с шифрованием скриптов VBS у Вас не будет.
Шифрование скриптов VBS конечно же не панацея, но за статью спасибо!
Добрый день! А можно VBScript-ом вызывать Script Encoder и шфровать другой скрипт? Спасибо
Вaлерий, а почему нет? Конечно можно. Например, вот так
Set shell=Createobject(”WScript.Shell”)
shell.run(”screnc VBSFileName.vbs VBSFileName.vbe”)
А где файл для загрузки?
Потестили со знакомым админом. Итого:
1. Сами скрипты vbs и js после шифрования нормально работают.
2. Если криптовать html, то в итоге все вшитые в html-страницу скрипты криптует, но при этом работоспособность скриптов теряется.
3. Утилита Windows Script Decoder от мелкомягких спокойно расшифровывает закриптованные таким способом скрипты!
Вывод: а есть ли целесообразность зашифровывания, если всё равно можно расшифровать? Другое дело — это постараться сделать код скрипта нечитабельным, т.е. очень тяжело восприимчивым. Вот кусок готового кода, в котором зашифрован пароль Password-123. Скрипт его показывает в отображаемом сообщении. Попробуйте разобраться с кодом скрипта….
Dim A5B7C7D4E3, A5B7C6D4E3, A5B6C6D4E3, A5B6C7D5E3, A5B7C6D5E3, A5B6C5D4E3
Function Ancrypto(A5B7C7D4E3)
A5B6C5D4E3 = Trim(StrReverse(A5B7C7D4E3))
A5B7C6D5E3 = «»
For A5B6C7D5E3 = &H1 to Len(A5B6C5D4E3)
A5B7C6D4E3 = Asc(Mid(A5B6C5D4E3, A5B6C7D5E3, &H1)) Xor &HFF
A5B7C6D5E3 = A5B7C6D5E3 & chr(A5B7C6D4E3)
Next
End Function
A5B7C7D4E3 = «»
A5B7C6D4E3 = &HC8
A5B6C6D4E3 = &H4
A5B7C6D4E3 = A5B7C6D4E3 + A5B6C6D4E3
A5B7C7D4E3 = A5B7C7D4E3 + chr(A5B7C6D4E3)
A5B6C6D4E3 = A5B6C6D4E3 — &H3
A5B7C6D4E3 = A5B7C6D4E3 + A5B6C6D4E3
A5B7C7D4E3 = A5B7C7D4E3 + chr(A5B7C6D4E3)
A5B7C6D4E3 = A5B7C6D4E3 + A5B6C6D4E3
A5B7C7D4E3 = A5B7C7D4E3 + chr(A5B7C6D4E3)
A5B6C6D4E3 = A5B6C6D4E3 + &H3
A5B7C6D4E3 = A5B7C6D4E3 + A5B6C6D4E3
A5B7C7D4E3 = A5B7C7D4E3 + chr(A5B7C6D4E3)
A5B6C6D4E3 = A5B6C6D4E3 + &H33
A5B7C6D4E3 = A5B7C6D4E3 — A5B6C6D4E3
A5B7C7D4E3 = A5B7C7D4E3 + chr(A5B7C6D4E3)
A5B6C6D4E3 = A5B6C6D4E3 — &H29
A5B7C6D4E3 = A5B7C6D4E3 — A5B6C6D4E3
A5B7C7D4E3 = A5B7C7D4E3 + chr(A5B7C6D4E3)
A5B6C6D4E3 = A5B6C6D4E3 — &HB
A5B7C6D4E3 = A5B7C6D4E3 + A5B6C6D4E3
A5B7C7D4E3 = A5B7C7D4E3 + chr(A5B7C6D4E3)
A5B6C6D4E3 = A5B6C6D4E3 + &H5
A5B7C6D4E3 = A5B7C6D4E3 — A5B6C6D4E3
A5B7C7D4E3 = A5B7C7D4E3 + chr(A5B7C6D4E3)
A5B6C6D4E3 = A5B6C6D4E3 — &H4
A5B7C6D4E3 = A5B7C6D4E3 + A5B6C6D4E3
A5B7C7D4E3 = A5B7C7D4E3 + chr(A5B7C6D4E3)
A5B6C6D4E3 = A5B6C6D4E3 + &HE
A5B7C6D4E3 = A5B7C6D4E3 + A5B6C6D4E3
A5B7C7D4E3 = A5B7C7D4E3 + chr(A5B7C6D4E3)
A5B6C6D4E3 = A5B6C6D4E3 — &H1
A5B7C6D4E3 = A5B7C6D4E3 + A5B6C6D4E3
A5B7C7D4E3 = A5B7C7D4E3 + chr(A5B7C6D4E3)
Ancrypto(A5B7C7D4E3)
msgbox(A5B7C6D5E3)