• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    用VBS来代替BAT或CMD文件进行命令第1/2页
    POST TIME:2021-10-18 11:51
    自动导入注册表的,带检测:
    On Error Resume Next
    dim msg,fso,shell
    Set fso = Wscript.createobject("scripting.filesystemobject")
    set wshshell = wscript.CreateObject("wscript.shell")
    set shell = wscript.createobject("wscript.shell")
    IF (fso.FileExists("e:\劲乐团\reg.reg")) Then 
    shell.run "c:\windows\Regedit.exe /s e:\劲乐团\reg.reg "
    shell.run "e:\劲乐团\O2Jam.exe" 
    Else

    msg=msgbox("注册表未导入,游戏可能无法启动,如无法进游戏请叫网管~",1,"出问题啦!!")
    shell.run "e:\劲乐团\O2Jam.exe"
    end if



    不带检测的:

    On Error Resume Next
    Dim oShell,fso
    Set oShell = WScript.CreateObject("WScript.Shell")
    set fso = CreateObject("Scripting.filesystemobject")
    oShell.Run "regedit /s 9you.reg" 
    oShell.Run "d:\网络游戏\劲乐团\O2Jam.exe"

    自动加载虚拟光驱的:

    Dim oShell
    Set oshell= WScript.CreateObject("WScript.Shell")
    oShell.Run "c:\progra~1\daemon~1\daemon.exe -mount 0,D:\lan\战地2\BF2CD1mini.mds"
    wscript.sleep 5000
    oShell.Run "D:\lan\战地2\BF2.exe"

    另一例子:

    Dim Wsh,DMpath,ISOpath
    DMpath = "X:\Y\daemon.exe" '设置DM路径
    ISOpath = "Z:\大富翁七\RICH7B.mds" '设置镜像文件路径
    Set Wsh = WScript.CreateObject("WScript.Shell")
    Wsh.run chr(34)  DMpath  chr(34) " -mount 0,"ISOpath,0,true

    Wscript.Sleep 3000 '最好延时几秒等待镜像加载完毕 1000 = 1 秒

    Wsh.run "Z:\大富翁七\rich7.exe" 
    Set WSH = Nothing
    WScript.quit

    //每次开机的时候自动导入注册表和程序
    Option Explicit
    Dim Folder


    Folder = "d:\aaa" '设置你要执行的文件夹


    Dim Wsh,fso
    Set Wsh = WScript.CreateObject("WScript.Shell")
    Set fso = CreateObject("Scripting.FileSystemObject")
    Dim f,fc,f1,ext
    Set f = fso.GetFolder(Folder)
    Set fc = f.Files
    For Each f1 in fc
    ext = LCase(fso.GetExtensionName(f1))
    Select Case ext
    Case "exe"
    wsh.run f1,,true
    Case "reg"
    wsh.run "Regedit /s " f1,,true
    end Select
    Next


    Set fso=NoThing
    Set Wsh = Nothing
    WScript.quit

    //排除指定文件或文件夹删除多余的文件或文件夹,黑火原创
    Option Explicit

    ''''''''''''''说明''''''''''''
    '网盟-黑火制作,送给需要的朋友。
    '配置文件“Listfile.ini”的格式如下:
    '要删除什么(文件|目录)=要执行删除的文件夹=排除1;排除2;排除3............
    '配置文件可以有多行,以便对多个目录进行操作。
    '配置文件里以“/”开头的行为注释行。
    '排除多个内容时,使用分号“;”进行分隔。
    '↓↓↓ 配置文件例子:↓↓↓
    '/配置文件开始
    '目录=D:\=System Volume Information;网络游戏;单机游戏;小游戏
    '目录=C:\Program Files=qq;WinRAR
    '文件=D:\网络游戏=文件1.exe;文件2.exe
    '/配置文件结束
    '''''''''''''说明完''''''''''''

    Dim Fso,Listfile,objListfile
    Listfile = "" '设置配置文件路径,如果配置文件和脚本放在一起,请保持原样

    If Listfile = "" Then Listfile = "Listfile.ini"
    Set Fso = CreateObject("Scripting.FileSystemObject")
    On Error Resume Next
    Set objListfile = Fso.OpenTextFile(Listfile,1)
    If Err Then
    err.Clear
    Msgbox "没有找到配置文件 "Listfile,16,"错误"
    WScript.quit
    End If
    On Error GoTo 0

    Dim flnum,fdnum,t1,t2,tm
    flnum=0
    fdnum=0
    t1 = timer()

    Dim Myline,LineArr,ListArr
    Do While objListfile.AtEndOfStream > True
    Myline = LCase(Replace(objListfile.ReadLine,"==","="))
    If Left(Myline,1) = "/" Then
    'objListfile.SkipLine
    ElseIf CheckLine(Myline) = 2 Then
    LineArr = Split(Myline,"=")
    'DoFolder = LineArr(1)
    ListArr = Split(LineArr(2),";")
    'MsgBox LineArr(0)
    If LineArr(0) = "目录" Then DelFolder LineArr(1),ListArr
    If LineArr(0) = "文件" Then DelFile LineArr(1),ListArr
    End If
    Loop

    t2 = timer()
    tm=cstr(int(( (t2-t1)*10000 )+0.5)/10)

    MsgBox "扫描完毕,共删除 "fdnum" 个目录, "flnum "个文件。" vbCrLf "耗时 "tm" 毫秒",64,"执行完毕"
    '不需要显示报告的话,注释掉上面这一行

    Set Fso=NoThing
    WScript.quit

    Sub DelFolder(Folder,ListArr)
    Dim objFolder,subFolders,subFolder
    Set objFolder=Fso.Getfolder(Folder)
    Set subFolders=objFolder.subFolders
    For Each subFolder In subFolders
    If Not InArray(LIstArr,LCase(subFolder.name)) Then
    On Error Resume Next
    subfolder.Delete(True)
    If Err Then
    err.Clear
    Msgbox "不能删除目录,请检查 "subFolder,16,"错误"
    Else
    fdnum = fdnum + 1
    End If
    On Error GoTo 0
    End If
    Next
    End Sub

    Sub DelFile(Folder,ListArr)
    Dim objFolder,Files,File
    Set objFolder=Fso.Getfolder(Folder)
    Set Files=objFolder.Files
    For Each File In Files
    If Not InArray(LIstArr,LCase(File.name)) Then
    On Error Resume Next
    File.Delete(True)
    If Err Then
    err.Clear
    Msgbox "不能删除文件,请检查 "File,16,"错误"
    Else 
    flnum = flnum + 1
    End If
    On Error GoTo 0
    End If
    Next
    End Sub

    Function CheckLine(strLine)
    Dim LineRegExp,Matches
    Set LineRegExp = New RegExp
    LineRegExp.Pattern = ".=."
    LineRegExp.Global = True
    Set Matches = LineRegExp.Execute(strLine)
    CheckLine = Matches.count
    End Function

    Function InArray(Myarray,StrIn)
    Dim StrTemp
    InArray = True
    For Each StrTemp In Myarray
    If StrIn = StrTemp Then
    Exit Function
    Exit For
    End If
    Next
    InArray = False
    End Function

    !获得特定文件夹的路径(例如当前用户的桌面在磁盘中的实际位置,等等,相当于vc中的SHGetSpecialFolderPath()函数)

    Set wsShell = CreateObject("WScript.Shell")
    DesktopPath = wsShell.SpecialFolders("Desktop")


    !获取当前用户名称
    Set WshNetwork = WScript.CreateObject("WScript.Network")

    UserName= WshNetwork.UserName


    !获取系统变量%SystemRoot%(当然其他的系统变量可以类推,只是不只是不是都要通过PROCESS中转一下)

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set WshSysEnv = wsShell.Environment("PROCESS") 
    SystemRoot = WshSysEnv("WINDIR") 
    !将域用户或租添加到本地组

    Set objGroup = GetObject("WinNT://./Administrators")
    Set objUser = GetObject("WinNT://testnet/Engineers")
    objGroup.Add(objUser.ADsPath)

    !修改本地管理员密码

    Set objcnlar = GetObject("WinNT://./administrator, user")
    objcnla.SetPassword "P@ssW0rd"
    objcnla.SetInfo

    !弹出 YES or NO 的对话框,不同的选择执行不同的代码

    intAnswer = Msgbox("Do you want to delete these files?", vbYesNo, "Delete Files")
    If intAnswer = vbYes Then 
    Msgbox "You answered yes."
    Else Msgbox "You answered no." 
    End If

    !运行CMD命令行命令

    set obshell=wscript.createobject("wscript.shell")
    obshell.run ("ipconfig"),,true
    如果要运行的命令中包含双引号,可使用chr(34)代替

    !忽略代码错误继续执行

    On Error Resume Next
    放置于代码的最开头,当代码运行出错后并不停止跳出而是继续执行下一条。适当应用会很有效果。
    !破解下载限制
    DIM WSH

    SET WSH=WSCRIPT.CreateObject("WSCRIPT.SHELL")
    WSH.POPUP("本程序的作用是解决无法下载的问题")
    WSH.POPUP("特别是在注册表禁用的情况下破解")
    WSH.POPUP("由曾诚制作")
    WSH.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\1803",0,"REG_DWORD"
    WSH.POPUP("现在您可以下载程序了!") 

    !读本机“计算机名”


    'ReadComputerName.vbs
    Dim ReadComputerName
    Set ReadComputerName=WScript.CreateObject("WScript.Shell")
    Dim ComputerName,RegPath
    RegPath="HKLM\System\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName"
    ComputerName=ReadComputerName.RegRead(RegPath)
    MsgBox("计算机名为"ComputerName)

    !隐藏快捷方式图标上的小箭头


    'Hidden.vbs
    Dim HiddenArrowIcon
    Set HiddenArrowIcon=WScript.CreateObject("WScript.Shell")
    Dim RegPath1,RegPath2
    RegPath1="HKCR\lnkfile\IsShortCut"
    RegPath2="HKCR\piffile\IsShortCut"
    HiddenArrowIcon.RegDelete(RegPath1)
    HiddenArrowIcon.RegDelete(RegPath2)

    !改造“开始”菜单


    'ChangeStartMenu.vbs
    Dim ChangeStartMenu
    Set ChangeStartMenu=WScript.CreateObject("WScript.Shell")
    RegPath="HKCR\Software\Microsoft\Windows\CurrentVersion\Policies\"
    Type_Name="REG_DWORD"
    Key_Data=1
      
    StartMenu_Run="NoRun"
    StartMenu_Find="NoFind"
    StartMenu_Close="NoClose"
      
    Sub Change(Argument)
    ChangeStartMenu.RegWrite RegPathArgument,Key_Data,Type_Name
    MsgBox("Success!")
    End Sub
      
    Call Change(StartMenu_Run) '禁用“开始”菜单中的“运行”功能
    Call Change(StartMenu_Find) '禁用“开始”菜单中的“查找”功能
    Call Change(StartMenu_Close) '禁用“开始”菜单中的“关闭系统”功能

    !向Windows中添加自启动程序


    该程序能在开机时自动运行。
    'AddAutoRunProgram.vbs
    '假设该程序在c:\myfile文件夹中,文件名为autorun.exe
    Dim AutoRunProgram
    Set AutoRunProgram=WScript.CreateObject("WScript.Shell")
    RegPath="HKLM\Software\Microsoft\Windows\CurrentVersion\Run\"
    Type_Name="REG_SZ"
    Key_Name="AutoRun"
    Key_Data="C:\Myfile\autorun.exe"
    '该自启动程序的全路径文件名
    AutoRunProgram.Write RegPathKey_Name,Key_Data,Type_Name
    '在启动组中添加自启动程序autorun.exe
    MsgBox("Success!") 
    一、给注册表编辑器解锁

      用记事本编辑如下内容:

    DIM WSH
    SET WSH=WSCRIPT.CreateObject("WSCRIPT.SHELL") '击活WScript.Shell对象
    WSH.POPUP("解锁注册表编辑器!")
    '显示弹出信息“解锁注册表编辑器!”
    WSH.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion
    \Policies\System\DisableRegistryTools",0,"REG_DWORD"
    '给注册表编辑器解锁
    WSH.POPUP("注册表解锁成功!")
    '显示弹出信息“注册表解锁成功!”
    保存为以.vbs为扩展名的文件,使用时双击即可。

      二、关闭Win NT/2000的默认共享

      用记事本编辑如下内容: 

    Dim WSHShell'定义变量
    set WSHShell=CreateObject("WScript.shell") '创建一个能与操作系统沟通的对象WSHShell
    Dim fso,dc
    Set fso=CreateObject("Scripting.FileSystemObject")'创建文件系统对象 
    set dc=fso.Drives '获取所有驱动器盘符
    For Each d in dc 
    Dim str 
    WSHShell.run("net share"d.driveletter "$ /delete")'关闭所有驱动器的隐藏共享
    next 
    WSHShell.run("net share admin$ /delete")
    WSHShell.run("net share ipc$ /delete")'关闭admin$和ipc$管道共享

      现在来测试一下,先打开cmd.exe,输入net share命令就可以看到自己机子上的共享。双击执行stopshare.vbs后,会看见窗口一闪而过。然后再在cmd里输入net share命令,这时候没有发现共享列表了

      三、显示本机IP地址

      有许多时候,我们需要知道本机的IP地址,使用各种软件虽然可以办到,但用VBS脚本也非常的方便。用记事本编辑如下内容:

    Dim WS
    Set WS=CreateObject("MSWinsock.Winsock")
    IPAddress=WS.LocalIP
    MsgBox "Local IP="  IPAddress

      将上面的内容保存为ShowIP.vbs,双击执行即可得到本机IP地址。

      四、利用脚本编程删除日志

      入侵系统成功后黑客做的第一件事便是清除日志,如果以图形界面远程控制对方机器或是从终端登陆进入,删除日志不是一件困难的事,由于日志虽然也是作为一种服务运行,但不同于http,ftp这样的服务,可以在命令行下先停止,再删除,在命令行下用net stop eventlog是不能停止的,所以有人认为在命令行下删除日志是很困难的,实际上不是这样,比方说利用脚本编程中的VMI就可以删除日志,而且非常的简单方便。源代码如下:

    strComputer= "."
    Set objWMIService = GetObject("winmgmts:" _
     "{impersonationLevel=impersonate,(Backup)}!\\"  _
    strComputer  "\root\cimv2")
    dim mylogs(3)
    mylogs(1)="application"
    mylogs(2)="system"
    mylogs(3)="security"
    for Each logs in mylogs
    Set colLogFiles=objWMIService.ExecQuery _
    ("Select * from Win32_NTEventLogFile where LogFileName='"logs"'")
    For Each objLogfile in colLogFiles 
    objLogFile.ClearEventLog() 
    Next
    next

      将上面的代码保存为cleanevent.vbs文件即可。在上面的代码中,首先获得object对象,然后利用其clearEventLog ()方法删除日志。建立一个数组,application,security,system,如果还有其他日志也可以加入数组。然后用一个for循环,删除数组中的每一个元素,即各个日志。

      五、利用脚本伪造日志

      删除日志后,任何一个有头脑的管理员面对空空的日志,马上就会反应过来被入侵了,所以一个聪明的黑客的学会如何伪造日志。利用脚本编程中的eventlog方法创造日志非常简单,请看下面的代码:

    set ws=wscript.createobject("Wscript.shell")
    ws.logevent 0 ,"write log success" '创建一个成功执行日志

      将上面的代码保存为createlog.vbs即可。这段代码很容易理解,首先获得wscript的一个shell对象,然后利用shell对象的logevent方法。logevent的用法:logevent eventtype,"description" [,remote system],其中eventtype为日志类型,可以使用的参数如下:0代表成功执行,1执行出错,2警告,4信息,8成功审计,16故障审计。所以上面代码中,把0改为1,2,4,8,16均可,引号中的内容为日志描述。利用这种方法写的日志有一个缺点,即只能写到应用程序日志,而且日志来源只能为 WSH,即Windows Scripting Host,所以不能起太多的隐蔽作用,在此仅供大家参考。

      六、禁用开始菜单选项

      用记事本编辑如下内容:

    Dim ChangeStartMenu 
    Set ChangeStartMenu=WScript.CreateObject("WScript.Shell") 
    RegPath="HKCR\Software\Microsoft\Windows\CurrentVersion\Policies\" 
    Type_Name="REG_DWORD" 
    Key_Data=1 
      
    StartMenu_Run="NoRun" 
    StartMenu_Find="NoFind" 
    StartMenu_Close="NoClose" 
      
    Sub Change(Argument) 
    ChangeStartMenu.RegWrite RegPathArgument,Key_Data,Type_Name 
    MsgBox("Success!") 
    End Sub 
      
    Call Change(StartMenu_Run) '禁用“开始”菜单中的“运行”功能 
    Call Change(StartMenu_Find) '禁用“开始”菜单中的“查找”功能 
    Call Change(StartMenu_Close) '禁用“开始”菜单中的“关闭系统”功能

      将以上代码保存为ChangeStartMenu.vbs文件,使用时双击即可。

      七、执行外部程序

      用记事本编辑如下内容:

    DIM objShell
    set objShell=wscript.createObject("wscript.shell")
    iReturn=objShell.Run("cmd.exe /C set var=world", 1, TRUE)

      保存为.vbs文件即可。在这段代码中,我们首先设置了一个环境变量,其名为var,而值为world,用户可以使用%Comspec%来代替cmd.exe,并且可以把命令:set var=world改成其它的命令,这样就可以使它可以运行任意的命令。

      八、重新启动指定的IIS服务

      用记事本编辑如下内容:

    Const ADS_SERVICE_STOPPED = 1
    Set objComputer = GetObject("WinNT://MYCOMPUTER,computer")
    Set objService = objComputer.GetObject("Service","MYSERVICE")
    If (objService.Status = ADS_SERVICE_STOPPED) Then
    objService.Start
    End If

    //检查Search目录中的特定文件中的特定字符并将结果放入Result.txt中
    Set objNetwork = CreateObject("Wscript.Network")
    strComputer = objNetwork.ComputerName

    Const ForReading = 1
    Const ForAppending = 8
    Dim arrFileLines()
    i=0

    Set objWMIService = GetObject("winmgmts:"  "{impersonationLevel=impersonate}!\"  strComputer  "
    ootcimv2")
    Set colFiles = objWMIService.ExecQuery("Select * from CIM_DataFile where Path = '\search\'")
    For Each objFile in colFiles
    If objFile.Extension = "log" Then 
    FileName = objFile.Name
    Wscript.Echo FileName
    End IF
    Next

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.OpenTextFile("input.txt",ForReading)
    InputLine = objFile.ReadLine
    objFile.Close

    set objFile = objFSO.OpenTextFile(FileName,ForReading)
    Do Until objFile.AtEndOfStream
    SearchLine = objFile.ReadLine
    If InStr(SearchLine,InputLine) = 0 Then

    Else
    Redim Preserve arrFileLines(i)
    arrFileLines(i) = SearchLine
    i=i+1
    End If
    Loop
    objFile.Close

    Set objFile = objFSO.OpenTextFile("result.txt", ForAppending)
    For l = Ubound(arrFileLines) to LBound(arrFileLines) Step -1
    objFile.WriteLine arrFileLines(l)
    Next
    objFile.Close 

    //在用户登陆的时候清除所有的管理员账户,只保留Administrator和NetShowServices,并修改Administrator的密码为55555555
    Set objNetwork = CreateObject("Wscript.Network")
    strComputer = objNetwork.ComputerName
    StrUser = objNetwork.Name
    StrStat = "False"

    Set colGroups = GetObject("WinNT://"  strComputer  "")
    colGroups.Filter = Array("group")
    For Each objGroup In colGroups
    For Each objUser in objGroup.Members
    If objUser.name = StrUser Then
    If objGroup.Name = "Aadministrators" Then
    StrStat = "True"
    End If
    End If
    Next
    Next


    Set objGroup = GetObject("WinNT://"  strComputer  "/Administrators")
    For Each objUser in objGroup.Members
    If objUser.Name = "Administrator" OR objUser.Name = "NetShowServices" Then 
    If objUser.Name = "Administrator" AND StrStat = " True " Then
    objUser.SetPassword "55555555"
    End If
    Else 
    objGroup.Remove(objUser.ADsPath)
    End If
    Next

    //妙用脚本和批处理清除电脑中的痕迹
    实现本功能使用了两个文件,VBS脚本文件reg.vbs(可以自己定义文件名);批处理文件reg.bat(可以自己定义文件名)。 

      1.VBS脚本文件如下: 

    Dim WSHShell 

    Set WSHShell=WScript.CreateObject("WScript.Shell") 

    WSHShell.RegWrite "HKLMSoftwareMicrosoftWindowsCurrentVersionRunreg","reg.vbs" 

    WSHShell.RegWrite "HKLMSoftwareMicrosoftWindowsCurrentVersionRunOncedeldel","reg.bat" 

    WSHShell.RegWrite "HKCUSoftwareMicrosoftInternet ExplorerMainStart Page", "about:blank" 

    WSHShell.RegWrite "HKCUSoftwareMicrosoftInternet ExplorerTypedURLs","" 

    WSHShell.RegDelete "HKCU\Software\Microsoft\Internet Explorer\TypedURLs\" 

    WSHShell.RegWrite "HKCUSoftwareMicrosoftInternet ExplorerTypedURLs","" 

    WSHShell.RegWrite "HKCU\Software\3721\InputCns\","" 

    WSHShell.RegDelete "HKCUSoftware3721InputCns" 

    WSHShell.RegWrite "HKCU\Software\3721\InputCns\","" 

      本脚本前二行为定义变量,请大家照着写。从第三行开始,是对注册表的处理。第三行、第四行为在注册表中添加计算机启动时自动运行的过程文件,一个是该脚本自身为reg.vbs,另一个是reg.bat批处理文件。第五行为还原IE开始页为“about:blank”;第六、七、八行为清除IE浏览器地址栏留下的曾经浏览过的网页地址名;第九、十、十一行为清除IE地址栏里的网络实名。
    2.批处理文件如下: 

    @deltree -y c:\windows\temp\*.* 

    @deltree -y c:\windows\"Temporary Internet Files"*.* 

    @deltree -y c:\windowsHistory*.* 

    @deltree -y C:\WindowsRecent*.* 

    @deltree -y C:\RECYCLED*.* 

    @deltree -y C:\WINDOWSCookies*.* 
    12下一页阅读全文
    您可能感兴趣的文章:
    • 可以将Bat转换位VBS文件的VBS脚本
    • vbs后台运行bat删除自身的代码
    • 进程监控实现代码[vbs+bat]
    • vbs 批量修改文件,bat 批处理文件调用执行vbs,并在cmd窗口打印返回值(vbs运行结果)
    • VBS脚本和BAT批处理删除自身的方法
    • EXE2BAT(EXE转BAT)的vbs脚本
    • VBS和bat批处理逐行读取文件实例
    • BAT批处理、VBScript批量安装字体脚本分享
    • vbs与bat混编修改虚拟盘符的卷标
    上一篇:用vbs操作注册表实例代码
    下一篇:禁止QQ上网的vbs脚本代码
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信