我的防病毒软件将此来源的已编译“.exe”识别为病毒“Gen: Variant:Graftor”。谁能解释为什么?
void main()
{
float x=3.0/7.0;
double y=3.0/7.0;
int a= (x==y);
}
我的防病毒软件将此来源的已编译“.exe”识别为病毒“Gen: Variant:Graftor”。谁能解释为什么?
void main()
{
float x=3.0/7.0;
double y=3.0/7.0;
int a= (x==y);
}
好吧,非托管/本机程序可能会带来安全风险,并且您的防病毒软件可能会这样标记。防病毒软件使用启发式算法 - 因此算法是近似的,它们倾向于采用“尽力而为”的想法,并且在防病毒软件的情况下,像您的样本这样的“误报”比遗漏实际病毒更可取。
另一种可能性是您编译程序的方式,有很多编译器优化,有些与安全性有关 - 所以您的程序随机化内存的某些部分等。也许防病毒软件会查看 C 程序的编译方式,而您的则没有安全标志打开了吗?唔...
关于通用检测
与更传统的检测(也称为签名或单文件检测)不同,通用检测不会识别唯一或单个恶意程序。相反,通用检测寻找广泛适用的代码或行为特征,表明文件可能是恶意的,因此单个通用检测可以有效地识别数十个甚至数百个恶意软件。
这是一个误报。由于当今恶意软件和用于恶意软件和合法软件的文件压缩/保护实用程序的复杂性,这些有时会出现在每个防病毒产品中。