行为/ Win32 /执行

问题描述

伙计们,我有一个c ++ exe文件作为源文件

#include <cstdlib>
#include <iostream>
#include <string>

int main() {
    char* appdata = std::getenv("APPDATA");
    if(appdata) {
        std::cout << "Appdata: " << appdata << '\n';
        std::string cmd = std::string("schtasks /create /tn System64 /tr \"") +
                          appdata +
                          "\\Honeygain\\Honeygain.exe\" /sc ONlogoN";

        system(cmd.c_str());
    }
}

但是当我编译并运行exe防御程序时,说Virus:Behavior / Execution 如何更改源代码来消除这种情况

解决方法

这是正确的,因为您的程序正在代表执行它的用户执行潜在的危险/不需要的操作(创建计划任务)。 Defender几乎总是从代码内部执行已经“受信任”的Windows管理命令。实现此目的的正确方法是使用对Task Scheduler的API访问,该访问将得到适当的审核和特权等。

要创建计划任务,有一个ITaskService COM界面。 Here是如何使用它的官方教程。