查看: 14783|回复: 55
收起左侧

[技术原创] Dr.Web U盘DOS杀毒初尝试,附参数参考译文

[复制链接]
杏林小草
发表于 2008-1-10 23:45:55 | 显示全部楼层 |阅读模式
处理内核级Rootkit最好的方法是启动到另外一个干净的系统,然后运行防病毒软件。作为一名windows用户,小草一直都在努力为爱机制作一款杀毒U盘,不过屡试屡败。总结原因如下:
1.command line scanner不一定是DOS版。作为麦粉,小草首先想到的当然是咖啡啦,上官网去了解,果然有command line scanner啵,说明书上还写着适用于DOS、windows的命令行等云云。欣喜若狂地下载,心里还赞叹咖啡的功夫一流,“居然能开发DOS、Windows两栖型程序”。试用结果大失所望,每次启动该软件都报“not enough memory”。小草还以为是DOS版本的问题,换用DOS6、DOS7、以及windows 3.2都不行,加装HIMEM、smartdrv也不行。几经求证,小草终于醒悟过来,咖啡的command line scanner只能在windows 9x/NT/2K/XP的command line下运行,说明书的版本太老了。哎,大大的上了一回当......
2.引擎太老。咖啡不行,那卡巴斯基如何?网上到处都有卡巴斯基的DOS版,下载方便,小草也用过。但是卡巴斯基DOS版都是4.0版本的,太老的引擎有几个问题,小草认为首当其冲的是脱壳效果欠佳。追求完美的小草就这样将卡巴斯基扔到一边。
3.毒库升级困难。咖啡、卡巴斯基都不行,小草不气馁,继续尝试......一次,在网上闲逛时,小草意外发现F-port的DOS版,对喔,这款杀软也很有名的。下载之后才发现该公司已经停止发布F-port DOS版病毒库的更新,该公司的理由是DOS已经是淘汰的操作系统,欢迎用户换用其它版本的F-port。人家不提供毒库更新,小草自力更生吧。通过比较该软件的windows版和DOS版的毒库,小草深刻地意识到自己功力尚浅,无力改装毒库,只好放弃。
    就在小草陷入绝望的时候,Dr.Web闯入了小草的视线。虽然官网上明确写着DOS版,但是只要一想起咖啡的教训,小草就高兴不起来。还是小心为妙,先在XP下试运行。从cmd窗口的外观看,的确是实模式应用程序;打开进程管理器,发现ntvdm(NT虚拟机)进程,这就更坚定了小草的信念;为进一步确证,退回到DOS,启动杀毒,哈,成功了!试用一次后和各位卡饭分享经验:
1.制备可引导的U盘。方法很多,网上都有介绍,不赘述。小草用的是usboot 1.7。提醒各位注意,如果用DOS6,U盘要格式化为FAT,如果用DOS7,U盘可以用FAT32格式。usboot 1.7采用FAT格式。
2.复制必要的DOS文件。至少包括MSDOS.SYS、IO.SYS、command.com、HIMEM.SYS、Smartdrv.exe。如果硬盘采用NTFS格式,则ntfs4dos也是需要的。其它的工具根据个人需求选用,比如光驱驱动、硬盘工具、关机程序等。注意修改config.sys文件,至少包括device=a:\himem.sys(注:与U盘的引导方式有关,FDD/ZIP方式引导,则U盘驱动器号为A,若为HDD,则驱动器号为C)。HIMEM.SYS、Smartdrv.exe可以帮助Dr.Web更好地使用内存和磁盘,如果不用它们,扫描的速度会非常慢。
3.上网下载Dr.Web,下载页面为http://download.drweb.com/cl/,上面有dos版的下载地址。
4.安装。Dr.Web DOS版安装很简单,直接解压到U盘即可,注意将文件夹名字改短,并且全部用英文,以便在DOS下进入文件夹。别忘了DOS可是识别不了中文的哦.....
5.安装key。论坛上有,不赘述。
6.升级。Dr.Web DOS版没有专门的升级程序,可使用DrWU软件。论坛上有,不赘述。下载的升级包是压缩包,按顺序逐个解压覆盖Dr.Web安装目录的旧文件即可。
7.重启,选择U盘引导。
8.启动smartdrv.exe,如果需要扫描NTFS分区,则还需要启动ntfs4dos。
9.进入Dr.Web的安装目录,启动Dr.Web。尽情享受Dr.Web的杀毒服务吧~
10.自动化。如果制成autoexec.bat批处理,自动启动相关的程序,并在Dr.Web运行结束后自动执行关机命令,则能实现自动化。
    未解决的问题:时代进步了,机器的配置也高起来。在主流配置下如何优化himem.sys和smartdrv.exe的配置?比如文件缓存要取多少?很抱歉,对于DOS,小草快忘光了......

    总结:Dr.Web DOS版是一个引擎、毒库都有官方升级支持的防病毒软件,可以在XP下直接运行测试其各项参数,初步试用感觉效果不错。
    展望:小草一向认为,DOS杀毒并不是最好的方法,主要原因在于操作系统DOS本身的性能有限(如:内存利用欠佳,不支持长文件名、中文文件名等)。小草希望能弄一个精简的、运行于U盘的Linux。选择Linux是因为它是免费的,定制非常方便,性能上佳,又能上网,而且Linux有很多免费的防病毒软件,再也不用为key犯愁......总之,在小草看来,U盘版的Linux是绝佳的维护工具。可惜,小草还没开始Linux入门,只望卡饭的高手中有人和小草有共同志向,共同制作一个卡饭版的Linux维护U盘。(听起来好讽刺,用Linux维护Windows,汗.......)

    附:Dr.Web DOS版参数的参考译文及部分示例
