论文部分内容阅读
又是唐华,他快要把挑战之星包下来了,作为附加题目提出的:“既然金山有U盘版的杀毒软件,各位高手能把卡巴斯基安装在U盘里,做成U盘版的卡巴斯基杀毒软件吗?这是读者xiyuaoxue朋友提供的题目,非常有挑战性,大家可以单独想办法解答这个问题”,这个题目唐华朋友给大家做了一套非常完整的方法,今天我们就来分享一下!
众所周知,卡巴斯基是一款查杀能力非常强的杀毒软件,可以识别并清除一些其它杀软认不出的病毒,但是其较高的资源占用率也使大部分朋友对其望而却步。那么,对于我们这些机器配置不高的用户来说,难道只能望巴兴叹了吗?当然不是。经过我的一番努力,终于将具有杀毒功能的卡巴装进了一个普通U盘中,并且可以随时升级。这样,当遇到顽固病毒或者怀疑病毒没有被清理干净的时候,只要将这个杀毒U盘插进电脑,就能够使用卡巴来进行查杀了。
充分准备 下载助手来帮忙
俗话说,一个好汉三个帮,为了完成这一任务,我们需要下载以下几位免费助手。
1.RegShot(下载地址:http://www.onlinedown.net/soft/12432.htm)。一款简单、实用的注册表比较工具,可同时检察注册表、 Win.ini、System.ini 中的键值以及目录中文件的变化;
2.Orca(下载地址:http://www.onlinedown.net/soft/9613.htm)。由微软提供的用于 Windows Installer 数据库表编辑器,可用来编辑 Windows Installer 数据库文件(.msi)、合并模块文件(.msm)、补丁文件(.msp)、内部一致性计算程序文件(.cub)和补丁创建属性文件(.pcp)。是修改和本地化 Windows Installer 数据库的最佳辅助工具;
3.Reg2Inf(下载地址:http://www.greendown.cn/soft/2185.html)。一个命令行工具,可以将注册表项文件(.reg)转换为安装信息文件(.inf)。
精心制作,打造自己的卡巴杀毒U盘
经过上面的分析,我们已经可以确定卡巴对系统做的更改了。现在把U盘接入电脑,开始进行制作。
1.文件部分
将整个KAV6安装目录拷贝到U盘,再将授权文件及“C:\Documents and Settings\All Users\Application Data\”中的“Kaspersky Lab”目录拷入KAV6安装目录下,然后在该目录下新建一个“Drivers”目录并将“fidbox.dat”、“fidbox.idx”、“fidbox2.dat”、“fidbox2.idx”以及“klif.sys”拷入其中(其中前四个文件只能在安全模式下拷贝)。
2.注册表部分
通过分析我们看到在导出的注册表文件中包含绝对路径,如果只是将其改为自己的U盘路径的话肯定不具有通用性,但使用inf文件则可引入相对路径。
打开命令提示符,在其中输入“路径\Reg2Shot.exe -w -t 路径\运行.reg 路径\安装.inf”(见图9)(可以直接将相应文件拖到命令提示符,就不用麻烦的输入路径了),转换完成后用记事本打开这个inf文件,选择“编辑→替换”将“C:\Documents and Settings\All Users\Application Data”、“C:\WINDOWS\system32”、卡巴的安装路径(比如“D:\KAV6”)以及授权文件所在路径(比如“D:\”)替换为“%01%”,复查一遍确认所有路径已经更改完毕后关闭保存。
接下来新建一个文本文件,在其中输入以下内容保存为“卸载.reg”:
REGEDIT4
[-HKEY_CURRENT_USER\Software\KasperskyLab]
[-HKEY_LOCAL_MACHINE\SOFTWARE\KasperskyLab]
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AVP]
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\klif]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\RNG]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\SPC]
3.控制部分
再新建三个文本文件,在第一个文件中输入以下内容保存为“运行.cmd”:
@echo off
RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 128 .\KAV6\运行.inf
start avp.exe
在第二个文件中写入以下内容保存为“退出.cmd”:
@echo off
taskkill /f /im avp.exe >nul
regedit /s .\KAV6\退出.reg
注意以上两个cmd文件中的KAV6为卡巴在U盘中的目录,可根据实际情况自行更改。
在第三个文件中输入以下内容保存为“AutoRun.inf”。
[AutoRun]
open=explorer.exe
shell=运行&KAV6\command\运行.cmd
shell=退出&KAV6\command\退出.cmd
全部完成后,将“运行.inf”、“退出.reg”放入U盘上卡巴的根目录,将“运行.cmd”、“退出.cmd”及“AutoRun.inf”放入U盘根目录(为防止对U盘操作时误删除这三个文件,建议将其设为隐藏属性)。
后期试用,查漏补缺
删除先前安装的卡巴并重启电脑,接入U盘,右击U盘图标,在菜单中选择相应命令发现可以正常运行,但右键菜单中的“扫描病毒”项不见了,再次打开RegShot对卡巴安装前后的比较报告,分析后发现与卡巴相关的右键菜单项有5个,均在“HKEY_CLASSES_ROOT”键下,分别是:“*\shellex\ContextMenuHandlers\Kaspersky Anti-Virus”、“CLSID\{dd230880-495a-11d1-b064-008048ec2fc5}\InProcServer32”、“Drive\shellex\ContextMenuHandlers\Kaspersky Anti-Virus”、“Folder\shellex\ContextMenuHandlers\Kaspersky Anti-Virus”及“Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved”。在前面备份的注册表中找到这几项,按上述方法制作为inf文件并添加进“安装.inf”,然后在“卸载.reg”中加入以下内容:
[-HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\Kaspersky Anti-Virus]
[-HKEY_CLASSES_ROOT\CLSID\{dd230880-495a-11d1-b064-008048ec2fc5}\InProcServer32]
[-HKEY_CLASSES_ROOT\Drive\shellex\ContextMenuHandlers\Kaspersky Anti-Virus]
[-HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers\Kaspersky Anti-Virus]
[HKEY_CLASSES_ROOT\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved]
"{dd230880-495a-11d1-b064-008048ec2fc5}"=-
这样就可以通过右键菜单调用卡巴了。不过运行后发现,一旦使用右键菜单进行扫描,就只有先在任务管理器中结束“explorer.exe”进程,然后再运行它,重新回到桌面后才能删除U盘。
另外,为了更方便的控制卡巴运行,我用AutoIt脚本写了两个小程序,分别适用于带右键菜单与不带右键菜单的情况,根据你的需要选择一个放入U盘根目录(这时就不需要“运行.cmd”、“退出.cmd”及“AutoRun.inf”了),双击即可运行(也可以参照上文方法将其加入到U盘的右键菜单中),退出卡巴即可完成卸载。不过某些杀软会将其误报为病毒(例如瑞星),此时只要在弹出的杀毒对话框中选择“忽略”即可。
制作U盘的准备工作比较烦琐,大家并非必须了解,我们先把制作的过程详述,如果需要了解全部过程的朋友可以到番茄的博墅看看。我们的制作过程是依据卡巴斯基反病毒软件6.0个人版(下载地址:http://download.zol.com.cn/detail/16/156876.shtml)完成的,大家可以参考。
利用唐华朋友提供的这三款工具,我们就可以监视卡巴斯基安装和运行过程中的各种轨迹,不过这个过程有些烦琐,具体的内容请到http://blog.cfan.com.cn/index.php/139140/action_viewspace_itemid_101100查看详细的全文,这样你就可以知道如果去研究一个杀毒软件并制作它的U盘版本。
小提示
在比较报告中会看到以上各项是在“HKEY_LOCAL_MACHINE\SOFTWARE\Classes”下,实际上它与“HKEY_CLASSES_ROOT”是等效的。
用记事本打开“KAV6\Skin\sch”目录中的“main.loc”文件,更改“[ProductTitle]”及“[ProductTitleLong]”下“default”的值会改变卡巴标题栏的名称,如果将其该为你自定的名字,如“卡巴斯基杀毒U盘 CFan版”,相信会使你的杀毒U盘更有个性。
最后说明一下,使用这个卡巴杀毒U盘会造成卡巴斯基公司的其它软件出错,因此使用前务必确认机器上没有卡巴斯基公司的其它软件。
众所周知,卡巴斯基是一款查杀能力非常强的杀毒软件,可以识别并清除一些其它杀软认不出的病毒,但是其较高的资源占用率也使大部分朋友对其望而却步。那么,对于我们这些机器配置不高的用户来说,难道只能望巴兴叹了吗?当然不是。经过我的一番努力,终于将具有杀毒功能的卡巴装进了一个普通U盘中,并且可以随时升级。这样,当遇到顽固病毒或者怀疑病毒没有被清理干净的时候,只要将这个杀毒U盘插进电脑,就能够使用卡巴来进行查杀了。
充分准备 下载助手来帮忙
俗话说,一个好汉三个帮,为了完成这一任务,我们需要下载以下几位免费助手。
1.RegShot(下载地址:http://www.onlinedown.net/soft/12432.htm)。一款简单、实用的注册表比较工具,可同时检察注册表、 Win.ini、System.ini 中的键值以及目录中文件的变化;
2.Orca(下载地址:http://www.onlinedown.net/soft/9613.htm)。由微软提供的用于 Windows Installer 数据库表编辑器,可用来编辑 Windows Installer 数据库文件(.msi)、合并模块文件(.msm)、补丁文件(.msp)、内部一致性计算程序文件(.cub)和补丁创建属性文件(.pcp)。是修改和本地化 Windows Installer 数据库的最佳辅助工具;
3.Reg2Inf(下载地址:http://www.greendown.cn/soft/2185.html)。一个命令行工具,可以将注册表项文件(.reg)转换为安装信息文件(.inf)。
精心制作,打造自己的卡巴杀毒U盘
经过上面的分析,我们已经可以确定卡巴对系统做的更改了。现在把U盘接入电脑,开始进行制作。
1.文件部分
将整个KAV6安装目录拷贝到U盘,再将授权文件及“C:\Documents and Settings\All Users\Application Data\”中的“Kaspersky Lab”目录拷入KAV6安装目录下,然后在该目录下新建一个“Drivers”目录并将“fidbox.dat”、“fidbox.idx”、“fidbox2.dat”、“fidbox2.idx”以及“klif.sys”拷入其中(其中前四个文件只能在安全模式下拷贝)。
2.注册表部分
通过分析我们看到在导出的注册表文件中包含绝对路径,如果只是将其改为自己的U盘路径的话肯定不具有通用性,但使用inf文件则可引入相对路径。
打开命令提示符,在其中输入“路径\Reg2Shot.exe -w -t 路径\运行.reg 路径\安装.inf”(见图9)(可以直接将相应文件拖到命令提示符,就不用麻烦的输入路径了),转换完成后用记事本打开这个inf文件,选择“编辑→替换”将“C:\Documents and Settings\All Users\Application Data”、“C:\WINDOWS\system32”、卡巴的安装路径(比如“D:\KAV6”)以及授权文件所在路径(比如“D:\”)替换为“%01%”,复查一遍确认所有路径已经更改完毕后关闭保存。
接下来新建一个文本文件,在其中输入以下内容保存为“卸载.reg”:
REGEDIT4
[-HKEY_CURRENT_USER\Software\KasperskyLab]
[-HKEY_LOCAL_MACHINE\SOFTWARE\KasperskyLab]
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AVP]
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\klif]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\RNG]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\SPC]
3.控制部分
再新建三个文本文件,在第一个文件中输入以下内容保存为“运行.cmd”:
@echo off
RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 128 .\KAV6\运行.inf
start avp.exe
在第二个文件中写入以下内容保存为“退出.cmd”:
@echo off
taskkill /f /im avp.exe >nul
regedit /s .\KAV6\退出.reg
注意以上两个cmd文件中的KAV6为卡巴在U盘中的目录,可根据实际情况自行更改。
在第三个文件中输入以下内容保存为“AutoRun.inf”。
[AutoRun]
open=explorer.exe
shell=运行&KAV6\command\运行.cmd
shell=退出&KAV6\command\退出.cmd
全部完成后,将“运行.inf”、“退出.reg”放入U盘上卡巴的根目录,将“运行.cmd”、“退出.cmd”及“AutoRun.inf”放入U盘根目录(为防止对U盘操作时误删除这三个文件,建议将其设为隐藏属性)。
后期试用,查漏补缺
删除先前安装的卡巴并重启电脑,接入U盘,右击U盘图标,在菜单中选择相应命令发现可以正常运行,但右键菜单中的“扫描病毒”项不见了,再次打开RegShot对卡巴安装前后的比较报告,分析后发现与卡巴相关的右键菜单项有5个,均在“HKEY_CLASSES_ROOT”键下,分别是:“*\shellex\ContextMenuHandlers\Kaspersky Anti-Virus”、“CLSID\{dd230880-495a-11d1-b064-008048ec2fc5}\InProcServer32”、“Drive\shellex\ContextMenuHandlers\Kaspersky Anti-Virus”、“Folder\shellex\ContextMenuHandlers\Kaspersky Anti-Virus”及“Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved”。在前面备份的注册表中找到这几项,按上述方法制作为inf文件并添加进“安装.inf”,然后在“卸载.reg”中加入以下内容:
[-HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\Kaspersky Anti-Virus]
[-HKEY_CLASSES_ROOT\CLSID\{dd230880-495a-11d1-b064-008048ec2fc5}\InProcServer32]
[-HKEY_CLASSES_ROOT\Drive\shellex\ContextMenuHandlers\Kaspersky Anti-Virus]
[-HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers\Kaspersky Anti-Virus]
[HKEY_CLASSES_ROOT\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved]
"{dd230880-495a-11d1-b064-008048ec2fc5}"=-
这样就可以通过右键菜单调用卡巴了。不过运行后发现,一旦使用右键菜单进行扫描,就只有先在任务管理器中结束“explorer.exe”进程,然后再运行它,重新回到桌面后才能删除U盘。
另外,为了更方便的控制卡巴运行,我用AutoIt脚本写了两个小程序,分别适用于带右键菜单与不带右键菜单的情况,根据你的需要选择一个放入U盘根目录(这时就不需要“运行.cmd”、“退出.cmd”及“AutoRun.inf”了),双击即可运行(也可以参照上文方法将其加入到U盘的右键菜单中),退出卡巴即可完成卸载。不过某些杀软会将其误报为病毒(例如瑞星),此时只要在弹出的杀毒对话框中选择“忽略”即可。
制作U盘的准备工作比较烦琐,大家并非必须了解,我们先把制作的过程详述,如果需要了解全部过程的朋友可以到番茄的博墅看看。我们的制作过程是依据卡巴斯基反病毒软件6.0个人版(下载地址:http://download.zol.com.cn/detail/16/156876.shtml)完成的,大家可以参考。
利用唐华朋友提供的这三款工具,我们就可以监视卡巴斯基安装和运行过程中的各种轨迹,不过这个过程有些烦琐,具体的内容请到http://blog.cfan.com.cn/index.php/139140/action_viewspace_itemid_101100查看详细的全文,这样你就可以知道如果去研究一个杀毒软件并制作它的U盘版本。
小提示
在比较报告中会看到以上各项是在“HKEY_LOCAL_MACHINE\SOFTWARE\Classes”下,实际上它与“HKEY_CLASSES_ROOT”是等效的。
用记事本打开“KAV6\Skin\sch”目录中的“main.loc”文件,更改“[ProductTitle]”及“[ProductTitleLong]”下“default”的值会改变卡巴标题栏的名称,如果将其该为你自定的名字,如“卡巴斯基杀毒U盘 CFan版”,相信会使你的杀毒U盘更有个性。
最后说明一下,使用这个卡巴杀毒U盘会造成卡巴斯基公司的其它软件出错,因此使用前务必确认机器上没有卡巴斯基公司的其它软件。