上次分析发现由于Kill6.0与7.1版命令行引擎杀毒日志的保存格式不一样造成WinWebMail无法正确识别,从而无法实现邮件防毒功能。但是仔细分析了这两个版本的所有日志文件,发现并没有命令行引擎的杀毒日志。那么有可能WinWebMail并不是分析日志文件,而是直接分析命令行引擎杀毒输出结果来实现邮件防毒功能。
下面是Kill6.0版命令行引擎杀毒结果:
C:\Program Files\KILL\ScanEngine>Inocmd32.exe -ARC -NEX -SFI -NOS c:\temp\eicar.com.txt
File c:\temp\eicar.com.txt is infected by virus: the EICAR test string
Total Files Scanned: 1
Total Viruses Found: 1
Total Infected Files Found: 1
Scan Mode: Secure
*** End Of Summary ***
下面是Kill7.1版命令行引擎杀毒结果:
C:\Program Files\CA\SharedComponents\ScanEngine>Inocmd32.exe -ARC -NEX -SFI -NOS c:\temp\eicar.com.txt
文件 c:\temp\eicar.com.txt 被以下病毒感染: the EICAR test string
扫描的文件总数: 1
找到的病毒总数: 1
找到的受感染文件总数: 1
扫描模式: 安全
*** 概要结束 ***
从这两个结果可以发现Kill的确修改了命令行杀毒引擎的输出结果信息,把Kill6.0版的英文结果改为了Kill7.1版的中文结果。
还记得WinWebMail的防毒设置配置文件“WinWebMail\adminmsg\KILL 安全胄甲.eav”中有一句“is infected by virus:”,这应该就是WinWebMail识别病毒的关键字。而Kill6.0杀毒输出结果信息中有一句“File c:\temp\eicar.com.txt is infected by virus: the EICAR test string”,里面就含有这个关键字。在Kill7.1中这一句改为“
文件 c:\temp\eicar.com.txt 被以下病毒感染: the EICAR test string”。
停止WinWebMail的服务程序,把“KILL 安全胄甲.eav”中的关键字“is infected by virus:”都改为“被以下病毒感染:”。然后重启WinWebMail的服务程序,发送一封带有病毒附件的测试邮件,接收端的确没有收到刚才发送的测试邮件。在发送一份正常邮件,这次正常收到。
通过以上测试说明WinWebMail是通过分析Kill命令行杀毒引擎的输出结果信息来实现邮件防毒功能。直接修改WinWebMail的防毒设置配置文件就可以让WinWebMail支持Kill7.1版。不过这样修改之后WinWebMail不能在发现病毒邮件时通知发件人,这的确是一个小小的遗憾。