词条 | KV3OO |
释义 | kv300是江民公司在1994年正式发布KV100的基础上,于1996年9月推出的杀毒软件,分为dos版和windows版。 用法:KV300的杀毒软盘本身就是启动盘。我们可以用KV300杀毒盘启动电脑。 用启动软盘启动后,电脑不会进入我们平时看到的Windows 98,而是进入这种字符的状态,也叫做DOS命令行状态。 接下来我们该如何操作呢,我们在Windows 98的“运行”功能中,只要输入文件名,然后单击运行按钮或者回车就可以了,在DOS中,我们也是输入文件名,然后加回车,就可以运行它了。◎ 在DOS中,我们也是输入文件名,然后加回车,就可以运行它了。我们先取出启动盘,把“KV300”软盘放入软驱。如果是用“KV300”的软盘启动的,就不用换盘了。现在我们输入杀毒软件的名称“KV300”,这是杀毒程序的名字,然后回车就可以运行它。 好了,这个就是“KV300”的主界面。 KV300启动后的默认状态是等候杀毒,你看,这里是提示信息,只要告诉它一个盘符就立即开始杀毒了,比如想杀C盘上的病毒,就按字母C。想杀A盘就按A。 这是最基本的用法。除此以外,KV300还有这些功能: 在主界面 按F2,再输入盘符是扫描病毒,也就是查毒但并不杀毒; 按F3为杀毒; 按F5可选择查毒的路径; 按F6可查看硬盘的分区表; 按F7会列出KV300能杀的所有病毒; 按F8可以显示帮助信息; 按F9显示版本信息; 按F10是系统测试和修复;如果我们的硬盘被CIH病毒破坏了的话,就需要用,就可以用这个功能拉恢复硬盘中逻辑分区。在个别的情况下也可能恢复基本分区C。 要退出KV300的话,就按Esc键。 破解:KV300解密一法探讨 KV300分两个版本:KV300 和KV300 版本,加密方式不同,这里以KV300 版为例。目前国产杀毒软件中,除了KILL认证版、瑞星,KV300算比较大众化一点。KV300的加密比较狠,做一张完善的KEY盘比较困难,用双星磁盘分析工具扫描一下正版磁盘就知道最后约有10多个磁道是非正常磁道,即加密磁道,上面记录的检测数据(密钥)要复制出来也比较困难。但解密某一个升级版本很容易,只是解密限于一个版本。许多流传的解密版本就这样做的。我用目前最新的Z12版进行解密。解密版您可以在资源共享里下载(使用时需要在A驱里插入一张软磁盘。运行时可能提示软盘有引导区病毒,不必理睬,因为不是KEY盘),这里特别声明:您自由下载解密版,我不收取任何费用,没有商业性的赢利性质,所以不存在盗版问题。官司我可吃不起哦!我只是纯技术性的探讨。如果您觉得有问题,请给我留言或是写信。以下是解密过程: 运行softice 3.23,载入Windows 98,然后开一个DOS窗口。按Ctril-D切入softice,键入如下指令: wl wr wd bpint 13 然后按Ctrl-D切换到DOS窗口,运行KV300: D:\\kv300\\>kv300 当KV300调用中断13H时被softice截住并自动切换到softice调试界面。查看被截住的这段KV300代码,只是读引导区、检查引导区有无病毒。按Ctrl-↓往下找,发现这段代码: 1EE8:C1C0 CALL 2E6A:52D2 1EE8:C1C5 JMP BYTE PTR [D76C],70 1EE8:C1CA JA C1DC 1EE8:C1CC CMP BYTE PTR [D76C],30 1EE8:C1D1 JB C1DC 1EE8:C1D3 MOV AX,33FF 1EE8:C1D6 CALL 2E6A:2563 1EE8:C1DB RET 1EE8:C1DC MOV AX,F000 …… 它先调2E6A:52D2子程序,然后检查[D76C]处的一个字节是否在30H与70H之间,否则跳转1EE8:C1DC执行。经过简单的试验就知道2E6A:2563是正常的杀毒界面入口,而1EE8:C1DC则是进一步检查加密磁道的代码入口(分析这段代码有助于制作KEY盘,不过比较烦琐,它要读大约6个左右加密磁道上的密钥来验证是否为原盘,甚至有一段代码绕过了BIOS调用而直接用原始的IN、OUT指令来读盘,我们寂然不做KEY盘,完全可以不理睬这段代码)。关键的跳转分支已经找到了,现在需要修改程序屏蔽读比较密钥一节。最简单的改法是将1EE8:C1D1的JB C1DC改为JB C1D3,直接跳入正常的杀毒入口代码。好,来个code on显示机器码: code on …… 1EE8:C1CC 803E6CD730 CMP BYTE PTR [D76C],30 1EE8:C1D1 7209 JB C1DC …… 输入汇编指令JB C1D3,看机器码是什么: A C1D1 JB C1D3 得到: 1EE8:C1D1 7200 JB C1D3 这样,将机器码7209改为7200即可。那是否立马取KV300.EXE中找代码“803E6CD7307209”呢?我找过,找不到的!因为还有暗桩,这段代码本身被加了密存放的,运行时这段代码在内存中被解密。我们再用逆推法找解密这段代码的程序段。继续在softice中下指令: bc * bpmb 1EE8:C1D1 bd * 然后Ctrl-D退到DOS窗口后再Ctrl-D切换到softice,将断点许可:be *,而后切换到DOS窗口中运行KV300。 D:\\kv300\\>kv300 运行中会被softice截住几次,每次截住时用 d ES:EDI 指令查看数据区,如找不到JB C1DC的机器码(“7209”)就继续,直到找到为止。大约截住3次后,可以看到这段代码: …… 6803:0069 SHR BP,1 DEC DX JNZ 73 LODSW MOV DL,10 JAE 78 MOVSB JMP 69 6803:0078 …… 现在用 d ES:EDI 指令可以看到“7209”了。不过看这段代码只是数据转移,没有实质性的解密工作。用 d DS:ESI 显示“7209”机器码位于地址DS:5098,softice中下指令: bc * bpmb DS:5098 exit 在DOS窗口中再次运行KV300。这次在6803:0050处: …… MOV SI,AX MOV DI,AX REPZ MOVSW …… 还是只是转移数据。用d DS:ESI 显示出“7209”地址位于1700:2558处。下指令: bc * bpmb 1700:2558 exit 在DOS窗口下再次运行KV300,这次softice在3867:3136处截住这段代码: LODSW XOR AX,BX ADD AX,DX SUB DX,5B STOSW LOOP 3136 呵呵,一段很典型的解码程序啊。注意到解码时DS=ES,ESI=EDI,所以数据在原位地址变换。截住在LODSW代码之后,此时AX中已装入内存中的一个字,即将要解码的字。AX=930A,按F8单步执行,具体数值是这样的: XOR AX,434 ADD AS,7034 此时AX=0972,倒过来不就是我们要找的“7209”吗?显然,解码公式是:(930A 异或 0434) 7234 = 0972。我们要得到“0072”的结果,可设未解码前的数为X,则有:( X 异或 0434) 7234 = 0072,故 X = (0072 - 7234) 异或 0434,计算(Windows提供的计算器派上用场)得到X=8A0A,即将原码的“0A93”改为“0A8A”就大功告成,实际上只改动一个字节。用d DS:ESI命令显示内存中未解码前的数据:“0A931F8644BA”,记下来。现在可以改KV300.EXE文件了!我没有uedit,没关系,用DOS的pctools也行,pctools不认识C:盘的32位FAT,将它拷贝到软磁盘,同时将KV300.EXE也拷贝到软磁盘,软磁盘是16位FAT,所以pctools可以运行,用find功能找出“0A931F8644BA”串的位置,将“93”改为“8A”存盘。运行修改后的KV300.EXE,只要在A:驱里任意插一张软磁盘,它都当是KEY盘而顺利进入杀毒界面。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。