



	       新一代开放式智能广谱可扩充自维护查解病毒软件

			   "超级巡警"--KV200

		    ( 中国软件登记中心登记号:940324 )

			       使用说明


		       ┏━━━━━━━━━━━━━┓
		       ┃			   ┃
		       ┃	  软件特点	   ┃
		       ┃			   ┃
		       ┗━━━━━━━━━━━━━┛

    一是能查能杀，独特的开放式系统，有利于用户自己不需编程序就可简单方便的不
断增加到查解出千万种病毒的数量，克服了以往的查病毒软件难以增加查解新病毒的能
力而不断被淘汰。发现新病毒后，用户可立即自行抽取新病毒特征码和增加杀毒代码，
也可随时在有关专业报刊上获取新病毒特征码和杀毒代码，不必为不能自升级查解新病
毒而发愁了。
    二是首次设计有独特的对抗变形病毒的代码过滤器，能查出变换自身代码的变形病
毒，使伪装再深的变形病毒也难漏网。 如:能一个不漏的查出在我国发现的几种高级二
维变形病毒--Doctor(变形医生)、 New Flip(精神病患者)、 Casper(卡死脖幽灵)、
Ghost/One_Half(3544幽灵)、VTech、NATAS/4744(拿它死幽灵王)变形病毒等。
    三是在对抗病毒时，具有“特征代码过滤法”和“步步跟踪法”两套不同的查毒方
法，使病毒难以逃脱。
    四是能按用户意愿主动在软盘上保存硬盘正常的主引导信息，以防日后被病毒破坏
后硬盘不能起动时，即可用该软件再恢复。
    五是能查看硬盘物理扇区主引导信息是否正常。能用反查对比法检查硬盘主引导信
息是否正常.
    六是能安全查解所有主引导区病毒，即：在更新主引导记录前，会先往一软盘上备
份原主引导信息，以防不测时可再恢复原样。
    七是本软件最有特点的高效广谱智能检测系统可查出许许多多引导区和文件类未知
名新病毒。
    八是一次起动该软件可很方便的查解许多软(硬)盘中的病毒，能解除交差感染的多
层多种病毒。
    九是用0.3秒的时间就可快速查出内存中是否驻留病毒， 还可查出98％以上驻留在
内存中的未知名新病毒。
    十是具有自我保护、自我修复、自我解除所有感染上的病毒，即具有金蝉脱壳之功
能，类似于防病毒卡永保自身清洁和完整。
    十一是适应各种显示器，中西文兼容。
    以后你还能用本软件不断查解新的病毒。

		      ┏━━━━━━━━━━━━━━┓
		      ┃			    ┃
		      ┃ 一. KV200的功能及使用方法  ┃
		      ┃			    ┃
		      ┗━━━━━━━━━━━━━━┛

(1) KV200  < 回车 > (根据主菜单提示,可查(SCAN)、可杀(KILL)病毒。半途中要退
出,   请按一下Esc键即可)，  这种格式会自动将当前盘中的可扩充病毒特征库文件
VIRUS.DAT调入，以便用来扩展搜索病毒。

(2) KV200/B   < 回车 >	注意,使用这种格式前,应用本软件查C盘证明无病毒再用无
病毒的DOS系统软盘引导机器， 以确保内存中无驻留病毒。这种格式向A盘备份一个是
无病毒的硬盘主引导信息档案，其名为:HDPT.DAT。然后请在软盘的标签上写明机器型
号、硬盘容量、分区大小后长期保存好， 以便以后这个硬盘主引导信息一旦被病毒破
坏，或主引导记录坏硬盘不能起动时，再用以下格式恢复到这个硬盘(不可恢复到别的
硬盘中!)。 这种格式还可协助查出主引导记录是否有病毒或有不正常。

(3) KV200/HDPT.DAT   < 回车 >	这种格式将备份在A盘的硬盘主引导信息档案恢复
到该硬盘中，不可搞错硬盘!也必须证明这个硬盘以后没重新分区和格式化! 上述两种
格式配合使用可解决大部分硬盘主引导信息坏不能起动的现象。

(4) KV200/K  < 回车 >	这种格式能安全清除所有引导区型病毒.即在清除硬盘主引
导区病毒前，先请你在A驱动器中放一软盘以便将硬盘患毒或不正常的主引导信息备份
在软盘上, 其文件名为:HDPT.VIR。这个文件是预防万一原硬盘的主引导信息中有某种
加锁的密码也被解除了而不能工作时，再用以下格式将A盘上 HDPT.VIR 文件中原硬盘
主引导信息原样恢复到硬盘。注意,使用这种格式前,应用无病毒的DOS系统软盘引导机
器。

(5) KV200/HDPT.VIR  < 回车 >
    这种格式能将用KV200/K格式后暂存在软盘上的不正常的主引导信息原样恢复到硬
盘。

(6) KV200 VIRUS.DAT	 < 回车 > ( VIRUS.DAT文件在当前盘中 )
    或KV200 C:VIRUS-1.DAT  < 回车 > ( 将VIRUS-1.DAT文件拷贝在C盘中使用 )
    如果用户扩展的病毒特征码数据文件不是VIRUS.DAT名字，而是其它名字, 可以拷
贝到C盘中(或B盘中、或当前盘中），再用以下格式即可:A> KV200 C:XXX.XXX <回车>
    这种格式不清除病毒,只搜索病毒。

    KV200 d:KILLBOOT.VVV  ;使用扩展的自升级程序杀引导区新病毒的格式。
    KV200 d:K-VTECH.VVV   ;使用扩展的自升级程序杀有上万种变化的VTECH变形病毒
格式。
    KV200 d:KILLXXXX.VVV  ;使用扩展的自升级程序杀有关文件型病毒格式。
    上述扩展杀病毒格式可清除针对其名字的病毒。注意：括展名必须为：.VVV

    用户可以将 KV200.EXE、VIRUS.DAT 共同拷贝到硬盘中调用，但是KV200的原盘必
须放在驱动器中，因KV200起动时要读一下原盘，起动成功后方可换进其它要检查的软
盘。
    用户可以将原盘中的全部文件拷贝到另一磁盘中保存,  一旦原盘中的文件损坏,
可以将备份的文件再全盘拷回到原盘中就可恢复原样.

    用户调用KV200后，将出现一主画面。按其有关功能键就可方便的进行人机对答，
有关键的作用如下：
    起动KV200后的默认状态是 F3=KILL，快速清杀全盘所有文件中的病毒。
    起动KV200后的默认状态下再按F5, 可快速清杀某一子目录内全部文件中的病毒。
    F1 = 用扩展的病毒特征库(VIRUS.DAT)和扫描过滤法对引导区和所有的文件进行
全代码扫描搜索病毒，灵敏度和准确度极高，速度稍慢。
    F2 = 用“步步跟踪分析法”快速对引导区和所有文件中的病毒进行扫描，速度较
快。
    F3 = 快速清杀已知名病毒。
    F4 = 用扩展的病毒特征库(VIRUS.DAT)和扫描过滤法对引导区和.COM.EXE文件进
行全代码扫描搜索病毒，灵敏度和准确度极高，速度稍慢，适应搜索网络服务器。
    按F1再按F3可对全盘所有文件中的病毒进行清除。
    按F1再按F3再按F5可对某一子目录内全部文件中的病毒进行清除。
    按F4再按F2只对全盘中.COM.EXE文件中的病毒进行快速扫描，适应搜索网络服务
器。
    按F4再按F3只对全盘中.COM、.EXE文件中的病毒进行清除。
    按F4再按F3再按F5可对某一子目录内.COM、.EXE文件中的病毒进行清除。
    F5 = 对某一子目录内全部文件中的病毒进行扫描或清除。
    F6 = 查看硬盘0面0柱1扇区主引导记录及分区表，可在硬盘隐含扇区内查找被病
毒搬家的主引导记录及分区表，并可向A盘备份保存。 备份后，可用KV200/HDPT.DAT
的格式再恢复到硬盘0面0柱1扇区主引导区中。
    F7 = 显示病毒名字及其基本性质。
    F8 = 显示使用说明。
    F9 = 显示版本号和简易说明等。
    F1、F2、F3、F4都对内存中的病毒进行快速搜索。
    按Enter键或者空格键都可恢复主画面
    Esc = 任何状态中，按下此键可返回、终止、或退出。
    KV200/K = 可清除所有硬盘主引导区和软盘DOS引导区病毒。 （如果硬盘引导标
志被新病毒加密, 清除方法见后面的“巧用KV200快速修复硬盘主引导记录”。）

	    ┏━━━━━━━━━━━━━━━━━━━━━━━━━┓
	    ┃							┃
	    ┃ 二. 如何自升级增加KV200查病毒和查变形病毒的数量? ┃
	    ┃							┃
	    ┗━━━━━━━━━━━━━━━━━━━━━━━━━┛

    你可将一些新病毒的特征字串(每一个病毒特征串可选7至5000个字节)用编辑软件
如PE2、PCTOOLS、(CCED、WPS用非文书)等编写一个至数个病毒特征码数据库文件，文
件的名字由你随意起, 如上面的VIRUS.DAT。其内容及格式如下:
例1: "0E %% 81 C1 %% 00 97 %% 43 EB %% E9" Found Omicron/FLIP Virus 用KV200
清除
例2: "F3 A5 0E 1F B4 3D BA"  Found DIR-2 Virus -> 用 KV200 清除.
例3: "13 04 %% B1 06 %% D3" 发现普通的新病毒! 用 KV200 给出的方法解除.
例4: "9C %% 0E %% 56 %% 83 %% 2E 80 %% 75 %% E9"发现Doctor(医生的忠告)变形
病毒!	  (属二维变形病毒,用 KV200 清除)
例5: "AA AA %% BB BB %% ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
?? ?? ?? ?? ?? ?? ?? ?? %% CC" 发现XX号变形病毒!!!
例6: "B8 ?? 42 ?? ?? ?? ?? %% B4 40 %% %% B8 ?? 57" 发现普通的感染文件新病
毒!)
    ".. .. ..等等
    你可以随时将发现新病毒的特征字串添写进去，可达千百种， 你也可分开多建几
