本文以奇特的思路,對國內安全產商的產品進行測試。結果,全部陣亡……
思路
利用W版文件函數創建超深路徑目錄,並在目錄中沿途放置病毒,以測試各大殺軟掃描器。
源碼
// 最大目錄深度測試
// 用於測試掃描目錄會不會崩潰
#include <windows.h>
#include <stdio.h>
#include <strsafe.h>
wchar_t dirname[32767 + 1] = { LR”(\?C:)” };
wchar_t virusname[32767 + 100] = { 0 };
int main(int argc, char** argv)
{
for (int i = 0; i < 16380; ++i)
{
wcscat_s(dirname, LR”(a)”);
if (CreateDirectoryW(dirname, NULL))
{
;
// printf(“創建成功:%lsn”, dirname);
}
else
{
printf(“創建失敗:%ls 此時的i==%dn”, dirname, i);
break;
}
StringCbPrintfW(virusname, (32767 + 100) * 2, L”%sv”, dirname);
if (CopyFileW(L”c:\virus”, virusname, TRUE))
{
printf(“copy success! i==%dn”, i);
}
else
{
;
DWORD dwerr = GetLastError();
printf(“copy failed! %d n”, dwerr);
}
}
system(“pause”);
return 0;
}
一共放置了0~16366共16367個病毒,0~16367一共16368個目錄,16367+16368 = 32735, 用everything驗證一下(everything也卡了半天):

沒錯,數字正確,接下來就開始測試。
各安全軟件測試
今天主要來測試的就是昨天成功掃出508個,但由於我的BUG導致沒法繼續測試的殺軟。
金山毒霸
可以明顯地看出kscan的內存也在不斷上升。


到了10024個文件的時候突然彈了一個runtime library的窗口:

然而這窗口透明的,也不知道它顯示了什麼,在這之後掃描似乎沒有繼續下去了:

把彈出的窗口關閉,可以看到程序錯誤:

陣亡了,下一個。
火絨
掃描之前:

掃描開始十幾秒後閃退,之後出現如下畫面:

騰訊電腦管家

騰訊掃描了幾秒鐘就完成了掃描,掃了131級目錄,可以看出它並不會再往深處繼續掃描下去。
瑞星殺軟V17試用版
掃描開始數秒後直接崩潰:

360殺毒
不知為什麼掃描時會閃爍顯示這個字符串:

掃到2044個之後,再也沒增加了,另外我的explorer似乎卡死了,360殺毒實時監控崩潰:


360安全衛士




在掃了大概一小時四十七分鐘後,崩潰了,那一瞬間我沒捕捉到。 可以看到資源監視器中的下降波形,是它崩潰的形狀。
卡巴斯基
掃描到1068個之後卡住,然後看着everything中對象數目從32735龜速下降:

32735-1068=31667, 看它到了這個數之後還會不會繼續減少吧。


可以看到卡巴只掃描1068級目錄。
總結
- 火絨,瑞星瞬間崩潰
- 騰訊電腦管家查殺131級目錄,卡巴斯基查殺1068級目錄
- 360殺毒掃描2000多個文件後卡住, 實時監控崩潰
- 360安全掃描1小時47分鐘後崩潰
- 金山毒霸掃描2小時之後崩潰
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/210320.html
微信掃一掃
支付寶掃一掃