改 ‘干掉“W32.Sobig.F@mm”病毒’
發表于:2007-05-25來源:作者:點擊數:
標簽:
程序經常dump掉,找到原因了! 應該是eps的問題,用正常示例程序代碼,顯示一封郵件都會dump掉。 估計是郵件經過編譯,eps的函數不能正確識別下一個字段的值或結束符之類的標志,導致程序dump掉。所以我的程序也會dump掉。沒法! 所以呢,全改了,不用C,用s
程序經常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有大量的信息,但是帶毒郵件還是沒過濾掉
|
原文轉自:http://www.kjueaiud.com
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
|