批处理kill隐藏的cmd窗口

  1. 1 概述
  2. 2 实现

批处理kill隐藏的cmd窗口

1 概述

当我们把bat隐藏之后,进程会多一个批处理进程并且不同程序的批处理是相同的,我们无法判断需要kill哪个。

思路:
我们可以通过使用自己的cmd.exe的方式,然后只kill掉服务自己的cmd.exe。

2 实现

if "%1"=="r" goto start
if "%1"=="h" goto begin
if not exist nvrcmd.exe (
    copy C:\windows\system32\cmd.exe nvrcmd.exe /y
)

start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin

tasklist | find /C "nvrcmd.exe"
if %errorlevel%==0 (
    echo nvrcmd.exe has started, will kill it
    taskkill /f /im "nvrcmd.exe"
)

start mshta vbscript:CreateObject("WScript.Shell").Run("nvrcmd.exe /c %~nx0 r",0)(window.close)&&exit
:start
  1. 是否在本地存在nvrcmd.exe,如果没有则从C盘下面复制
  2. 使用隐藏的方式运行此脚本
  3. 隐藏脚本已经启动,会运行到begin之后
  4. 判断nvrcmd.exe是否运行,如果正在运行则kill掉
  5. 使用nvrcmd.exe运行此脚本
  6. r入参成立,会运行到start

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 wind.kaisa@gmail.com

文章标题:批处理kill隐藏的cmd窗口

本文作者:kaisawind

发布时间:2020-04-29, 01:40:04

最后更新:2020-07-21, 14:35:46

原始链接:https://kaisawind.gitee.io/2020/04/28/2020-04-29-bat-kill-hide/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