- 时间:2020-12-13 10:41 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:bat、vbs、js 原生混编(一个bat可以执行vbs,js代码)
发现 mshta 会把 file:// 协议指向的文件当作 html 来解析(注:IUnknown 与 happyxxdhaha 提醒此处必需使用绝对路径,否则不会执行),心里顿时有一万只草泥马奔过,原来如此简单的答案就在身边,却错过了四年
基本框架:
[url=https://msdn.microsoft.com/en-us/library/ms536495(VS.85).aspx]https://msdn.microsoft.com/en-us/library/ms536495(VS.85).aspx[/url]
感谢 xiaopo 扫盲,才知道联盟早已出现过 mshta 方案的雏形:[url=http://cndos.fam.cx/forum/viewthread.php?tid=39655]http://cndos.fam.cx/forum/viewthread.php?tid=39655[/url],回头上镜像站搜下,看看有没有进一步的发展
:<!--
::::::::::::::::::::::::::::::::BAT::::::::::::::::::::::::::::::::
::::::::1.执行HTML代码之前的BAT代码::::::::
@echo off
call :e Starting mshta...
pause
::::::::1.执行HTML代码之前的BAT代码::::::::
::执行HTML代码:
start mshta %0
::::::::2.执行HTML代码之后的BAT代码::::::::
call :e Mshta is executing HTML codes...
pause
::::::::2.执行HTML代码之后的BAT代码::::::::
::退出BAT:
exit/b
:::::::BAT函数定义部分:::::::
:e
echo %*
goto :eof
:::::::BAT函数定义部分:::::::
::::::::::::::::::::::::::::::::BAT::::::::::::::::::::::::::::::::
-->
<!--此句用来清除第一行的:-->
<script>document.body.innerText=""</script>
<!--------------------------HTML-------------------------->
<body onkeypress=window.close()>
<hr color=red>
<marquee><font color=green>HTML Codes</font></marquee>
<hr color=red>
<!--------------------------HTML-------------------------->
<!-- BAT & HTML {s11ss@www.cn-dos.net/forum 2008-4-22}
思路:当此文件被当作BAT文件执行时,未执行到HTML代码部分时就已退出;
当此文件被当作HTML文件执行时,BAT代码部分被注释,不会被执行。
-->