个VIRUS1.DAT、VIRUS2.DAT、...，使用时分别调用, 那么你就具备能查到无数种病毒
的能力.注意:1)上述病毒特征串后面的文字串中不得使用这个 " 西文双引号!
     2)在一选定的病毒特征串中,如果其内有部分一定位置上的代码是病毒每感染一
个目标后都要使其变换,这些常变换的代码可用两个问号" ?? "来代替。见上述第一例
。 每一个双问号代表一个字节。
     3)在一选定的病毒特征串中，从第一组(有1个字节以上) 不变的特征码后到第二
组不变的特征码之前,这之间的代码，它们不仅常变换,而且在每一个被感染的目标中，
它们之间的间距也不相同，如果是在32个字节内变化，可以用双" %% "百分号来过滤这
之间的代码。同样第二组到第三组，...,依此类推。见上述第三、四、五例。
     4)双问号" ?? "和百分号" %% "可交叉使用,见上述第五例。
     5)当两组特征码之间的距离大于32个字节时， 大于部分可增加一些双问号" ?? "
来接续,见上述第五例。 或多用几个" %% "双百分号，见例６。每一个双百分号代表32
个字节，如果有连续的2个" %% %% "双百分号，这表示下一组病毒特征码在最后一个双
百分号代表的32个字节之间，即在第33至64个字节内。如果有连续的3个" %% %% %% "
双百分号，即病毒特征码在最后一个双百分号代表的32个字节之间，即在第65至96个字
节内， 以此类推。 在选每一个病毒的特征码串加后面的文字提示串时, 其字节数可达
5000个字节。
    一些狡猾的病毒，每传染一个目标，就将自身代码变化一次，几乎没有三个连续的
代码与前一病毒的代码相同，使常规的查毒软件失效。但是建立在DOS基础上的病毒，
难以不在一定字节的范围内使用几个不是连续的但必需的代码，只要在每个被感染的目
标内,即在病毒主体内有三组以上不变的代码,我们就可以对其特征码过滤,找出病毒,如
下:
"9C ?? ?? ?? ?? ?? ?? ?? ?? ?? 83 ?? ?? ?? ?? ?? ?? ?? ?? ?? B8 F1 ?? ?? ??
?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 2E 80" 发现Doctor变形病毒 !!!
   上述字串中的"9C...83...B8F1...2E80"是在病毒代码中四个不连续但有相对固定位
置的代码(选每一个病毒特征串加上后面的文字提示，可在5000字节的范围内选。)
   ??--取代病毒常变换的代码(一个字节)，这里用来对变换的代码进行过滤。
   如果上述每相邻两个字串的间隔距离在32个字节内是变化不固定的,应采用以下格
式:
"9C %% 0E %% 56 %% 83 %% 2E 80 %% 75 %% E9" 发现Doctor(医生的忠告)变形病毒!
%%--表示在32个字节范围内,对两组特征码之间的距离和代码进行过滤。
    查病毒这一部分，可以说是KV200最有特点的一个方面。

	    ┏━━━━━━━━━━━━━━━━━━━━━━━━━┓
	    ┃							┃
	    ┃	三. KV200广谱性、抗变种、抗改写、抗变形的特征码 ┃
	    ┃							┃
	    ┗━━━━━━━━━━━━━━━━━━━━━━━━━┛

    上述查病毒这一特点，可以说是KV200的精华。比如说,用以下一组广谱特征码：

    "13 04 %% B1 06 %% D3" 发现普通的新病毒! 用 KV200 清除!

    拥有KV200的用户，用上述这一组广谱特征码就可查出: Ping-pong(小球)、
Pakistan Brain(巴基斯坦智囊)、	Stoned(A-H共7种石头)、	 Bloody(6.4)共5种、
Hong-Kong/Azusa(2708)共4种、Michaelangelo(米开朗基罗)、Disk killer(新杀手病
毒)、 Pretty Girl(漂亮女孩)、CMOS Destroyer (CMOS设置破坏者)、	Ctrl+ Break
(中断就破坏)、New Cen-tury(新世纪)、 Yankee Doole(扬基多德)、Trill(颤动声)、
Invader/侵入者、Plastique/塑料炸弹、 Liberty(自由者)、广大一号病毒、Flip-PT
(在引导区的病毒)、Mask-1、Mask-2/(假面具)、  31#、  2709/ROSE(玫瑰)、 BUPT、
3072(秋天的水)、ALFA/3072-2、Ghost/One_Half(3544幽灵)、 3584-2、  Denzuko等
四十三种以上病毒。
    再如：
