从HTA调用时,编码的VB不起作用



我们有一个HTA使用VBS自动登录到服务器。为了维护安全性,我们想编码VBS,该VB具有登录服务器的凭据。我们遇到了一个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应该像正常情况一样工作,不确定为什么在这种情况下我们会淡出问题。

要使用编码的vbscript,您需要指定与language="VBScript.Encode"一起使用的语言引擎,而不仅仅是language="VBScript"

另外,如果您想使用"维护安全性",请保持警惕。脚本编码器的目的是确定随意检查,但并不是在任何常规意义上"加密"代码,也不是很难获得朴素的脚本。

相关内容

  • 没有找到相关文章

最新更新