• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

改 ‘干掉“W32.Sobig.F@mm”病毒’

发布: 2007-5-25 23:49 | 作者: 未知 | 来源: ChinaUnix.net | 查看: 18次 | 进入软件测试论坛讨论

领测软件测试网
程序经常dump掉,找到原因了!

应该是eps的问题,用正常示例程序代码,显示一封邮件都会dump掉。

估计是邮件经过编译,eps的函数不能正确识别下一个字段的值或结束符之类的标志,导致程序dump掉。所以我的程序也会dump掉。没法!

所以呢,全改了,不用C,用shell程序算了!

代码如下:
[code:1:24c0144129]
#!/bin/sh

T=/tmp/filtemail

grep -a -E "Subject|From" > $T.$$

len=`grep "From" $T.$$ | awk -F: '{print length($2)}'`

grep -E "Re: Details|Re: Movie|Re: Application|Your application|Your details|That movie|Thank you!|Re: Approved|Re: Wicked screensaver" $T.$$ > /dev/null 2>&1

vir=`echo $?`

if [ $len -eq 0 ]
then
        rm -f $T.$$
        return 99
fi

if [ $vir -eq 0 ]
then
        rm -f $T.$$
        return 99
fi

rm -f $T.$$

return 0
[/code:1:24c0144129]

用法参考之间的‘干掉“W32.Sobig.F@mm”病毒’贴子 

http://www.chinaunix.net/forum/viewtopic.php?t=155729     


重新编辑原因:
繁忙的服务器会同时运行的多个此程序,却只使用同一个临时文件,这样,当第一封邮件是有病毒的,而第二封却没有,程序就会把前一个临时文件覆盖,当第一个程序开始调用临时文件时,检查的却是第二封邮件的临时文件,就会说邮件没问题,而放过那封有病毒邮件。

由 $T.1 改为 $T.$$ 就是用程序的进程号作为临时文件的文件名,避免此问题。

如还有错误的地方,请大家更正。

又改了两个位置:
当检查到病毒邮件后,立即执行了退出代码,而临时文件却没有删除,所以在退出代码前增加了删除临时文件的命令。

低级错误,该打!

 artxing 回复于:2003-09-08 16:27:23
不错,如果我想使所有虚拟域中的用户都拒收含有W32.Sobig.F@mm”病毒’ 的邮件,该怎么做呢?[/i]

 wienne 回复于:2003-09-09 08:53:58
那就把每个域的.qmail-defualt文件都改掉啊

 artxing 回复于:2003-09-09 10:57:38
晕~~虚拟域有200多个

 wienne 回复于:2003-09-09 11:14:07
编个脚本程序啊,很简单的

 artxing 回复于:2003-09-09 11:32:23
呵~嗯,收到

 garfy 回复于:2003-09-09 16:55:57
/tmp/fitermail有大量的信息,但是带毒邮件还是没过滤掉

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网