-1

伙计们,我有一个 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 我如何通过更改源来摆脱它

4

1 回答 1

2

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

要创建计划任务,有一个ITaskServiceCOM 接口。是一个官方教程如何使用它。

于 2020-09-27T12:52:31.910 回答