(小草注:Dr.Web有DOS版和windows命令行版,两个版本不同,但多数参数意义相同。下文指的是DOS版)

启动Dr.Web扫描器的命令行格式是DrWeb386 [disk:][path] [options],其中:
  disk: 代表要扫描的驱动器,可以用“*”表示所有的逻辑驱动器。
  path  代表要扫描的路径。
  options 代表选项,具体叙述如下:
    /@[+]<file>  表示扫描指定列表文件中列明的对象。默认状态下,扫描结束后Dr.Web会删除列表文件(但不会删除被扫描的文件)。如果打开“+”开关,则不会删除列表文件。
        示例:
             列表文件路径为"C:\DrWeb\list.txt",内容为:
                ?boot
                 C:\Temp\1.rar
                 C:\Temp\2.rar
             执行drweb386 /@C:\DrWeb\file.txt,则Dr.Web会扫描引导扇区以及C:\Temp\1.rar、C:\Temp\2.rar这两个文件,扫描结束后删除C:\DrWeb\list.txt。
    /ADW[I|D|M|R]  打开本开关后,Dr.Web会处理广告程序,选项I指示Dr.Web在发现广告程序后忽略它,而D表示删除,M表示移动到“infected.!!!”文件夹,R表示重命名,扩展名的第一个字符被改成“#”。(下文中选项I、D、M、R的含义多与此雷同,如无特殊,不再翻译。)
    /AL 本开关指示Dr.Web扫描给定驱动器上的所有文件,忽略文件的扩展名或内部格式。
    /AR[D|M|R][N]  打开本开关后,Dr.Web会检查所有已知的压缩包。已知的压缩包指的是ARJ、GZIP、RAR、TAR、ZIP、ACE、CAB、ISO等等。选项N的字面含义是“抑制压缩程序的信息”,小草自己也不理解原文。谅。
    /CN[D|M|R][N]  本开关指示Dr.Web检查集成文件。集成文件包括HTML文件、RTF文件、PowerPoint文件格式等。
    /CU[D|M|R]  本开关定义了发现感染后的处理。本开关默认的首选处理方式是修复被感染对象,如果文件无法修复则删除它(可以通过/IC开关改变无法修复文件的处理方式)。要改变本开关的首选处理方式,可以使用选项D、M、R。
    /DA  打开本开关后,Dr.Web每天只运行一次扫描。下次扫描的日期信息记录在配置文件中的“NextCheck =”项。
        示例:
             第一次执行drweb386 c:\drweb /DA,Dr.Web会扫描一次目录“c:\drweb”。
             在同一天,再次运行drweb386 c:\drweb /DA,Dr.Web提示“DrWeb/386: Scanning skipped. Next check will be at 2008-01-11.”(跳过扫描,2008年1月11日以后才可以执行下一次扫描)。
             事实上,在同一天运行drweb386扫描,只要打开/DA开关,即使扫描的目标不再是第一次扫描的路径,都会被跳过。
             此时,如果不打开/DA开关,则不受限。如执行drweb386 c:\drweb,则可启动扫描目录“c:\drweb”。
    /DLS[I|D|M|R] 打开本开关后,Dr.Web会处理处理拨号软件。
    /EX  本开关指示Dr.Web根据文件扩展名有选择地进行扫描。配置文件中的“FilesTypes =”项定义了扫描的扩展名。当具体指定文件名,或者在列表文件中指定文件名(可以使用通配符),则覆盖本开关的设置。默认的“FilesTypes =”项为“EXE、COM、DLL、SYS、VXD、OV?、BAT、BIN、DRV、PRG、BOO、SCR、CMD、386、FON、DO?、XL?、WIZ、RTF、CL*、HT*、VB*、JS*、INF、PP?、OBJ、LIB、PIF、HLP、MD?、INI、MBR、IMG、CSC、CPL、MBP、SH、SHB、SHS、SHT*、CHM、REG、XML、PRC、ASP、LSP、MSO、OBD、THE*、NWS、SWF、MPP、OCX、VS*、DVB、CPY、BMP、RPM、ISO、DEB、AR?、ZIP、R??、GZ、Z、TGZ、TAR、TAZ、CAB、LHA、LZH、BZ2、MSG、EML、7Z、CPIO、TBB”。
    /GO  不显示提示信息。在自动运行的批处理文件中可使用本开关,实现无人值守。
        示例:
             执行drweb386 *,中途按“ESC”键后,程序会弹出对话框询问。
             执行drweb386 * /GO,中途按“ESC”键后,程序不再弹出对话框,而是直接中止扫描。
    /HA  本开关指示Dr.Web启用启发式扫描。
    /HCK[I|D|M|R] 本开关指示Dr.Web处理黑客工具。
    /IC[D|M|R]  本开关定义了无法修复的文件的处理方式。
    /INI:<file/path>  本开关指示Dr.Web使用指定的配置文件。注:网上有高手指出,DOS版的配置文件与Windows版的配置文件相似。小草没有安装Dr.Web Windows版,所以无从核实。
    /JOK[I|D|M|R]  本开关指示Dr.Web处理玩笑程序。
    /LNG[:<file>]  本开关指示Dr.Web使用指定的语言文件(扩展名为dwl)。如果没有给出文件名,则使用内置的语言(英语)。
    /ML[D|M|R][N]  本开关指示Dr.Web检查邮件文件,编码格式包括UUENCODE、XXENCODE、BINHEX以及MIME。
    /MW[I|D|M|R]  本开关为全局开关,指示Dr.Web处理各种恶意程序,包括广告程序、拨号程序、玩笑程序、风险程序、黑客工具。
    /NI  本开关指示Dr.Web忽略配置文件drweb32.ini中的设置。
    /NM  本开关指示Dr.Web跳过内存测试。
    /NR  本开关指示Dr.Web关闭日志功能。
    /NS  本开关指示Dr.Web忽略“ESC”键(即,按ESC键不能中止扫描)。
    /OK  本开关指示Dr.Web用“OK”标明干净的文件。
    /PF  本开关指示Dr.Web在扫描多张软盘时,提示用户“插入下一张软盘”。
    /PR  本开关指示Dr.Web在处理感染文件之前提示用户。
    /RP[+][file]  本开关指示Dr.Web开启日志功能。file选项允许用户自行指定日志文件。当指定了日志文件,默认情况是每次的新记录会覆盖掉原文件的内容,开启“+”选项后,可以强制Dr.Web将新记录追加到指定日志文件的尾部。
    /RSK[I|D|M|R]  本开关指示Dr.Web处理风险程序。
    /SCP:<n>  本开关定义了扫描优先级,从1到50,默认为25。小草不明白在DOS这样的单任务操作系统中,“扫描优先级”是什么意思。简单测试一下,感觉不到1和50在扫描速度上有多大区别。
    /SD  本开关指示Dr.Web扫描指定路径及其子目录。
    /SO  本开关指示Dr.Web开启声音提示。小草不清楚Dr.Web在什么情况下会给出怎样的声音,请各位卡饭补充。
    /SP[D|M|R]  本开关定义了处理可疑文件的方式。
    /SS  本开关指示Dr.Web保存设置。Dr.Web DOS版没有专门供用户进行设置的界面,小草不明白何来“保存设置”一说?
    /TB  本开关指示Dr.Web扫描引导扇区和主引导记录。
    /TM  本开关指示Dr.Web扫描内存。Windows命令行版还可以扫描Windows系统内存。
    /TS  本开关指示Dr.Web扫描自动运行区域。本开关只对Windows命令行版有意义,DOS版忽略本开关。自动运行区域包括“启动”文件夹、system.ini以及有关的注册表项等。
    /UPN  字面含义是“抑制压缩程序的名字”,不懂......
    /WA  本开关指示Dr.Web在找到病毒或可疑文件时暂停,等待用户单击任意键。
    /?   本开关可显示帮助。

    可在某些开关后面加上“-”号,其含义是关闭该开关。此法特别适用于某些默认打开或根据配置文件要求而打开的开关。
    可以使用“-”号的开关包括:/ADW、/AR、/CU、/DLS、/FN、/HCK、/JOK、/HA、/IC、/ML、/MW、/OK、/PF、/PR、/RSK、/SD、/SO、/SP、/TB、/TM、/TS、/WA。
    对/CU、/IC和/SP开关而言,“-”号意味着发现相应的恶意程序后只报告而不采取处理。
    要关闭/INI或/RP开关,请使用专门的/NI或/NR开关。

    在没有配置文件情况下的默认设置是:/AL /AR /HA /ML /PR /SD /TB /TM /TS,即开启启发式去扫描内存、扫描引导扇区、扫描主引导记录、扫描所有驱动器上的所有文件、扫描邮件格式文件,发现恶意程序时询问用户采取什么处理。


