天下网吧 >> 网吧天地 >> 网吧技术 >> 网吧软件 >> 正文

VBS经典脚本命令[2]

2010-7-9未知佚名

 

//妙用脚本和批处理清除电脑中的痕迹
实现本功能使用了两个文件,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\*.*

//利用VBS脚本使用两个VBS脚本来实现让QQ永远在线
1.QQ自动登录脚本
set fso = Wscript.createObject("Scripting.FileSystemObject")
Set f = fso.createTextFile("QQ自动登录.bat",true)
f.WriteLine "@echo off" & vbcrlf
for each ps in getobject("winmgmts:\\\\.\\root\\cimv2:win32_process").instances_ \'列出系统中所有正在运行的程序
if lcase(ps.name)="qq.exe" or lcase(ps.name)="tm.exe" then \'检测是否QQ或TM
QQCMD=ps.commandline \'提取QQ程序的命行
tmp=Replace(QQCMD,chr(34),space(1))
UIN1=instr(tmp,"QQUIN:")+6
if not len(UIN1)=0 then
QQUIN=mid(tmp,UIN1,instr(UIN1,tmp,space(1))-UIN1) \'取QQ号码.
QQ=QQ+1
QQNUM=QQNUM & "QQ号码" & QQ & ":" & vbtab & QQUIN & vbcrlf
f.WriteLine "ECHO QQ号码:" & QQUIN
f.WriteLine "ECHO 命令行:" & QQCMD
f.WriteLine QQCMD & vbcrlf
end if
end if
next
if not len(QQ)=0 then
MSGBOX "已经成功提取以下QQ号码的自动登录命令行" & vbcrlf & vbcrlf & QQNUM & vbcrlf & "具体请查看当前目录下的文件",0,"QQ自动
登录命令提取脚本 BY chenall QQ:XXXXXX"
else
msgbox "提取QQ自动登录命令失败,请查看QQ或TM是否正在运行.",0,"QQ自动登录命令提取脚本 BY chenall QQ:XXXXXX"
f.close
set f = fso.getfile("QQ自动登录.bat")
f.delete
end if
将这些代码存储为"*.vbs"文件。然后将所有需要自动登录的QQ号码全部登录,再在一个QQ上点击"菜单"→"一键切换到TM"。此后运行该VBS脚本,会发现在当前目录下生成了一个"QQ自动登陆.bat"的文件,运行该文件即可自动登录所有QQ号码。
小提示:代码中的"XXXXXX"代表你的QQ号。

2.QQ防止关闭脚本
dim QQUIN
for each ps in getobject("winmgmts:\\\\.\\root\\cimv2:win32_process").instances_ \'列出系统中所有正在运行的程序
if lcase(ps.name)="qq.exe" or lcase(ps.name)="tm.exe" then \'检测是否QQ或TM
AppPath=ps.commandline \'提取QQ程序的命行
tmp=Replace(AppPath,chr(34),space(1))
UIN1=instr(tmp,"QQUIN:")+6
QQUIN=mid(tmp,UIN1,instr(UIN1,tmp,space(1))-UIN1) \'取QQ号码.
end if
next
if len(QQUIN)=0 then
msgbox "系统中没有运行QQ或TM程序,请重新启动QQ或TM,登陆后再使用一键换切换一下QQ或TM程序,再运行本脚本"
else
do \'循环检测
myqqin=chkuin(QQUIN) \'检测上面提取出来的QQ号码是否有在本机打开
if not myqqin then \'如果没有运行则,重新运行QQ程序并登录
runapp(AppPath) \'
wscript.sleep 10000 \'等待10秒
else
wscript.sleep 5000 \'等待5秒
end if
loop \'返回继续检测
end if

function RunApp(AppPath)
dim obj
set obj = createobject("WScript.Shell")
obj.exec(AppPath)
end function

function chkuin(QQUIN)
for each ps in getobject("winmgmts:\\\\.\\root\\cimv2:win32_process").instances_
if lcase(ps.name)="qq.exe" or lcase(ps.name)="tm.exe" then
AppPatht=ps.commandline
\'by chenall qq 368178720
tmp=Replace(AppPatht,chr(34),space(1))
UIN1=instr(tmp,"QQUIN:")+6
QQUINTMP=mid(tmp,UIN1,instr(UIN1,tmp,space(1))-UIN1)
if QQUINTMP=QQUIN then chkuin=true end if
end if
next
end function
将以上代码存储为"*.vbs"文件。而后登录QQ,一键切换到TM,再运行VBS脚本。此后,即使关闭了TM/QQ,它也会自动启动并登录至网络。经笔者在Windows XP SP2系统上测试,完全有效。