"B8 ?? 42 ?? ?? ?? ?? ?? %% B4 40 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
 ?? ?? ?? ?? ?? ?? %% B8 ?? 57"  发现普通的感染文件类新病毒! 用KV200清除!

    拥有KV200的用户，用上述一组特征码就可查出:
    Vienna(维也纳）、Invader(侵略者)、Plastiqu(塑料炸弹)、 848(上海)、 3072
(秋天的水)、  Oropax、	2128、 1167(乱屏幕者)、 2048、4096、Hellok(大连好)、
555、Jerusalem(黑色星期五)、2803、Mummy、PRGKILL、Denzuko、930、Sund、NSund
、W-13、Taiwan、Taiwan-2、Xi-An等二十四种以上文件型病毒。

    与KV200配套的VIRUS.DAT这个病毒特征码库中，有许多组这样高效的广谱特征码，
再加上内部的智能系统，使KV200能查出以后出现的许许多多不知名新病毒。
    再如，二维变形病毒Casper(卡死脖幽灵)，不断变换和加密自身代码， 可变数亿
种，使以往的查毒软件不知怎样取其特征码才能够去查找它，或使其漏查一部分。 而
KV200只用以下一串病毒特征码，就可轻而易举将其全部查获。
  "BF %% 31 0D %% 47 %% E2"  发现 Casper(卡死脖幽灵)二维变形病毒! 用KV200清
除!
    从以上几例可见KV200查病毒的高超之处。 这是KV200利用随时增加病毒特征码的
方法来搜索新病毒。另外KV200内部的智能检测系统查引导区新病毒更加高超，一些引
导区新病毒能逃脱某国著名查毒软件的搜索，但都被KV200的智能检测系统查出来，比
如: Torch(火炬)、 1991、 BUPT/9146、 INT60(0002)、Ghost/One_Half/3544(MBR幽
灵)、Monkey、NATAS/4744(幽灵王)病毒等。 其次，KV200利用已配备在病毒特征码数
据库(VIRUS.DAT)中的部分文件类病毒广谱特征码来对文件进行扫描分析，可查出许多
不知名和变种的感染文件类新病毒。
    一些别有用心的人， 针对一些查解毒程序，修改了一些病毒的特征代码，使以往
的查解病毒程序失效。 而KV00抽取的新病毒特征码中加入了具有广谱性、抗变种、抗
改写、抗变形的标志，使那些别有用心的人恶意难成。 而且，我们可在一种病毒中取
其多串特征码，非常方便的建立在VIRUS.DAT中来查找病毒。 另外，KV200还有一种“
步步跟踪分析法”使那些乱线团似的变形病毒要攻破KV200防线的概率基本为0。
    以上说明， KV200最大的优点是具有高超的“病毒特征代码过滤器”和“步步跟踪
分析法”，是国内外所有抗病毒软件中独一无二的优点， 这一优点,使利用病毒特征码
来查病毒的方法产生了一个飞跃。为原来传统的查病毒方法"病毒特征码比较法"注入了
新的活力。

		┏━━━━━━━━━━━━━━━━━━━┓
		┃					┃
		┃ 四. 如何自升级增加KV200杀病毒的数量? ┃
		┃					┃
		┗━━━━━━━━━━━━━━━━━━━┛

    使用KV200软件，用户可以自升级扩展杀新病毒的功能。其扩展杀毒方法有两种；
    方法一是:KV200将自升级的编程接口和子程序调用的地址号在手册中公开留给了
用户（见表一）。懂汇编语言的用户，可以对所有的新病毒，自编少量的程序，生成
二进制代码文件，然后将其文件名加在KV200的命令行上，就可以杀某一新病毒了。这
种方法便于广大用户利用KV200搜索整盘文件目录的功能和调用一些现成的子程序，立
即编写少量程序，就可以杀新病毒了。 可以说，这种方法使用户有了施展才能的工具
，可以用来对付所有的新病毒， 更有利于对付那些有亿万种变化的多维变形病毒，可
以真对其快速编写专门的杀毒程序。当用户生成杀毒程序后，其调用方法格式如下：
    KV200 d:KILLXXXX.VVV <回车〉 注：其扩展名必须为：.VVV
    使用这种格式之前，应当先用前面扩展查毒的方法，查出是何种病毒，再调用其
相应的扩展杀毒程序。

    手册后面例3、例4、例5是为用户怎样编写杀毒程序所做的范例。

    方法二是:因大部分用户不太熟练自编写杀毒程序，这时，拥有KV200软件的用户
可以查找有关专业报刊如<<软件报>>等报刊公告的KV200杀毒升级代码，按照公告的方
法，就可以生成杀毒程序了。见如下两件杀毒升级公告：

┏━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃	     KV200快速杀毒升级公告--001#	      ┃
┃    已流行多种引导区病毒，现将KV200广谱杀除引导区部 ┃
┃分病毒的升级代码和方法公告如下：(以下给出了该程序的 ┃
┃二进制代码和其汇编指令两种方式，便于对照消除错误。) ┃
┃C>DEBUG					      ┃
┃-A100 					      ┃
┃XXXX:0100 B401	  MOV AH,01		      ┃
┃XXXX:0102 FF164272	  CALL [7242]		      ┃
┃XXXX:0106 81BF003BB106  CMP WORD PTR [BX+3B00],06B1 ┃
┃XXXX:010C 7406	  JZ  0114		      ┃
┃XXXX:010E 43		  INC BX		      ┃
┃XXXX:010F E2F5	  LOOP 106		      ┃
┃XXXX:0111 EB15	  JMP 0128		      ┃
┃XXXX:0113 90		  NOP			      ┃
┃XXXX:0114 83C302	  ADD BX,+02		      ┃
┃XXXX:0117 80BF003BD3	  CMP BYTE PTR [BX+3B00],D3   ┃
┃XXXX:011C 7406	  JZ  0124		      ┃
┃XXXX:011E 43		  INC BX		      ┃
┃XXXX:011F E2F6	  LOOP 0117		      ┃
┃XXXX:0121 EB05	  JMP 0128		      ┃
┃XXXX:0123 90		  NOP			      ┃
┃XXXX:0124 FF164472	  CALL [7244]		      ┃
┃XXXX:0128 C3		  RET			      ┃
┃XXXX:0129    <回车>				      ┃
┃						      ┃
┃-N KILLBOOT.VVV  (注:扩展名必须为.VVV)	      ┃
┃-RCX						      ┃
┃CX 0000					      ┃
┃:29						      ┃
┃-W 100					      ┃
┃-Q						      ┃
┃						      ┃
┃A>KV200 C:KILLBOOT.VVV <回车> 		      ┃
┃						      ┃
┃    拥有KV200软件的用户，用上述方法生成的程序，可以 ┃
┃杀除以下病毒；				      ┃
┃    Stoned(A-H共7种石头)、   Bloody(6.4)共5种、Hong ┃
┃-Kong/Azusa(2708)共4种、Michaelangelo(米开朗基罗)、 ┃
┃Disk killer(新杀手病毒)、 CMOS Destroyer (CMOS设置破┃
┃坏者)、 Ctrl+ Break(中断就破坏)、New Cen-tury(在引导┃
┃区的新世纪病毒)、Trill(颤动声)、Invader/引导区侵入者┃
┃、Plastique/引导区塑料炸弹、广大一号病毒、Flip-PT(在┃
┃引导区的病毒)、Mask-1、Mask-2/(假面具)、 31#、 2709/┃
┃ROSE(玫瑰)、	BUPT、	3584/(引导区郑州病毒)、  3072(┃
┃引导区秋天的水)、  ALFA/引导区3072-2、引导区3584-2、┃
┃Denzuko等三十六种以上病毒和和以后出现的部分引导区新 ┃
┃病毒。					      ┃
┃    如果我们更换上述XXXX:106一行中的B106H和XXXX:117 ┃
┃一行中的D3H, 将这3个字节用其它引导区病毒的特征码更  ┃
┃换，就可以清除其它病毒了。			      ┃
┃						      ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━┛

┏━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃	       KV200快速杀毒升级公告--002#	      ┃
┃    现流行一种名为VTech的变形病毒，属一维变形病毒， ┃
┃有上万种变化。现将KV200杀除该病毒的升级代码和方法   ┃
┃公  告如下：(以下给出了该程序的二进制代码和其汇编   ┃
┃指令两种方式，便于对照消除错误。)		      ┃
┃C>DEBUG					      ┃
┃-A100 					      ┃
┃XXXX:0100 C70611735654  MOV WORD PTR [7311],5456    ┃
┃XXXX:0106 833E01402F	  CMP WORD PTR [4001],+2F     ┃
┃XXXX:010B 751B	  JNZ 0128		      ┃
┃XXXX:010D 803E0640F6	  CMP BYTE PTR [4006],F6      ┃
┃XXXX:0112 7514	  JNZ 0128		      ┃
┃XXXX:0114 803E184080	  CMP BYTE PTR [4018],80      ┃
┃XXXX:0119 750D	  JNZ 0128		      ┃
┃XXXX:011B 803E234080	  CMP BYTE PTR [4023],80      ┃
┃XXXX:0120 7506	  JNZ 0128		      ┃
┃XXXX:0122 FF160C72	  CALL [720C]		      ┃
┃XXXX:0126 7303	  JNB 012B1		      ┃
┃XXXX:0128 B400	  MOV AH,00		      ┃
┃XXXX:012A C3		  RET			      ┃
┃XXXX:012B FF163A72	  CALL [723A]		      ┃
┃XXXX:012F 81C21007	  ADD DX,0710		      ┃
┃XXXX:0133 83D100	  ADC CX,+00		      ┃
┃XXXX:0136 FF162A72	  CALL [722A]		      ┃
┃XXXX:013A B91000	  MOV CX,0010		      ┃
┃XXXX:013D BA203B	  MOV DX,3B20		      ┃
┃XXXX:0140 FF162E72	  CALL [722E]		      ┃
┃XXXX:0144 BF203B	  MOV DI,3B20		      ┃
┃XXXX:0147 B91000	  MOV CX,0010		      ┃
┃XXXX:014A 8A05	  MOV AL,[DI]		      ┃
┃XXXX:014C F6D8	  NEG AL		      ┃
┃XXXX:010E F6D0	  NOT AL		      ┃
┃XXXX:0150 8805	  MOV [DI],AL		      ┃
┃XXXX:0152 47		  INC DI		      ┃
┃XXXX:0153 E2F5	  LOOP 014A		      ┃
┃XXXX:0155 8A261A40	  MOV AH,[401A] 	      ┃
┃XXXX:0159 A02540	  MOV AL,[4025] 	      ┃
┃XXXX:015C B91000	  MOV CX,0010		      ┃
┃XXXX:015F BF203B	  MOV DI,3B20		      ┃
┃XXXX:0162 3025	  XOR [DI],AL		      ┃
┃XXXX:0164 47		  INC DI		      ┃
┃XXXX:0165 3005	  XOR [DI],AL		      ┃
┃XXXX:0167 47		  INC DI		      ┃
┃XXXX:0168 E2F8	  LOOP 0162		      ┃
┃XXXX:016A A1203B	  MOV AX,[3B20] 	      ┃
┃XXXX:016D A35E72	  MOV [725E],AX 	      ┃
┃XXXX:0170 A1223B	  MOV AX,[3B22] 	      ┃
┃XXXX:0173 A36072	  MOV [7260],AX 	      ┃
┃XXXX:0176 A1243B	  MOV AX,[3B24] 	      ┃
┃XXXX:0179 A36472	  MOV [7264],AX 	      ┃
┃XXXX:017C A1263B	  MOV AX,[3B26] 	      ┃
┃XXXX:017F A36672	  MOV [7266],AX 	      ┃
┃XXXX:0182 A14E72	  MOV AX,[724E] 	      ┃
┃XXXX:0185 8B164C72	  MOV DX,[724C] 	      ┃
┃XXXX:0189 FF163C72	  CALL [723C]		      ┃
┃XXXX:018D 8B0E4C72	  MOV CX,[724C] 	      ┃
┃XXXX:0191 8B164E72	  MOV DX,[724E] 	      ┃
┃XXXX:0195 FF164672	  CALL [7246]		      ┃
┃XXXX:0199 EB8D	  JMP 0128		      ┃
┃XXXX:019B    <回车>				      ┃
┃						      ┃
┃-N K-VTECH.VVV   (注:扩展名必须为.VVV)	      ┃
┃-RCX						      ┃
┃CX 0000					      ┃
┃:9B						      ┃
┃-W 100					      ┃
┃-Q						      ┃
┃						      ┃
┃A>KV200 C:K-VTECH.VVV <回车>			      ┃
┃						      ┃
┃    拥有KV200软件的用户，用上述方法生成程序，就可以 ┃
┃杀除VTECH病毒.				      ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━┛


	   ┏━━━━━━━━━━━━━━━━━━━━━━━━━━┓
	   ┃							 ┃
	   ┃  五. 自我检查、自我修复、自我解除所有感染上的病毒  ┃
	   ┃							 ┃
	   ┗━━━━━━━━━━━━━━━━━━━━━━━━━━┛

    每次执行KV200， 程序会进行自检，关键部位稍有变化或感染上了病毒，KV200都
会自动修复如初。每次自动修复过程中，都会先将原有问题的KV200做一备份。如果以
后使用中不小心使KV200感染上了不知名新病毒，KV200会报警并自动的统统解除。 如
果KV200自身被破坏的已经不能执行了，或系统内存有病毒， 这时，可用无病毒DOS软
盘引导机器，调用同一软盘上专门为此配套的修复工具--KV200FIX.EXE来进行自动修
复。 所以KV200在抗病毒过程中具有自维护和外维护两种方法，这一功能确保了KV200
自身洁净、完好。这一特点在国内外所有的抗病毒软件中也是独一无二的。

		   ┏━━━━━━━━━━━━━━━━━━┓
		   ┃					 ┃
		   ┃  六. 检查或备份硬盘主引导信息功能  ┃
		   ┃					 ┃
		   ┗━━━━━━━━━━━━━━━━━━┛

   使用KV200/B的格式时， 该软件可在软盘上备份一个硬盘的主引导区档案，并且在
备份前会自动先检测主引导记录是否患有病毒或有不正常现象， 如有，将警告用户要
备份的档案有病毒或不正常，是否继续进行。当然，可强行备份。 如果没有不正常现
象，程序会提示在Ａ驱中插入一张已格式化的软盘以便存储主引导信息档案。 该档案
名为：HDPT.DAT，其名字含义为：硬盘分配表数据。 当做完这项工作后，应将软盘贴
好写保护，并在标签上写明主机型号、硬盘容量、分区大小，然后妥善保管。 当日后
硬盘因主引导信息损坏或被病毒破坏而不能起动时， 我们可以用 KV200/HDPT.DAT 的
格式将保存在软盘上的HDPT.DAT档案内容再恢复到硬盘主引导区中， 即可恢复硬盘的
起动性能。 这一步骤，对电脑用户来说，是非常有用的，建议用户一定要将重要硬盘
的主引导信息做一备份，并妥善保管。
    有了这一项条件后， 用户还可用DOS6.0及以上版本的无病毒系统软盘配合起动机
器， 进行SYS C:传递DOS系统， 那么基本上所有的因硬盘主引导信息坏、或因硬盘１
面０柱１扇区DOS引导信息坏以及因DOS三个主引导文件坏的原因而不能起动硬盘的现
象都可解决。
		    ┏━━━━━━━━━━━━━━━━━┓
		    ┃					┃
		    ┃	七.可安全解除所有主引导区病毒	┃
		    ┃					┃
		    ┗━━━━━━━━━━━━━━━━━┛

    KV200除了可清除其病毒表列出的一些病毒外，还可清除所有硬盘主引导区病毒和
软盘DOS(BOOT区)引导区病毒。 其使用格式为：KV200/K。当出现主画面后，应在Ａ驱
中插入一张已格式化的软盘， 程序用来先备份有毒的主引导信息档案，  该档案名为
HDPT.VIR，备份完后再清除硬盘病毒或更新主引导记录。
    备份HDPT.VIR文件的目的是一旦有些特殊、新式硬盘上有独特的主引导信息， 或
有两种操作系统的主引导信息，或是加密、加锁了的主引导信息， 在解病毒后也被更
换掉，有可能造成硬盘不起动了，在这种情况下， 可用KV200/HDPT.VIR的格式再将软
盘上的原主引导信息恢复到硬盘中。所以KV200在清除硬盘主引导区病毒时是很安全的。
    如果硬盘DOS(BOOT)引导区感染上了新病毒，KV200查出后为了更安全起见，会建议
你，用相同版本的无病毒DOS系统软盘引导机器后，再 SYS C: ，就会重新传送一个新
的相同版本的DOS引导系统到C盘，将病毒解除。

			  ┏━━━━━━━━━━━┓
			  ┃			  ┃
			  ┃	八.反查比较法	  ┃
			  ┃			  ┃
			  ┗━━━━━━━━━━━┛

    KV200还可以用反查法比较来证明原主引导信息是否被病毒感染或被更换。
    格式如下: (需先前取得自己C盘上的正常的主引导信息的代码,需大于30个字节)
    用编辑软件编写如下格式: (假设起名为IBMBOOT.DAT)
"FA 33 C0 8E D0 BC 00 7C 8B F4 50 07 50 1F FB FC BF 00 06 B9 00 01 F2 A5 EA
 1D 06 00 00 BE BE 07 B3 04 80 3C 80 74 0E 80 3C 00 75 1C 83 C6 10 FE CB 75
 EF CD 18 8B 14 8B 4C 02 8B EE 83 C6 10 FE" 主引导信息正常! OK! OK!
    用KV200 IBMBOOT.DAT格式即可进行检查。如查找正常，将显示出 "主引导信息正
常! OK! OK!" 如无这个信息,那就应怀疑主引导信息被修改! 用KV200/K格式修复。
    目前主要流行的主引导信息前32个字节中还有以下一种类型， 都属于正常的部分
主引导信息。我们用来验证时应采用连续的30至120个字节。
"FA 2B C0 8E D0 8E C0 8E D8 B8 00 7C 8B E0 FB 8B F0 BF 00 7E FC B9 00 01 F3
A5 E9 00 02 B9 10 00" 主引导信息正常! OK! OK!
    上述二个不同类型的主引导部分信息我们可以写在同一个BOOT.DAT文件中。
    注意: 使用KV200/K的格式时,必需先确定你的系统只有DOS一种系统!并且使用
KV200/K的格式时,硬盘主引导区如有你的开锁密码将被解除!你应先解除密码后再使用
这种格式。
    上述KV200程序可及时为你增加查找新病毒与变形病毒的种类及数量，使你查新病
毒得心应手，不必耽心软件不能查新病毒而被淘汰。

		┏━━━━━━━━━━━━━━━━━━━━━┓
		┃					    ┃
		┃     九. 以下是本解毒盘配套的其它文件     ┃
		┃					    ┃
		┗━━━━━━━━━━━━━━━━━━━━━┛

    1)	VIRUS.DAT    ;与KV200.EXE配合,用来搜索查找新病毒的特征码库文件.用户
		     ;可不断的增加其内容,使查病毒的数量不断增加. 或另起一个
		     ;名字. 如VIRUS1.DAT等,将你自己发现的一些新病毒的特征码
		     ;输进去, 使用时可以这样调用:A>KV200 C:VIRUS-1.DAT
    2)	VIRUS-1.DAT  ;与KV200.EXE配合,用来搜索查找新老病毒的广谱特征码库文件.
		     ;用户可不断的增加其内容, 使查病毒的数量不断增加. 使用时
		     ;可以这样调用:A>KV200 VIRUS-1.DAT或KV200 C:VIRUS-1.DAT.
    3)	HELP	     ;使用说明
    4)	KV200FIX.EXE ;自动修复KV200.EXE的工具(可解除所有感染KV200.EXE的病毒)
    5)	VIRLIST.TXT  ;病毒名字及其基本性质表。
    6)	KILLBOOT.VVV ;扩展杀引导区病毒的程序例。
    7)	K-VTECH.VVV  ;扩展杀有上万种变化的VTECH变形病毒的程序例。
    8)	KILLXXXX.VVV ;扩展杀有关病毒的程序例。
    9)	......

			   ┏━━━━━━━━━━┓
			   ┃			 ┃
			   ┃  十. 使用格式举例  ┃
			   ┃			 ┃
			   ┗━━━━━━━━━━┛

    将本盘( 应有写保护)插入A驱或B驱中.
    KV200   <回车> 当出现主画面后，可连续选择A,B,C...Z盘进行清杀，按ESC键退
