Шифрование скриптов VBS (VBScript)

Шифрование скриптов VBS (VBScript) vbscript encryption vbsVBS-скрипты могут быть весьма полезны для автоматизации действий пользователя в системах семейства 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

7 комментариев

  1. Артём, не за что. Надеюсь теперь проблем с шифрованием скриптов VBS у Вас не будет.

  2. Шифрование скриптов VBS конечно же не панацея, но за статью спасибо!

  3. Добрый день! А можно VBScript-ом вызывать Script Encoder и шфровать другой скрипт? Спасибо

  4. Вaлерий, а почему нет? Конечно можно. Например, вот так
    Set shell=Createobject(”WScript.Shell”)
    shell.run(”screnc VBSFileName.vbs VBSFileName.vbe”)

  5. Потестили со знакомым админом. Итого:
    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)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *