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



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

我的C文件看起来像这样:

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

我的资源.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"木马。

我可以更改或添加到代码中,以免将其作为病毒拾取。

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

此外,您可能希望检查路径设置在第一次调用 system 运行后是否实际保留。

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

您可以做的是调试您的应用程序以找到问题所在,也许它在 system 函数中,它直接要求系统更改可能对系统至关重要的内容(防病毒软件不知道或确实如此),也许您可以使用 API 以另一种方式处理这个问题。

最新更新