出。
    按一下F1、F2或F4键可转成只搜索病毒，不清除病毒,。
    当搜索出病毒后就在屏幕上提示用那种解毒方法或程序对其清除,如:
     Found the DIR-2 Virus -> (用 KV200 清除)
    上行的提示就是让你用KV200清除病毒。
    (注意:KV200还可以杀死内存中的DIR-2病毒,并迫使其以毒攻毒,最有效的修复好
文件)
    再如屏幕提示: Found 1741/Dong Virus -> (用 KV200.EXE 清除)
    上面的提示就是让你用KV200程序来清除病毒.格式如前述。

			     ┏━━━━━━━━┓
			     ┃ 	       ┃
			     ┃ 十一. 注意事项 ┃
			     ┃ 	       ┃
			     ┗━━━━━━━━┛

    使用本软件查解病毒时,必须使用本盘或无病毒的DOS系统软盘引导机器，以保内
存无病毒。

    本程序不设有驻留内存的抗病毒程序，因DOS5.0以上任何DOS系统盘中都带有一个
非常优益的内存驻留监测程序--VSAFE.COM，您可以很容易的找到。

    本程序在个别劣质、假冒、低档的软驱或主板与其BIOS有缺陷的微机上使用时，
有可能不执行或死机! 或出现非法拷贝字样后死机。请更换有缺陷的部件。

    有时，在个别微机上执行KV200就退出，请把引导盘中的CONFIG.SYS文件加上
