查看: 51879|回复: 133
收起左侧

[已解决] 卡巴所有版本离线升级包制备之完美方案

  [复制链接]
zfznbic
发表于 2007-5-21 11:59:39 | 显示全部楼层 |阅读模式
卡巴所有版本离线升级包制备之完美方案

     现有离线升级包制备工具的情况:通用性不好、所需更新文件的复制标准很乱。从而升级不能保证100%成功。下面本人
将提供一种卡巴所有版本离线升级包制备之完美方案。
    此方案的特点为:
1、模拟更新服务器中更新文件的存放环境,从卡巴更新的根源来提取所需更新文件的详细信息;
2、利用这些信息,复制相应的更新所需文件,制备出完美的离线升级包。可以保证100%离线升级成功;
3、用此方案,可以制备出所有卡巴版本的离线升级包。
    不过,此方案要求的技术性比较高。本人对DOS编程熟悉,但用DOS本人无法作出此方案的相应工具。现在将方案发布于
此,希望有编程高手可以将此方案做成相应的工具,以利于使用者能制备出真正的完美离线升级包。。
   下面我将详细说明改方案的情况,在此以KIS6.0.2.621的文件来说明:
   卡巴更新服务器里面的更新文件,都是存放在三个文件夹里面的,分别是: index ,bases和autopatches。其中:
index 表示索引目录,bases表示为病毒库目录,autopatches表示程序、网络模块的补丁目录
   卡巴每次更新,都要调用到XML文件(更新索引文件),每个更新索引文件里面包含各文件的大小、日期、特征等信息。
卡巴都会最开始从index/6/这个服务器路径中下载文件u0607g.xml(不同卡巴版本,最前面的字母会有所不同),然后在下
载其它的*.xml文件。最后再下载别的更新文件。这些xml文件里面的内容,其实就是每次更新文件的信息。具体如下:

一、从index/6/这个服务器路径中下载的更新索引文件u0607g.xml。里面包含所有*0607g.xml文件的信息。如下:
<UpdateFiles
UpdateDate="21052007 0215">
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../bases/av/avc/i386"
  Filename="av-i386-0607g.xml"
  FileDate="21052007 0057" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../bases/as/kis"
  Filename="as-0607g.xml"
  FileDate="21052007 0202" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../bases/ids/i386"
  Filename="ah-i386-0607g.xml"
  FileDate="18052007 1408" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../bases/ids/x64"
  Filename="ah-x64-0607g.xml"
  FileDate="18052007 1418" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../bases/ids/i386-x64"
  Filename="ah-i386-x64-0607g.xml"
  FileDate="18052007 1427" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../bases/aspy"
  Filename="aspy-0607g.xml"
  FileDate="10052007 1553" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../bases/blst"
  Filename="blst-0607g.xml"
  FileDate="16052007 1210"
  MD5="yXVPXuP1jjOFyuoWtE04UA==" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../bases/av/klava/webav"
  Filename="wm-0607g.xml"
  FileDate="09032007 0721" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../bases/pdm"
  Filename="pdm-0607g.xml"
  FileDate="18052007 1432" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../bases/upd"
  Filename="upd-0607g.xml"
  FileDate="10042007 1431" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../bases/info"
  Filename="info-0607g.xml"
  FileDate="10052007 1333" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../bases/pcdb"
  Filename="pcdb-0607g.xml"
  FileDate="11052007 1547" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../bases/av/klava/emu/i386"
  Filename="emu-i386-0607g.xml"
  FileDate="16052007 1706" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../bases/av/klava/wa/i386"
  Filename="wa-i386-0607g.xml"
  FileDate="10052007 0755" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../AutoPatches/kav6"
  Filename="kav6-0607g.xml"
  FileDate="20022007 1213" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../AutoPatches/kav_aol"
  Filename="kav_aol-0607g.xml"
  FileDate="02042007 1140" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../AutoPatches/kav_dt"
  Filename="kav_dt-0607g.xml"
  FileDate="27022007 1109" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../AutoPatches/kav_jp"
  Filename="kav_jp-0607g.xml"
  FileDate="16042007 1153" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../AutoPatches/kav_kpss"
  Filename="kav_kpss-0607g.xml"
  FileDate="26042007 0817" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../AutoPatches/kav_mais"
  Filename="kav_mais-0607g.xml"
  FileDate="12032007 1024" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../AutoPatches/kav_pcss"
  Filename="kav_pcss-0607g.xml"
  FileDate="13042007 1411" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../AutoPatches/kav_rss"
  Filename="kav_rss-0607g.xml"
  FileDate="26042007 1117" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../AutoPatches/kav_stg"
  Filename="kav_stg-0607g.xml"
  FileDate="12032007 0939" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../AutoPatches/kav_xss"
  Filename="kav_xss-0607g.xml"
  FileDate="12032007 0939" />