小草不才,以上仅供参考,不妥之处请指正!


杏林小草
于 中山医科大学


[ 本帖最后由 杏林小草 于 2008-1-22 17:52 编辑 ]

评分

参与人数 2经验 +50 魅力 +2 收起 理由
jimmyleo + 50 + 1 很好~ 很久没看到技术讨论了~
zzh161 + 1 感谢解答: )

查看全部评分

杏林小草
 楼主| 发表于 2008-1-11 00:16:50 | 显示全部楼层
第一次在卡饭中发技术帖,开心并兴奋中......
北方星空
发表于 2008-1-11 00:18:25 | 显示全部楼层
绝对支持你。你还真好耐心研究。版主知道给你加分。
7-112
发表于 2008-1-11 01:08:23 | 显示全部楼层
恩,很正点!
长空之鹰
发表于 2008-1-11 07:04:40 | 显示全部楼层

回复 1楼 杏林小草 的帖子

不错啊,不过U3 U盘带WIN PE去处理也可以啊

用Linux维护Windows没什么讽刺的,我同学就用Linux强删Windows下无法删除的文件
zcs0820
发表于 2008-1-11 09:29:18 | 显示全部楼层
支持楼主的奉献精神,赞扬楼主的不挠意志!
顶了
iholy
发表于 2008-1-11 13:02:59 | 显示全部楼层
LZ研究的不错,可以做为蜘蛛FANS们的学习榜样,文章也收藏了。
hyxuzhimin
发表于 2008-1-11 13:47:57 | 显示全部楼层
好文啊,顶。希望未知问题可以解决。
packet
发表于 2008-1-11 17:26:25 | 显示全部楼层
支持!!为楼主的研究精神
杏林小草
 楼主| 发表于 2008-1-11 18:26:02 | 显示全部楼层
原帖由 长空之鹰 于 2008-1-11 07:04 发表
不错啊,不过U3 U盘带WIN PE去处理也可以啊

用Linux维护Windows没什么讽刺的,我同学就用Linux强删Windows下无法删除的文件

小草也试过WinPE,可惜小草的U盘太小了,装不下,所以......
而且,很多windows版的杀软无法在win PE中安装,至少小草没有成功过。

至于Linux,总觉得它终将会了解Windows,所以,用一个“高档”的操作系统维护一个“低档”的操作系统,小草感觉怪怪的。
Anyway,小草觉得Linux现在最大的问题是需要适应windows用户的习惯,比如描述文件的方式等。

[ 本帖最后由 杏林小草 于 2008-1-11 18:33 编辑 ]
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-4-27 11:34 , Processed in 0.137278 second(s), 19 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表