FILES=50, 重新引导机器后，再试执行KV200。

    在低速PC机上或286等低速机上调用KV200时, 有时软盘指示灯有1-3秒的停顿时间,
待屏幕出现主画面后, 方可换进要被检查的软盘。

    当你用本软件KV200能查出某个文件中感染了已知名病毒， 但是KV200能清除其它
文件中的同类病毒，而只对这一个文件（或几个文件）中的病毒不能清除， 这说明你
曾使用了非法解密产生的有缺陷的KILL软件，(和KILLKEY)来杀过此病毒，把病毒杀死
了，没有传染力了，但病毒疆尸还在文件上，只有用手工裁掉或删除。 另外，用CPAV
的免役功能以及某种磁盘修复软件(CHKDSK、 DISKFIX、NDD)扫描过该文件，使病毒没
有被解除，反而把病毒包裹起来,从而无法解除，这时,只有用手工解除或删除。

    当您发现可执行文件的字节数增加了几百至几千，而用KV200扫描后无反应，这证
明是一种新病毒，您可PCTOOLS(或DEBUG)软件查看染毒文件尾部或文件头部增加的部分， 取其
７－５０个字节的病毒代码，记在纸上，然后再用编辑软件写进VIRUS.DAT病毒特征码
库中，再用KV200就可查出该病毒了。

     个别情况下，KV200误报 "内存发现病毒"!  这一般是硬盘中的 CONFIG.SYS 和
AUTOEXEC.BAT 这两个文件中有用户的"内存驻留程序"。这时，应将这两个文件改名后
重新引导硬盘。 如果用硬盘起动机器后， 还报告 “内存发现病毒！”，这证明硬盘
引导区或COMMAND.COM文件确被病毒感染了。或是用干净DOS软盘重引导机器后再查。

	       ┏━━━━━━━━━━━━━━━━━━━━┓
	       ┃					 ┃
	       ┃  十二.巧用KV200快速修复硬盘主引导记录  ┃
	       ┃					 ┃
	       ┗━━━━━━━━━━━━━━━━━━━━┛

    有时，由于病毒的破坏或操作上的失误，使硬盘主引导记录和分区表损坏，硬盘
不能起动或软盘起动也不能进入硬盘。 如果先前用KV200/B的格式在软盘上备份过主
引导记录，这时可用 KV200/HDPT.DAT 的格式再恢复硬盘主引导记录。如果先前没有
备份过硬盘主引导记录，也可用以下方法一试：
    软盘起动机器后，再执行KV200后，按下F6键，查看硬盘0面0柱1扇区主引导区是
否正常，可按动PgDn或PgUp键，在硬盘的隐含扇区内查看是否有被引导区病毒搬家的
硬盘主引导信息，如找到，先在A驱中插入一张已格式化的空盘，再按下“S”键，就
可将刚找到的硬盘主引信息备份在软盘上一个名为 HDPT.DAT 的文件内。  然后再用
KV200/HDPT.DAT的格式就恢复到硬盘0面0柱1扇区中， 这样，再重新引导机器后，就
有可能恢复硬盘的起动性能和进入硬盘。
    有时，硬盘能起动，KV200的智能广谱系统查出内存有病毒，如果用软盘起动机器