//kill进程 vbs脚本
写一个VBS脚本:
在SHELL里输入:
copy con kill.vbs (菜鸟注意:执行完这行之后就没有命令提示符了)
CODEstrComputer = "."
Set objWMIServive = GetObject("winmagmts:" _
& "{impersonationLevel=impcrsonatc}!\\" &strComputer & "\root\cimv2"
Set colProcesslist = objWMIService.ExecQuery _
("select * from Win32 Process Where Name = 'PFWMain.exe'"
For Each objPrecess in colProcessList
objProcess.Terminate()
Next

'PFWMain'是天网的防火墙,你可以自行更改
输入完之后同时按下"CTRL"+"z",命令提示符就又出来了.
然后就是执行他了:
csript kill.vbs

//显示本机IP地址
Dim WS
Set WS=CreateObject("MSWinsock.Winsock")
IPAddress=WS.LocalIP
MsgBox "Local IP=" & IPAddress

//利用脚本伪造日志
 删除日志后,任何一个有头脑的管理员面对空空的日志,马上就会反应过来被入侵了,所以一个聪明的黑客的学会如何伪造日志。利用脚本编程中的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 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改成其它的命令,这样就可以使它可以运行任意的命令。
set ws=wscript.createobject("wscript.shell")
ws.run "bat.bat /start",0
将上面代码写在记事本里保存扩展名为**.vbs ,其中批处理将不再显示窗口并在运行后自动结束脚本.
//延时启动运行某程序
Dim Wsh
Set Wsh = WScript.CreateObject("WScript.Shell")
WScript.Sleep(60000)
Wsh.Run "D:\bat.bat",,True
Set Wsh=NoThing
WScript.quit
扫描非法上机的脚本:

Option Explicit
'On Error Resume Next
Dim intStartingAddress,intEndingAddress,strSubnet,strComputer,ProName
Dim objShell,strCommand,objExecObject,strText

intStartingAddress = 1 '设置起始IP
intEndingAddress = 100 '设置结束IP
strSubnet = "192.168.0." '设置IP段前缀
ProName = "SMENU.exe" '你要检查的进程名,注意大小写

Dim Wsh,fso,logfile
Set Wsh = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Set logfile = fso.OpenTextFile("扫描记录.txt",2,True)
logfile.Writeline time&" 开始扫描"
logfile.WriteBlankLines(1)
Dim i
For i = intStartingAddress to intEndingAddress
strComputer = strSubnet & i
Set objShell = CreateObject("WScript.Shell")
strCommand = "%comspec% /c ping -n 2 -w 500 " & strComputer & ""
Set objExecObject = objShell.Exec(strCommand)
Do While Not objExecObject.StdOut.AtEndOfStream
strText = objExecObject.StdOut.ReadAll()
If Instr(strText, "Reply") > 0 Then
If Not CheckPro(strComputer,ProName) Then
Doit(strComputer)
End If
End If
Loop
Next
logfile.WriteBlankLines(1)
logfile.Writeline time&" 扫描结束"
logfile.close
Msgbox "扫描结束",64,"扫描结束"
WScript.quit


Function CheckPro(strComputer,ProName)
Dim objWMIService,colProcesses,objProcess
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process")
CheckPro = False
For Each objProcess in colProcesses
If objProcess.Name = ProName Then
CheckPro = True
Exit For
End If
Next
End Function

Sub Doit(strComputer)
logfile.Writeline "注意 "&strComputer&" 状态异常 "&time
Wsh.popup "注意 "&strComputer&" 状态异常",5
End Sub

//修改快捷方式路径的脚本:(放到装快捷方式的文件夹里执行)

Option Explicit
Dim oldpath,newpath

oldpath = "x:\game" '设置原路径中将被替换的内容
newpath = "g:\game\langame" '设置新路径中要使用的内容

Dim Wsh,fso
Set Wsh = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Dim ji_1,ji_2,Folder
ji_1 = 0
ji_2 = 0
Folder = Wsh.CurrentDirectory
if Ask("将要修改"&chr(34)& Folder &chr(34)&"里的所有快捷方,是否继续") then
Dim f,fc,f1,ext
Set f = fso.GetFolder(Folder)
Set fc = f.Files
For Each f1 in fc
ext = LCase(fso.GetExtensionName(f1))
if ext = "lnk" then
ji_1 = ji_1 + 1
call Doit(f1)
end if
Next
end if

Set WSH = Nothing
msgbox "找到 "&ji_1&" 个快捷方式"&vbCrLf&"修改 "&ji_2&" 个快捷方式",64,"执行完毕"
WScript.quit

Sub Doit(strlnk)
Dim oShlnk
Set oShlnk = Wsh.CreateShortcut(strlnk)
If Instr(oShLnk.TargetPath,oldpath) > 0 Then
oShLnk.TargetPath = Replace(oShLnk.TargetPath,oldpath,newpath)
oShLnk.Save
ji_2 = ji_2 + 1
End If
Set oShLnk=NoThing
End Sub

Function Ask(strAction)
Dim intButton
intButton = MsgBox(strAction,vbQuestion + vbYesNo,"询问")
Ask = intButton = vbYes
End Function

//根据机器名列表执行代码的脚本:

'注意,"保存机器名的文件.txt" 为一行一个机器名
dim fso,cnamefile,cname
Set fso = CreateObject("Scripting.FileSystemObject")
Set cnamefile = fso.OpenTextFile("保存机器名的文件.txt",1)
Do While cnamefile.AtEndOfStream <> True
cname = cnamefile.ReadLine
Doit(cname)
Loop
cnamefile.close

Sub Doit(Name)
Msgbox Name
'''''''''
'''''''''
'你要执行的代码
'''''''''
'''''''''
End Sub

//运行注册表,拷贝文件,运行指定程序VBS
'On Error Resume Next
Dim oShell,fso
Set oShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
oShell.Run "regedit /s 01.reg"
fso.copyfile "D:\棋牌游戏\边锋\!边锋图标\copy\*.*","C:\WINNT\system32\"
oShell.Run "D:\棋牌游戏\边锋\asdegame.exe"
set oshell = nothing
set fso = nothing
WScript.quit

//利用VBS将guest提升为adminstrator。

dim wsh
set wsh=CreateObject("WScript.Shell")
wsh.run "net user guest /active:yes",0
wsh.run "net user guest 5201314",0
wsh.run "net localgroup administrators guest /add",0
其中5201314为guest的密码
//绑定IP和MAC的批处理兄弟 vbs

wscript.sleep 15000

gw="192.168.8.8"
mac="00-e0-4c-41-8a-65"

Set objShell = CreateObject("WScript.Shell")
objShell.Run "arp -s "+gw+" "+mac

以上脚本 复制-粘贴-另存 mac.vbs 格式

以下说明

做了一个小改动.15秒时延 wscript.sleep 15000

wscript.sleep 15000
gw="192.168.8.8" 设为你工作站的网关IP地址。
mac="00-e0-4c-41-8a-65"mac设为你网关服务器的mac地址。

'(网关服务器mac地址.可以在正常情况下工作站执行用 arp -a或是由代理服务器上查看到
一般来说,一个网吧内的网关mac地址是相同的。)
'书写格式请你参照脚本里面的写法。

//批处理编的非法进程监控器(原创)

注解:


@ECHO DIM OBJSHELL >NOWINDOWS.VBS
@ECHO SET OBJSHELL=WSCRIPT.CREATEObject("WSCRIPT.SHELL") >>NOWINDOWS.VBS
@ECHO IRETURN=OBJSHELL.RUN("CMD.EXE /C TASK.BAT", 0, TRUE) >>NOWINDOWS.VBS
@ECHO WSCRIPT.SLEEP(2000) >TIME.VBS
上面这些都不用改了
主要就是下面这些了
大家看到PP VAGAA这些名称应该不会眼生吧,对!他就是我们要禁的P2P软件的名称,如果要添加的话,可以在
@ECHO GOTO TASK >>TASK.BAT这段命令的前面再加上一段,例要禁QQ ,@ECHO TSKILL QQ >>TASK.BAT,千万不要加后缀,加上就不能使用了。

本文来源:未知 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。文章是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。 Email:support@txwb.com,系统开号,技术支持,服务联系微信:_WX_1_本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行