编译的可执行文件被视为特洛伊木马威胁

时间:2014-12-05 13:46:46

标签: c++ c antivirus trojan

我已将一个非常简单的bat文件转换为EXE。

我的C文件如下所示:

#include <stdlib.h>
int main(int argc, char const *argv[]) {
    system("set PATH=%PATH%;%CD%\bin\ffmpeg");
    system("node server.js");
    return 0;
}

我的resources.rc看起来像这样:

#include <windows.h>

A ICON MOVEABLE PURE LOADONCALL DISCARDABLE "favicon.ico"

我使用以下方法编译它:

windres -i resource.rc -o resource.o
tcc-o mediacenterjs.exe main.c resource.o 

这很棒!但是Avast和其他几种反病毒扫描程序将我的EXE视为一种威胁。 确切地说是“I-Worm / Nuwar.L”木马。

我可以更改或添加到代码中,以免它被视为病毒。

2 个答案:

答案 0 :(得分:1)

找到答案的一种方法是简单地省略其中一行以找出哪一行正在触发(或者两者都是)。话虽如此,您的代码并不是非常安全,因为它依赖于计算机的路径设置来指向正确的node可执行文件。

此外,您可能需要检查第一次调用system后路径设置是否确实存在。

答案 1 :(得分:1)

它比你想象的要简单,有时当我们搞乱套接字时,防病毒软件也可能会抱怨。如果您尝试更改系统中的某些内容,可能会发生同样的情况,可能是因为它识别您的应用程序是一个线程而不是因为它有病毒,而是因为它有多种方法可以检测防病毒的行为分析,例如签名等。

你可以做的是调试你的应用程序以找出问题的位置,也许它在system函数中,它直接要求系统改变可能的东西。对系统至关重要(防病毒软件不知道或不知道),也许您可​​以使用API​​以另一种方式处理。