后，反而不能进入硬盘，这就证明硬盘分配表被病毒加密或搬家。再执行KV200后，按
下F6键，查看硬盘0面0柱1扇区主引导区信息已被新病毒加密，这个表备份出来也无用
。这时，应再用硬盘自行起动，在内存有病毒的情况下，用KV200的F6功能，将病毒自
行解密的硬盘主引导记录和分区表备份到A盘。 备份完后， 再用干净软盘起动机器，
用KV200/HDPT.DAT的格式，即可将刚备份的正常的主引导信息恢复到硬盘。然后，再
用KV200/K的格式，将已感染软盘的引导区病毒杀掉。
    如果先前没有备份过硬盘主引导记录，也可以在一台相同机型、相同硬盘型号、
相同容量、 就相同硬盘分区的机器上用 KV200.EXE 将硬盘主引导信息备份到软盘上，
再用KV200/HDPT.DAT 的格式恢复到不能起动的硬盘上,即可快速修复硬盘主引导记录,
使硬盘起死回生。
		       ┏━━━━━━━━━━━━━┓
		       ┃			   ┃
		       ┃     十三.快速搜索病毒    ┃
		       ┃			   ┃
		       ┗━━━━━━━━━━━━━┛

    因病毒种类越来越多，病毒特征码也搜集的越来越多，病毒特征库也越来越大。用
全部的病毒特征码去搜索几个至十几个大容量硬盘，就显的时间比较长，这只是在有必
要时才去这样做。 另外KV200采用的查毒方法是非常可靠的大面积代码过滤扫描法来搜
索病毒，这虽然牺牲了点时间，但是，比那些用定位扫描法的查毒软件要可靠的多，不
致于产生漏查病毒的现象。
    有时为了节省时间，可利用KV200开放式查病毒的特点，将一定时期内自己周围常
见的几种病毒特征码另集中到一个文件中，再用 KV200 C:XXX.XXX 的格式就可快速搜
索病毒。

    特别告知：拥有KV200的用户， 您应注意<<软件报>>94年7月2日以后的"反病毒专
栏"、94年11月后的<<中国计算机报>>、<<电脑爱好者>>杂志、<<电脑>>杂志的“KV200
反病毒公告”，和其它报刊的反病毒公告，您也可随时(半年至1年)给我们来信， 并付
足邮费(5元)，我们将寄给您一些新发现的病毒的特征代码和升级杀毒代码。 您也可汇
寄20元，我们将回寄一张软盘，上面录有近期最新最全的查毒代码和扩展杀毒程序。使
您用KV200可不断增加查解新病毒的能力。 您也可将发现的新病毒特征代码寄给我们，
或寄来新病毒，由我们来抽取病毒特征码，凡确认是一种新病毒，我们将编写和增加新
的杀毒功能，免费回赠一张新版KV200 。你也可借专业报刊杂志的一角，按如下格式公
布新病毒特征码:
例1:
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃			KV200快速反病毒公告			┃
┃  最近流行一种二维变形病毒，有数亿种变化，4月1日破坏磁盘数据！┃
┃  其病毒特征码如下：						┃
┃   "BF %% 31 0D %% 47 %% E2"                                  ┃
┃    Found Casper(卡死脖幽灵) Virus !	用 KV200 清除!		┃
┃    拥有KV200软件的读者，可用PE2、WS、WPS、CCED、PCTOLS编辑软 ┃
┃ 件(WPS和CCED应用非文书编辑一栏)，将上述二行病毒特征码和文字编┃
┃ 进一个文本文件中，即病毒特征库文件中，用 KV200 d:XXX.XXX(文件┃
┃ 名)的格式就可自升级查出该类数亿种病毒。			┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
例2:
			   <<反病毒专栏>>
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃			  KV200反病毒公告			┃
┃    最近又发现VTech变形病毒， 属一维变形病毒。有上万种随机变码┃
┃状态。该类病毒感染文件，其病毒特征码如下:			┃
┃"2F 00 %% 80 %% 81 %% 74 %% 2E 80 %% EB E8"                   ┃
┃ Found VTech Virus ! 用 KV200 清除!				┃
┃    拥有KV200软件的读者，可用PE2、WS、WPS、CCED 、PCTOLS编辑软┃
┃件(WPS和CCED应用非文书编辑一栏)， 将上述两行病毒特征码和文字编┃
┃进病毒特征库文件中， 用 KV200 或 KV200 d:XXX.XXX(文件名)的格式┃
┃就可自升级查出该类上万种病毒。				┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

    这样我们用KV200可在全国范围内及早的清查出新病毒，将新病毒消灭在初始阶段，
避免病毒广泛传播和破坏。  一个全面围剿计算机病毒的新时期已经到来， 让我们用
KV200形成一个诊治病毒的强大网络吧！

==========================================================================

表一：
		数据段有关接口地址及其调用方法
		******************************
    为了便于用户即时将发现的新病毒清除，特将有关接口地址及其调用方法在此公
开。这些接口地址指向的是已经编好的子程序，用户可以很方便的用来自编少量的汇
编程序，再形成二进制代码文件，就可以加在KV200的命令行上来清除新病毒了。
    注意：形成文件的括展名必须是.VVV

;---------------------------------------
3B00H┓
     ┃-> 数据读写缓冲区
55CBH┛
使用举例:  将文件200个字节读到3B00H处.
	    MOV CX,200H
	    MOV DX,3B00H
	    MOV BX,DS:[71FCH] ;文件句柄
	    MOV AH,3FH
	    INT 21H
;---------------------------------------
59DCH┓
     ┃-> 数据读写缓冲区
71FAH┛
使用举例:  一般用来存取寄存器值
	    MOV DS:[724CH],CX
	    MOV DS:[724EH],DX
	    MOV CX,DS:[724CH]
	    MOV DX,DS:[724EH]
;---------------------------------------
71FCH  -> 存取文件句柄地址   单位:DW
使用举例:
	    MOV DS:[71FCH],AX ;保存文件句柄
	    MOV BX,DS:[71FCH] ;取文件句柄
;---------------------------------------
71FEH  -> 文件读写指针移到文件头的子程序的地址	   单位:DW
使用举例:
		CALL WORD PTR DS:[71FEH]
;---------------------------------------------------
7200H  -> 文件读写指针移到文件尾的子程序的地址	   单位:DW
使用举例:
		CALL WORD PTR DS:[7200H]
;---------------------------------------------------
7202H ->关闭文件子程序的地址
使用举例:
		CALL WORD PTR DS:[7202H]
;---------------------------------------------------
720CH ->修改文件属性及其打开文件子程序的地址
使用举例:
		CALL WORD PTR DS:[720CH]
		JNC OK_A
		MOV AH,0
		RET
OK_A:
		;;
;---------------------------------------------------
7212H -> 文件总长度的低位的地址，包括病毒长。
;---------------------------------------------------
7214H -> 文件总长度的高位的地址，包括病毒长。
;---------------------------------------------------
721AH -> 是否是.EXE文件标志存放地址， 单位：DB
	 等于1是.EXE文件，是0就不是.EXE文件。
使用举例:
		CMP BYTE PTR DS:[721AH],1
		JZ YES_EXE_FILE
		JMP NO_EXE_FILE
;---------------------------------------------------------------
722AH  -> 文件读写指针从文件头移到文件某一处的子程序的地址
使用举例:
	  MOV CX,0
	  MOV DX,200H
	  CALL WORD PTR DS:[722AH]
;----------------------------------------------------------------
722CH  -> 文件读写指针从文件尾移到文件某一处的子程序的地址
使用举例:
	  MOV CX,0FFFFH
	  MOV DX,0FFFFH-200H
	  CALL WORD PTR DS:[722CH]
;----------------------------------------------------------------
722EH  -> 读文件到某一缓冲区的子程序的地址
使用举例:
	  MOV CX,200H
	  MOV DX,3B00H
	  CALL WORD PTR DS:[722EH]
;----------------------------------------------------------------
7230H  -> 写文件的子程序的地址
使用举例:
	  MOV CX,20H
	  MOV DX,3B00H
	  CALL WORD PTR DS:[7230H]
