批处理隐藏运行10种思路

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

批处理隐藏运行的10种思路.txt爱空空情空空,自己流浪在街中;人空空钱空空,单身苦命在打工;事空空业空空,想来想去就发疯;碗空空盆空空,生活所迫不轻松。总之,四大皆空!批处理隐藏运行的10种思路

1.基础

HideRun.vbs

-------------------------------------------------------------------------------- CreateObject("WScript.Shell").Run "cmd /cD:\test.bat",0

其中D:\test.bat是你的批处理路径

HideRun.bat

-------------------------------------------------------------------------------- echo CreateObject("WScript.Shell").Run "cmd /cD:\test.bat",0>$tmp.vbs

cscript.exe /e:vbscript $tmp.vbs

del $tmp.vbs

这个批处理其实不能使其批处理本身隐藏,但是下面大部分隐藏调用批处理的原理和基础。HideRun.js

-------------------------------------------------------------------------------- new ActiveXObject('WScript.Shell').Run('cmd /cD:\Test.bat',0);

用Javascript有什么好处呢?js的字符串变量可以用单引号,从而方便命令行作为参数调用,而且js很好的支持多行语句用 ; 分隔写成一行。要注意的是:js要区分大小写,方法必须用括号,结尾必须有分号。所以就成了下面的命令:

-------------------------------------------------------------------------------- mshta "javascript:new ActiveXObject('WScript.Shell').Run('cmd /cD:\test.bat',0);window.close()"

2.用快捷方式

如果要使一个批处理本身隐藏,可以参考附件里的一个快捷方式,修改附件中的相关路径即可隐藏启动你的批处理。可以用vbs来建立一个 .lnk,其实用批处理也行(先echo一个vbs 出来)

3.利用系统服务

可以用sc建立一个系统服务然后启动这个服务来启动批处理。缺点是启动服务较慢,需要管理员权限

查考这个帖子,

/forum/view ... =%E6%9C%8D%E5%8A%A1

asbai 兄的大作,极大的方便了我们的使用。

CODE: [Copy to clipboard]

-------------------------------------------------------------------------------- runassrv add /cmdline:"C:\Windows\System32\cmd.exe /cD:\test.bat" /name:"mysrv" net start mysrv

4.利用at计划任务

用at可以建立一个计划任务,在不输入 /interactive 参数可以后台运行。但是建使用at 必须有管理员权限

CODE: [Copy to clipboard]

-------------------------------------------------------------------------------- at 09:10 "cmd /cD:\Test.bat"

然后在 9:10 系统就会自动后台以SYSTEM权限运行这个bat

5.利用ftype文件关联

综合上面的技术,使所有批处理都隐藏运行

CODE: [Copy to clipboard]

-------------------------------------------------------------------------------- ftype batfile=C:\Windows\System32\mshta "javascript:new ActiveXObject('WScript.Shell').Run('cmd /c%1',0);window.close();"

大家可以讨论下下面的思路,目前没有明确的方法,但是理论上是可行的

6.rundll32

其实这个方法只是理论上估计的,这里提出来占个位置,留个记号,等待高手研究

rundll32可以调用 dll 里的API,如果有个dll可以隐藏run一个exe就可以实现隐藏启动批处理,呵呵。目前我也没找到方法。

7.其他用户

Windows 2k/XP支持多用户,如果能在后台登陆另一个账户的桌面然后运行一个批处理,就能完全达到隐藏的目的

8.bat2vbs

这个方法只是一个不是很成熟的思路。

查考这个帖子:

/forum/view ... p;highlight=exe2bat

这使我们产生了一个想法:把bat转换成vbs,然后vbs生成一个临时bat文件,然后

9. .NET编译

参考这个帖子:

/forum/view ... hlight=script%2Bnet

里面提到了一个 .NET Warpper,我们完全可以利用系统自带的组件把bat编译到 exe 当中。如果bat不涉及交互,exe自然就安静的运行了。

10.注入汇编

最后向大家推出的今天最隆重的,ASCII Assembly Code专家 Herbert Kleebauer 的又一力作:showwin.exe

Quote:

showwin.exe let you minimize/maximize/hide the command window

within a batch program (requires W2k or better).

Usage: showwin.exe number

0 SW_HIDE

Hides the window and activates another window.

1 SW_SHOWNORMAL

Activates and displays a window. If the window is minimized or maximized,

the system restores it to its original size and position. An application

should specify this flag when displaying the window for the first time.

2 SW_SHOWMINIMIZED

Activates the window and displays it as a minimized window.

3 SW_MAXIMIZE

Maximizes the specified window.

3 SW_SHOWMAXIMIZED

Activates the window and displays it as a maximized window.

4 SW_SHOWNOACTIVATE

相关文档
最新文档