卡巴所有版本离线升级包制备之完美方案
卡巴所有版本离线升级包制备之完美方案现有离线升级包制备工具的情况:通用性不好、所需更新文件的复制标准很乱。从而升级不能保证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 kav_dt kav_rss这些是做什么用的[:11:] 哦,分析的不错啊。有空再说罢 呵呵 不错,支持! 等待高手,辛苦搂住了 *** 作者被禁止或删除 内容自动屏蔽 *** 大概dos可以实现的 我怎么觉得好像看过了。。 谢谢楼主,等编程高手 等待高手,辛苦楼住了 高深 期待高手早日作出好的工具来啊。。。 楼主幸苦了,,但我看不懂,,不好意思 就是啊,俺还是等待高手吧,看也看不懂啊……