;----------------------------------------------------------------
7232H  -> 文件读写指针从文件头移到文件某一处保留,其余裁掉的子程序的地址
使用举例:
		MOV CX,DS:[724CH]  ;病毒入口高位地址
		MOV DX,DS:[724EH]  ;病毒入口低位地址
		CALL WORD PTR DS:[7232H]
;----------------------------------------------------------------
723AH  -> 文件读写指针移到.EXE文件头子程序的地址
使用举例:
		CALL WORD PTR DS:[723AH]  ;读写指针指到.EXE文件头
		ADD DX,710H		  ;指针再加710H
		ADC CX,0
		CALL WORD PTR DS:[722AH]  ;指针从文件头移到文件某一处
		MOV CX,10H		  ;从指针处开始读10H个字节
		MOV DX,3B00H		  ;读到数据段3B00H处
		CALL WORD PTR DS:[722EH]  ;读文件到缓冲区的子程序
;----------------------------------------------------------------
723CH -> 写.EXE文件头子程序的地址
使用举例:
		MOV AX,DS:[724EH]	 ;文件长度 低位
		MOV DX,DS:[724CH]	 ;文件长度 高位
		CALL WORD PTR DS:[723CH]
;----------------------------------------------------------------
7242H -> 读硬盘主引导区或软盘引导区子程序
使用举例:
		MOV AH,1		 ;读引导区时,程序开始必须将AH置1
		CALL WORD PTR DS:[7242H]
;----------------------------------------------------------------
7244H -> 写(修复)硬盘主引导区或软盘引导区子程序
使用举例:
		CALL WORD PTR DS:[7244H]
		MOV AH,1		 ;写引导区后,程序必须将AH置1
		 RET
;----------------------------------------------------------------
7246H  -> 文件读写指针从文件头移到文件某一处保留,其余裁掉、关闭文件、
	  恢复其属性、清缓冲区、显示病毒被清掉的子程序的地址.
使用举例:
		MOV CX,DS:[724CH]	 ;文件长度 高位
		MOV DX,DS:[724EH]	 ;文件长度 低位
		CALL WORD PTR DS:[7246H]
		MOV AH,0		 ;写文件后，程序结束时必须将AH置0
		 RET
;----------------------------------------------------------------
7248H -> 病毒感染.COM文件后，指针为：JMP XXXX 所指向的病毒入口处
使用举例:
		MOV DX,WORD PTR DS:[7248H]
		MOV CX,0
		CALL WORD PTR DS:[722AH] ;移动指针
		MOV CX,20H
		MOV DX,3B00H
		CALL WORD PTR DS:[722EH] ;读文件
;----------------------------------------------------------------
724AH -> 病毒感染.COM文件后，指针不为：JMP XXXX 时，病毒的入口处
使用举例:
		MOV DX,WORD PTR DS:[724AH]
		ADD DX,966H
		MOV CX,0
		CALL WORD PTR DS:[722AH] ;移动指针
		MOV CX,20H
		MOV DX,3B00H
		CALL WORD PTR DS:[722EH] ;读文件
;----------------------------------------------------------------
724CH -> .EXE文件长度高位存放地址
使用举例:
		MOV CX,DS:[724CH]	 ;文件长度 高位
		MOV DX,DS:[724EH]	 ;文件长度 低位
		CALL WORD PTR DS:[7246H]
		MOV AH,0		 ;写文件后，程序结束时必须将AH置0
		RET
;----------------------------------------------------------------
724EH -> .EXE文件长度低位存放地址
使用举例:
		MOV CX,DS:[724CH]	 ;文件长度 高位
		MOV DX,DS:[724EH]	 ;文件长度 低位
		CALL WORD PTR DS:[7246H]
		MOV AH,0		 ;写文件后，程序结束时必须将AH置0
		RET
;----------------------------------------------------------------
7250H -> 文件头存放的地址，共20H个字节.
使用举例:  (修复被病毒修改的.EXE文件头)
		MOV AX,WORD PTR DS:[3B20H]
		MOV WORD PTR DS:[7250H+0EH],AX
		MOV AX,WORD PTR DS:[3B22H]
		MOV WORD PTR DS:[7250H+10H],AX
		MOV AX,WORD PTR DS:[3B24H]
		MOV WORD PTR DS:[7250H+14H],AX
		MOV AX,WORD PTR DS:[3B26H]
		MOV WORD PTR DS:[7250H+16H],AX
		MOV AX,DS:[724EH]
		MOV DX,DS:[724CH]
		CALL WORD PTR DS:[723CH]  ;重写.EXE文件头
 ;以下是裁掉病毒：
		MOV CX,DS:[724CH]	 ;文件长度 高位
		MOV DX,DS:[724EH]	 ;文件长度 低位
		CALL WORD PTR DS:[7246H]
		MOV AH,0		 ;写文件后，程序结束时必须将AH置0
		RET
;----------------------------------------------------------------
730EH -> 添补病毒名字的首地址,最多可以写八个字母。
使用举例:
		MOV WORD PTR [7311],5456  ；5456=TV
病毒被成功清除后将显示：

XXXXFILE.EXE  Found    TV    Virus!  Killed! OK!
;----------------------------------------------------------------
7321H -> 备用缓冲区首址，共50个字节。

*****************************************************************
*****************************************************************

     以下三例是为用户怎样编写杀毒程序所做的范例和注释。

;   例3: 清除引导区病毒程序范例和注释。
    因大多数引导区病毒程序都含有B106H、D3H代码，所以我们在引
导区前450个字节内搜索这3个字节，搜索出就给予清除。用户也可另
选其它的病毒代码进行搜索。
;-------File name: KILLBOOT.ASM---------
CSEG	SEGMENT
	ASSUME CS:CSEG,DS:CSEG
	ORG 100H
START:
	MOV AH,1			 ;如果是查解引导区病
					 ;毒，开始AH必须置1
	CALL WORD PTR DS:[7242H]	 ;执行读引导区子程序
C_B106: CMP WORD PTR DS:[3B00H+BX],06B1H ;查缓冲区3B00开始前
					 ;450个字有否B106代码
	JZ  OK_D3			 ;找到就跳转去搜索下
					 ;一组病毒代码
	INC BX				 ;缓冲区指针增一
	LOOP C_B106			 ;继续搜索
	JMP NO_V			 ;没搜索到转退出
OK_D3:					 ;
	ADD BX,2			 ;缓冲区指针增二
C_D3:	CMP BYTE PTR DS:[3B00H+BX],0D3H  ;查缓冲区中有否D3代码
	JZ  K_BOOT			 ;有就转去执行清毒程序
	INC BX				 ;缓冲区指针增一
	LOOP C_D3			 ;继续搜索
	JMP NO_V			 ;没搜索到转退出
K_BOOT: CALL WORD PTR DS:[7244H]	 ;执行清引导区病毒程序
NO_V:	RET				 ;退出
CSEG	   ENDS
	   END START
;--------------------------
    编写完后再汇编、连接、转换，如下：
C>MASM KILLBOOT;
C>LINK KILLBOOT;
C>EXE2BIN KILLBOOT KILLBOOT.VVV
    使用格式：
A:KV200 C:KILLBOOT.VVV

;=============================================================
;   例4: 清除文件型病毒程序范例和注释。
    KV200搜索时已经将文件打开，其中将.EXE文件的前200H个字节已
读到数据段3B00H+500H处，.COM等文件前200H读到数据段3B00H+350H处，
将所有文件头前20H个字节读到数据段7250H处。

;-------File name: K-VTECH.ASM----------
CSEG		SEGMENT
		ASSUME CS:CSEG,DS:CSEG
		ORG 100H
