转自
www.verybat.cn
突然想起这个隐藏运行批处理的方法
if not "%1"=="w" mshta vbscript:createobject("wscript.shell").run("""%~nx0"" w",vbhide)(window.close)&&exit
脑子就闪过一个念头 既然 可以利用 %1 来隐藏运行
那为什么不用它来"设"密码呢.?
试了一下 非常好用 而且
它可以防止暴力破解
因为 如果用户直接双击打开批处理
cmd窗口一闪就没了
根本没有商量的余地 更不要说输入密码了..
思路很简单:
大家都知道 批处理可以从外部接收参数来运行
分别是 %0~%9 (其中 %0 为批处理本身)
其实我们可以利用这点 给批处理加 "密码"
比如:
有这么一个批处理 G:\雪之梦.bat
内部代码为:
if not "%1"=="wind" (exit) else if not "%2"=="09" exit
start "" "wmplayer"
http://www.bgphoto.cn/2006711716022613.wma
其中 绿色的那句就是我们用来加密的
当第一个参数不是wind时 exit
如果第一个参数是wind
再判断第二个参数是否为09 如果是 那么执行start 命令
两个if 语句中 只要有任意一个不成立 则无法执行start 命令
如果你想运行它
只要在cmd或者编辑批处理内容如下 运行就可以了
call G:\雪之梦.bat wind 09
最后 首要前提是 批处理代码已经加密
否则 就算 使用9个参数来加密 安全性也不高.