百度空间 | 百度首页 
               
 
查看文章
 
病毒专杀VBS模板更新:解决反斜杠\问题
2007-05-13 16:30

病毒专杀VBS模板今天继续更新,而且今后会将重心转向WMI对象的使用!WMI为MMC与脚本程序提供了访问操作系统构成单元的公共接口,所以通过WMI对象,我们可以完成更加强大的功能!好友看破红尘提出了一个问题,其实将这个问题简单化就是:VBS删除值项名称带有反斜杠\的注册表值。如下图:

1、我试着使用wscript.shell对象来操作注册表,可是却一直失败(原理很简单!),因为注册表对值项的名称是这样规定的:值项的名称为不包括反斜杠的字符、数字、代表符、空格的任意组合!而从上图中我们可以看到倒数两个值项名称都包含了反斜杠\。这样似乎通过wscript.shell对象就不能进行删除等操作了。(不明白我在说什么的,可以先看看我的病毒专杀VBS模板^_^||)。当我试图删除C\C时,出现下面这样的错误,它在解释我构造好的VBS脚本时,将值项名称为C\C的注册表键值误以为Run下面有子项C,而子项C又包含值项C!这样就造成了路径的错误,所以就无法regdelete了……

2、接着我在CMD下进行注册表的删除操作,输入:REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "C:\Documents and Settings\Administrator\Local Settings\Temp\virus.exe" /f,这样就可以删除值项为C:\Documents and Settings\Administrator\Local Settings\Temp\virus.exe的注册表键值了!这就是BAT的强大与干净利落!难道我们写个病毒VBS专杀非得请出CMD吗?不必如此!

3、VBS也非常的强大,看我是如何通过WMI对象,来进行注册表操作的!构造下面这段代码:

Const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
Set reg=GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
strValueName ="C:\Documents and Settings\Administrator\Local Settings\Temp\virus.exe"
reg.DeleteValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName

代码我不解释了,不懂的可以参考“您好,脚本专家!”中的详细解释,运行上面这段代码也就可以删除值项为C:\Documents and Settings\Administrator\Local Settings\Temp\virus.exe的注册表键值了。恩,似乎比CMD下的操作麻烦!不过至少通过VBS我们体验到WMI的强大,麻烦点也是值得的!

欢迎加入病毒专杀VBS模板的架构。好友dikexAVS Team分别在进行病毒专杀BAT模板的制作工作,很是不错!VBS不难,兴趣所在、有心学习什么都不难。有时候也不一定就非得完全由VBS来完成问题,为了高效,BAT或其他第三方软件的引用也是非常好的。


类别:Script Attack | 添加到搜藏 | 浏览() | 评论 (23)
 
最近读者:
 
网友评论:
1
2007-05-13 16:38 | 回复
VBS比BAT高效这是我喜欢的.
 
2
2007-05-13 16:45 | 回复
VBS比BAT高效?我还以为BAT更高效…… 至少在UI上BAT是不及VBS的,哈~~~
 
3
2007-05-13 16:48 | 回复
看看你使用的是什么代码咯,如在批处理里面向某分区的所有子文件夹复制一个文件,有几个方法,执行效率也相同
 
4
2007-05-13 16:52 | 回复
批处理在处理日期或者特殊字符就不行了,必须使用复杂的算法,而且有吃力不讨好的感觉
 
5
2007-05-13 16:56 | 回复
是啊,所以有时候还需要两者的结合。 或者调用其他已经封装好的模块。
 
6
2007-05-13 17:03 | 回复
嗯,幸好bat生成vbs等脚本还是很方便的,不过还是没有心思去学vbs -_- 另看到wmi,想起了wmic这个极为强大的系统管理命令,也想起了万恶的微软把它从那些万恶的home版系统中去掉了……
 
7
2007-05-13 17:46 | 回复
为什么我不能删掉了... 是不是我的代码有问题... 已修改的代码在我空间的新日志那里..
 
8
2007-05-13 17:48 | 回复
cmd下的wmic命令也真是强大啊! 不过,初次运行还要等待它的安装……
 
9
2007-05-13 17:50 | 回复
给你回复了,你操作看看。
 
10
2007-05-13 18:19 | 回复
谢谢指教! 这个问题是偶向“看破红尘”前辈他请教的。果然他很负责任啊!赞! G-AVR好好哦。真向往那儿~ 最终偶还是写成了批处,呵呵~
 
11
2007-05-13 18:25 | 回复
不用谢。 你不是G-AVR的成员?
 
12
2007-05-13 19:50 | 回复
Const HKEY_LOCAL_MACHINE = &H80000002 这个设置是做什么用的呢? 呵呵 太好了 这个例子 不晓得那一些杀毒软件有没有修改注册表的信息呢?我怎么总是感觉就直接删除一些感染的文件而已呢?
 
13
2007-05-13 20:01 | 回复
Const HKEY_LOCAL_MACHINE = &H80000002 是定义注册表根键的常量,比如Const HKEY_CURRENT_USER = &H80000001。 这样定义好,才可以后面的操作。 杀软有这个功能吧?
 
14
2007-05-14 08:54 | 回复
&H80000001为什么是这个值 那病毒样本我发给你了,里面很多病毒 开始用gmail发,发不过来,附件有病毒 呵呵
 
15
2007-05-14 12:25 | 回复
&H80000001这类分别着代表注册表的五大根键。 为什么这样表示我就不知道了。 我163邮箱收到你的邮件被网易直接杀了……你加密了没?
 
16
2007-05-14 16:25 | 回复
恩 加了密 密码是1 不过我可能搞错了,不明白你们说的加密,以前没有搞过 ~呵呵
 
17
2007-05-14 17:48 | 回复
VBS 比 BAT 强大 &H80000001 是SDK 里定义的,WMI 延用了
 
18
2007-05-14 18:08 | 回复
哈~~~不知道UMU是怎么定义强大的?
 
19
2007-05-14 19:06 | 回复
总体的说了,VBS比BAT要强大,但BAT的优势是简便,编写简易; VBS生出拉就和编程语言有较大的联系,而现在的BAT是在DOS下的BAT的基础上发展而来的,DOS下的BAT原来紧紧是一个简单的顺序执行的东西,那时for命令等现在强大的语句都没有,它真正变得较为强大还是在2000之后微软有意地提高windows下命令行的功能和地位而逐步发展的,现在许多BAT可以轻易实现的功能在win9x时代是基本不可能的。
 
20
2007-05-14 20:21 | 回复
用过UNIX就会觉得WIN的命令行能力较差,还好MS吸收了UNIX的某些东西,不然…
 
21
2007-05-14 20:34 | 回复
哦,这些历史性的东西,我不了解~~
 
22
2007-05-14 21:12 | 回复
玩玩LINUX吧,很有意思的。
 
23
2007-05-14 21:17 | 回复
两年前就玩过了,不过是RED HAT。 现在想玩UBUNTU~~~~
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu