У нас есть HTA, используемый для автоматического входа на серверы с помощью VBS. Для обеспечения безопасности мы хотели закодировать VBS, у которого были учетные данные для входа на сервер. Мы наткнулись на VBS-скрипт, который кодировал VBS-файл при перетаскивании на него, на выходе получается VBE-файл.
Теперь, когда этот VBE вызывается из HTA, он показывает ошибку, которая, похоже, не может правильно прочитать VBE.
Ниже показано, как мы связываем VBE с HTA:
<script language="VBScript" src="hola.vbe" > </script>
Кроме того, ниже приведен код для кодирования:
Option Explicit
dim oEncoder, oFilesToEncode, file, sDest
dim sFileOut, oFile, oEncFile, oFSO, i
dim oStream, sSourceFile
set oFilesToEncode = WScript.Arguments
set oEncoder = CreateObject("Scripting.Encoder")
For i = 0 to oFilesToEncode.Count - 1
set oFSO = CreateObject("Scripting.FileSystemObject")
file = oFilesToEncode(i)
set oFile = oFSO.GetFile(file)
Set oStream = oFile.OpenAsTextStream(1)
sSourceFile=oStream.ReadAll
oStream.Close
sDest = oEncoder.EncodeScriptFile(".vbs",sSourceFile,0,"")
sFileOut = Left(file, Len(file) - 3) & "vbe"
Set oEncFile = oFSO.CreateTextFile(sFileOut)
oEncFile.Write sDest
oEncFile.Close
Next
По моему мнению, закодированный VBS должен работать как обычный, не знаю, почему в этом случае у нас исчезает проблема.