我只是尝试运行我的一个应用程序,它是一个接收命令并将它们输入到 cmd 的客户端。当我尝试运行它时,Microsft 防御者立即将其删除并给了我这个 Trojan:Script/Wacatac.B!ml。
描述也有这样的,这个程序很危险并且执行来自攻击者的命令,它怎么知道应用程序在做什么而不运行它?根据我已经阅读的内容,我看到这system()
可能会引起怀疑,但我没有使用它。
附言
这是学校的作业,从技术上讲,是否删除它并不重要,但我很好奇。
我只是尝试运行我的一个应用程序,它是一个接收命令并将它们输入到 cmd 的客户端。当我尝试运行它时,Microsft 防御者立即将其删除并给了我这个 Trojan:Script/Wacatac.B!ml。
描述也有这样的,这个程序很危险并且执行来自攻击者的命令,它怎么知道应用程序在做什么而不运行它?根据我已经阅读的内容,我看到这system()
可能会引起怀疑,但我没有使用它。
附言
这是学校的作业,从技术上讲,是否删除它并不重要,但我很好奇。
对于防病毒软件,他们不会只是在程序出现问题时立即停止它。这使得它经常为时已晚。相反,他们将根据密钥签名扫描文件。
当您使用编程语言编写程序并运行它时,它会使用解释器编译为可执行文件。该解释器编写标准化指令来创建可执行文件。如果某些代码可能对系统有害,它将包含一个签名。这基本上意味着,当您检查程序指令以获取指令时,一系列顺序指令将是相同的,并且已知用于恶意代码。这称为签名。
为了在病毒造成任何损害之前阻止病毒,程序在启动时会被扫描并停止执行。如果找到这样的签名,则如果认为足够严重,则删除该程序。
在某些情况下,找到的不是签名,而是最先执行的指令之一,例如打开使用可疑端口的侦听端口,通常用于攻击,或尝试在某些位置写入或执行管理任务。