配色: 字号:
vbs实用代码
2012-09-17 | 阅:  转:  |  分享 
  
l★vbs有一个对像是"SAPI.SpVoice",可以用它来讲英语的,这个组件在xp、2003上默认都可以用的,调用后可以听到电脑上一个国外老男人在说话好比这样一句代码:



CreateObject("SAPI.SpVoice").Speak"ILOVEY0U"保存成vbs后缀后双击就会听到英语的我爱你了



2★用mashta来运行vbs



hta这种类型的文件运行后也是系统权限,其调用宿主就是mahta。我们在cmd下运行这样一行代码: _ , 拜



mshtavbscript:createobject("sapi.spvoice").speak("ILOVEYOU.")(window.close)



也会听到同样的发音。这行代码的意思类似是临时生成一个hta文件,然后运行里边的vbs代码,再调用window.close将运行窗口关掉。整个运行过程是看不到hta窗口的.



3★用ie地址栏运行vbs



很多人会用ie地址栏运行js,其实vbs—样是可以的,我们陆便打开一个网站,在地址栏上输入:vbscript:msgbox(Document.links.length)后回车,就会看到当前页面有多少个连接了。用Document.links(i).href这句的话,将i换成不同的自然数好比0、1、2、3等就会分别显示出不同的链接地址。这部份内容其实是涉及到dhtml的内容了。我们来看一个最简单的示例代码:



www.sohu.comwww.baidu.com



这是两个链接,保存成网页后点击就会跳转到不同的页面。如果这个页面有跨站,我想搞下破坏,让用户点击www.sohu.com却跑到我指定的页面上能做到吗?其实可以的.只要加一行语句就可以了,代码是:。这样的话用户再点击sohu其实会跑到baidu上去了,原来页面的版式却丝奄没有破坏。同样的dhtml元素还有document.links(i).href、document,images(i).src>document.forms(i>.action等,跨站改变其动态元素是很好玩的。



一、给注册表编辑器解锁



用记事本编辑如下内容:

DIMWSH



SETWSH=WSCRIPT.CreateObject("WSCRIPT.SHELL")''击活WScript.Shell对象



WSH.POPUP("解锁注册表编辑器!")



''显示弹出信息“解锁注册表编辑器!”



WSH.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion



\Policies\System\DisableRegistryTools",0,"REG_DWORD"



''给注册表编辑器解锁



WSH.POPUP("注册表解锁成功!")



''显示弹出信息“注册表解锁成功!”

复制代码

二,显示本机IP地址

用记事本编辑如下内容:

DimWS



SetWS=CreateObject("MSWinsock.Winsock")



IPAddress=WS.LocalIP



MsgBox"LocalIP="&IPAddress

复制代码

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





三,利用脚本编程删除日志

strComputer="."



SetobjWMIService=GetObject("winmgmts:"_



&"{impersonationLevel=impersonate,(Backup)}!\\"&_



strComputer&"\root\cimv2")



dimmylogs(3)



mylogs(1)="application"



mylogs(2)="system"



mylogs(3)="security"



forEachlogsinmylogs



SetcolLogFiles=objWMIService.ExecQuery_



("SelectfromWin32_NTEventLogFilewhereLogFileName=''"&logs&"''")



ForEachobjLogfileincolLogFiles



objLogFile.ClearEventLog()



Next



next

复制代码

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





四,禁用开始菜单选项

DimChangeStartMenu



SetChangeStartMenu=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"







SubChange(Argument)



ChangeStartMenu.RegWriteRegPath&Argument,Key_Data,Type_Name



MsgBox("Success!")



EndSub







CallChange(StartMenu_Run)''禁用“开始”菜单中的“运行”功能



CallChange(StartMenu_Find)''禁用“开始”菜单中的“查找”功能



CallChange(StartMenu_Close)''禁用“开始”菜单中的“关闭系统”功能

复制代码

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





五,执行外部程序

DIMobjShell



setobjShell=wscript.createObject("wscript.shell")



iReturn=objShell.Run("cmd.exe/Csetvar=world",1,TRUE

复制代码

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



六、利用脚本伪造日志

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

setws=wscript.createobject("Wscript.shell")

ws.logevent0,"writelogsuccess"''创建一个成功执行日志

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

献花(0)
+1
(本文系无为有法521...首藏)