华域联盟 vbs 用VBS来代替BAT或CMD文件进行命令第1/2页

用VBS来代替BAT或CMD文件进行命令第1/2页

自动导入注册表的,带检测:

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 RegPath&Argument,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 RegPath&Key_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地址。

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

  入侵系统成功后Hacker做的第一件事便是清除日志,如果以图形界面远程控制对方机器或是从终端登陆进入,删除日志不是一件困难的事,由于日志虽然也是作为一种服务运行,但不同于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循环,删除数组中的每一个元素,即各个日志。

  五、利用脚本伪造日志

  删除日志后,任何一个有头脑的管理员面对空空的日志,马上就会反应过来被入侵了,所以一个聪明的Hacker的学会如何伪造日志。利用脚本编程中的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 RegPath&Argument,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 "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\reg","reg.vbs" 

WSHShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce\deldel","reg.bat" 

WSHShell.RegWrite "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page", "about:blank" 

WSHShell.RegWrite "HKCU\Software\Microsoft\Internet Explorer\TypedURLs\","" 

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

WSHShell.RegWrite "HKCU\Software\Microsoft\Internet Explorer\TypedURLs\","" 

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

WSHShell.RegDelete "HKCU\Software\3721\InputCns\" 

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:\windows\History\*.* 

@deltree -y C:\Windows\Recent\*.* 

@deltree -y C:\RECYCLED\*.* 

@deltree -y C:\WINDOWS\Cookies\*.* 


1
2
下一页
阅读全文
您可能感兴趣的文章:

本文由 华域联盟 原创撰写:华域联盟 » 用VBS来代替BAT或CMD文件进行命令第1/2页

转载请保留出处和原文链接:https://www.cnhackhy.com/15178.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部