为什么 Microsoft Defender 将这个简单无害的程序检测为“严重”威胁?

为什么 Microsoft Defender 将这个简单无害的程序检测为“严重”威胁?

我用 C 编写了以下程序来测试 Windows API 函数PathCchRemoveExtension作品:

#include <Windows.h>
#include <strsafe.h>
#include <pathcch.h>
#include <stdio.h>
#pragma comment(lib, "pathcch.lib")

int __cdecl wmain(int argc, wchar_t *argv[])
{
    wchar_t fileName[MAX_PATH], fileNameNoExt[MAX_PATH];

    StringCchCopyW(fileName, MAX_PATH, L"C:\\DOS\\COMMAND.COM");
    StringCchCopyW(fileNameNoExt, MAX_PATH, fileName);
    PathCchRemoveExtension(fileNameNoExt, MAX_PATH);
    wprintf(L"%s => %s\n", fileName, fileNameNoExt);
    
    return 0;
}

我在命令行上使用“ cl extremove_test.c”(没有其他参数/​​优化)对其进行编译,当我尝试运行它时,Windows Defender 立即将该程序标记为“严重”威胁并将其隔离:

我编译完后立即收到错误

我使用的是 Windows 10 Pro x64 2004 版和最新版本的 Windows Defender 定义(根据我的“设置”应用,版本号为 1.327.634.0)

编译器版本为 19.27.29112(适用于 x86)

为什么这么简单的程序会被检测为“严重”威胁?

答案1

我的猜测是,它查看了 DOS(完全不安全)并将其困住。

我有一个早期版本的 Sync Back Pro(超过 5 年前的版本),它导致 Windows Defender 以同样的方式陷入困境。我拥有最新版本,所以我允许 WD 删除它。Sync Back Pro 在其程序之外调用以同步其他文件。

您能使用不同于 DOS 的方法吗?

相关内容