START:
	   MOV WORD PTR DS:[7311H],'TV'       ;给病毒起名字
	   CMP WORD PTR DS:[3B00H+501H],002FH ;查病毒特征码
	   JNZ EXIT_2880		      ;没找到转退出
	   CMP BYTE PTR DS:[3B00H+506H],0F6H  ;  "   "
	   JNZ EXIT_2880		      ;
	   CMP BYTE PTR DS:[3B00H+518H],80H   ;  "   "
	   JNZ EXIT_2880		      ;
	   CMP BYTE PTR DS:[3B00H+523H],80H   ;  "   "
	   JNZ EXIT_2880		      ;
					      ;
	   CALL WORD PTR DS:[720CH]	      ;找到后修改文件
					      ;属性并打开文件
	   JNC OK_3D			      ;打开成功转
EXIT_2880: MOV AH,0			      ;不成功退出前
					      ;AH应置0
	   RET				      ;退出
OK_3D:					      ;
	   CALL WORD PTR DS:[723AH]	      ;计算.EXE文件头
					      ;的偏移量
	   ADD DX,710H			      ;偏移量再增710H
	   ADC CX,0			      ;进位
	   CALL WORD PTR DS:[722AH]	      ;将指针从文件头
					      ;移到710H处																		       MOV CX,10H			  ;读10H个字节
	   MOV DX,3B20H 		      ;读到3B20H处
	   CALL WORD PTR DS:[722EH]	      ;读文件
	   MOV DI,3B20H 		      ;设指针
	   MOV CX,10H			      ;循环10H次
NEG_A:	   MOV AL,BYTE PTR DS:[DI]	      ;取要解密的代码
	   NEG AL			      ;求补
	   NOT AL			      ;取反
	   MOV BYTE PTR DS:[DI],AL	      ;解密后送回原处
	   INC DI			      ;下一个
	   LOOP NEG_A			      ;循环
					      ;
	   MOV AH,BYTE PTR DS:[3B00H+51AH]    ;再取密约
	   MOV AL,BYTE PTR DS:[3B00H+525H]    ;再取密约
					      ;
	   MOV CX,10H			      ;循环10H次
	   MOV DI,3B20H 		      ;设指针
XOR_D_2:   XOR BYTE PTR DS:[DI],AH	      ;解密
	   INC DI			      ;指针增一
	   XOR BYTE PTR DS:[DI],AL	      ;解密
	   INC DI			      ;指针增一
	   LOOP XOR_D_2 		      ;循环解密
					      ;
	   MOV AX,WORD PTR DS:[3B20H]	      ;修复.EXE文件头
	   MOV WORD PTR DS:[7250H+0EH],AX     ; "    "
	   MOV AX,WORD PTR DS:[3B22H]	      ;
	   MOV WORD PTR DS:[7250H+10H],AX     ; "    "
	   MOV AX,WORD PTR DS:[3B24H]	      ;
	   MOV WORD PTR DS:[7250H+14H],AX     ; "    "
	   MOV AX,WORD PTR DS:[3B26H]	      ;
	   MOV WORD PTR DS:[7250H+16H],AX     ; "    "
	   MOV AX,DS:[724EH]		      ;取文件长 低位
	   MOV DX,DS:[724CH]		      ;取文件长 高位
	   CALL WORD PTR DS:[723CH]	      ;计算重写文件头
					      ;
	   MOV CX,DS:[724CH]		      ;取文件长 高位
	   MOV DX,DS:[724EH]		      ;取文件长 低位
	   CALL WORD PTR DS:[7246H]	      ;裁掉病毒、显示
					      ;病毒被清除信息
	   JMP EXIT_2880		      ;转退出
CSEG	   ENDS
	   END	START
;--------------------------
    编写完后再汇编、连接、转换，如下：
C>MASM K-VTECH;
C>LINK K-VTECH;
C>EXE2BIN K-VTECH K-VTECH.VVV
    使用格式：
A:KV200 C:K-VTECH.VVV

;=============================================================

    例5: 清除文件型病毒程序范例和注释。
    KV200搜索时已经将文件打开，其中将.EXE文件的前200H个字节已
读到数据段3B00H+500H处，.COM等文件前200H读到数据段3B00H+350H处，
将所有文件头前20H个字节读到数据段7250H处。

;-------File name: KILL2658.ASM-(清除台球病毒)----
CSEG	   SEGMENT
	   ASSUME CS:CSEG,DS:CSEG
	   ORG 100H
START:
	   MOV WORD PTR DS:[730FH],3632H     ;给病毒起名字
	   MOV WORD PTR DS:[7311H],3835H     ;给病毒起名2658
	   MOV BX,350H			     ;COM文件头缓冲区
	   CMP BYTE PTR DS:[721AH],1	     ;是.EXE文件ⅶ
	   JNZ C2658_COM		     ;不是转
	   MOV BX,500H			     ;是,就置.EXE文件
C2658_COM:				     ;头缓冲区指针
	   MOV CX,20			     ;设计数器为20
C72E_H:    CMP WORD PTR DS:[3B00H+BX],0C72EH ;找病毒代码2EC7H
	   JZ CZ_06			     ;有转
	   INC BX			     ;指针增1
	   LOOP C72E_H			     ;继续找
	   JMP EXIT_2658		     ;没有退出
CZ_06:					     ;
	   CMP BYTE PTR DS:[3B00H+BX+2],06   ;找病毒代码06
	   JNZ EXIT_2658		     ;没有退出
	   CMP BYTE PTR DS:[3B00H+BX+4],08   ;找病毒代码08
	   JNZ EXIT_2658		     ;没有退出
	   CMP BYTE PTR DS:[3B00H+BX+6],00   ;找病毒代码00
	   JNZ EXIT_2658		     ;没有退出

	   CALL WORD PTR DS:[720CH]	     ;找到后修改文件
					     ;属性并打开文件
	   JNC A_2658			     ;打开成功转
EXIT_2658: MOV AH,0			     ;不成功退出前
					     ;AH应置0
	   RET				     ;退出
A_2658:
	   MOV DX,DS:[724AH]		     ;取.COM文件长
	   MOV CX,0			     ;高位清0
	   CMP BYTE PTR DS:[721AH],1	     ;是.EXE文件吗ⅶ
	   JNZ K2658_COM		     ;不是转
	   MOV CX,DS:[724CH]		     ;取.EXE文件长 高位
	   MOV DX,DS:[724EH]		     ;取.EXE文件长 低位
K2658_COM:
	   ADD DX,966H			     ;加966H
	   ADC CX,0			     ;进位
	   CALL WORD PTR DS:[722AH]	     ;将指针从文件头
					     ;移到966H处
	   MOV CX,20H			     ;读20H个字节
	   MOV DX,3B20H 		     ;读到3B20H处
	   CALL WORD PTR DS:[722EH]	     ;读文件
OK_2658_C:				     ;
	   CALL WORD PTR DS:[71FEH]	     ;移动指针到文件头
	   MOV CX,1CH			     ;写1CH字节
	   MOV DX,3B20H 		     ;从3B20H处写
	   CALL WORD PTR DS:[7230H]	     ;写文件恢复文件头

	   CMP BYTE PTR DS:[721AH],1	     ;是.EXE文件吗ⅶ
	   JNZ K_2658_W 		     ;不是转
	   MOV CX,DS:[724CH]		     ;取文件长 高位
	   MOV DX,DS:[724EH]		     ;取文件长 低位
	   JMP WO_1			     ;转裁掉病毒、显示
K_2658_W:				     ;病毒被清除信息
	   MOV	CX,0			     ;清0
	   MOV DX,DS:[724AH]		     ;取.COM文件长
WO_1:	   CALL WORD PTR DS:[7246H]	     ;裁掉病毒、显示
	   JMP EXIT_2658		     ;病毒被清除信息
CSEG	   ENDS 			     ;转退出
	   END	START
;--------------------------
    编写完后再汇编、连接、转换，如下：
C>MASM KILL2658;
C>LINK KILL2658;
C>EXE2BIN KILL2658 KILL2658.VVV
    使用格式：
A:KV200 C:KILL2658.VVV

*******************************************************************************

	    烟台市胜利路2号 王江民 邮编:264001 电话:6222292转
		      午间夜间热线电话:0535-6252508
			 BP:0535-188-66266(汉显)
		    烟台市公安局计算机安全监察处监制
			盗 版、侵 版 必 究！！！