<FileDescription
  Comp
  UpdateType="desc"
  ServerFolder="../../bases/rt"
  Filename="rt-0607g.xml"
  FileDate="07022007 1106" />
<Registry
  Comp
  UpdateType="KLKEY"
  LocalPath="%DSKM%"
    从电脑中复制上面所有的Filename文件,并保存在每个文件所对应的ServerFolder路径中。在这里,将
路径统一为这种形式:
                 AVP——index/6
                         │
                         ├─bases——/av/avc/i386
                         │        │-/as/kis
                         │        │-/ids/i386
                         │        │-/ids/x64
                         │        │-/ids/i386-x64
                         │        │-/aspy
                         │        │-/blst
                         │        │-/av/klava/webav
                         │        │-/pdm
                         │        │-/upd
                         │        │-/info
                         │        │-/pcdb
                         │        │-/av/klava/emu/i386
                         │        │-/av/klava/wa/i386
                         │        │-/rt
                         │
                         └─AutoPatches——/kav6
                                         │-/kav_aol
                                         │-/kav_dt
                                         │-/kav_jp
                                         │-/kav_kpss
                                         │-/kav_mais
                                         │-/kav_pcss
                                         │-/kav_rss
                                         │-/kav_stg
                                         │-/kav_xss

二、读取刚才所保存的每个xml文件,根据里面的内容(主要是文件),从电脑中复制所有文件到当前目录中。比如说:
upd-0607g.xml这个文件,它就存放在路径AVP/bases/upd子文件夹里面,读取它的内容为:
<UpdateFiles
UpdateDate="10042007 1431">
<FileDescription
  Comp
  UpdateType="base"
  LocalPath="%DataFolder%"
  Filename="updcfg.xml"
  FileSize="20586" />
<Registry
  Comp
  UpdateType="REGISTRY"
  LocalPath="%DSKM%",
然后,将updcfg.xml这个文件从电脑中也复制到当前目录下,即AVP/bases/upd里面。
三、注意ids目录下,三个子文件夹内的文件之间的比较,大部份都是一样的名称。但有些是不同的,这个可以通过查看文件
的大小来区别。在复制是,得将文件的大小考虑进去,不然,可能会将文件存放的路径搞错。

    OK。一个离线升级包制备的完美方案就已经出来了。。接下来的工作,就让编程高手来完成吧。很希望这个完美的升级
包制备工具能早日和大家见面。在此,先谢过那些将方案实践的朋友!

    有什么还不是很明白的,可以和我联系。QQ:441976341

评分

参与人数 1经验 +5 收起 理由
孤独的我 + 5 感谢提供分享

查看全部评分

eubyo
发表于 2007-5-21 13:03:59 | 显示全部楼层
kav_dt kav_rss这些是做什么用的
sddmao
发表于 2007-5-21 13:05:34 | 显示全部楼层
哦,分析的不错啊。有空再说罢 呵呵
dianshixs
发表于 2007-5-21 14:27:18 | 显示全部楼层
不错,支持!
songgao421
发表于 2007-5-21 17:52:55 | 显示全部楼层
等待高手,辛苦搂住了
xianjue114 该用户已被删除
发表于 2007-5-21 18:43:05 | 显示全部楼层
貌似很高深!!
luowei2007
发表于 2007-5-21 19:51:44 | 显示全部楼层
大概dos可以实现的
JnZkMM
发表于 2007-5-21 22:14:51 | 显示全部楼层
我怎么觉得好像看过了。。
6177890618
发表于 2007-5-21 22:16:17 | 显示全部楼层
谢谢楼主,等编程高手
lts0000
发表于 2007-5-21 22:43:22 | 显示全部楼层
等待高手,辛苦楼住了
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

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

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-5-25 19:53 , Processed in 0.161698 second(s), 19 queries .

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

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