设置图标病毒问题后

Posted

技术标签:

【中文标题】设置图标病毒问题后【英文标题】:After set icon virus trouble 【发布时间】:2015-10-26 10:24:21 【问题描述】:

我有一个关于将图标设置为 PE 的问题。我写了 2 个 PE 文件,一个是目标 - 它是空的 Win32 应用程序,第二个是 Setter,setter 执行以下任务。打开ico文件,对ico中的每张图片做BeginUpdateResource,UpdateResource,以GroupIconBuffer和RT_GROUP_ICON为参数创建GroupIconBuffer,UpdateResource,然后EndUpdateResource。在此之后,图标集完成。但是,AVG 防病毒软件将此文件检测为病毒 Luhia.Fiha.a。为什么???

【问题讨论】:

杀毒软件触发警报的原因有很多: 应用程序使用了可疑模式(如修改 PE 图像),生成的图像包含一个字节序列,恰好匹配一个已知的病毒签名,资源更新是使用参数完成的,这会将图像变成访问漏洞,或者其中一个图标确实包含已知漏洞。我们不知道,它是什么。既然您有复制品,请联系 AVG。 【参考方案1】:

VG 是对的。它是一种“病毒”,因为它修改了二进制可执行文件...

任何修改带有可执行文件的二进制文件的非开发人员程序都应被视为病毒。

所有可执行的二进制文件也应该有一个签名,这样一个修改 exe 的程序必须破坏签名。同样在 UAC 下,您永远不会对程序文件夹或 windows 文件夹中的可执行文件进行写入访问。

【讨论】:

PE 文件本质上没有可执行文件。 PE 指定了一种容器格式,许多不同的文件类型都使用它:可执行图像、DLL、仅资源 DLL、目标文件、.winmd 文件等。例如,修改纯资源 DLL 不会修改任何可执行文件。 因为资源与可执行文件紧密绑定(想想带有格式掩码的文本),更改资源可能会极大地改变 EXE 或 DLL 的行为。如果存在签名,它将破坏签名。 6 AntiVirus 没有检测到这个文件和方法。只有 ANG 检测到它。我认为 VIsualStudio 在设置图标时也是如此。 但是 VS 已签名。可能有好几个等级的“病毒”,给你的程序签名,可能检测不到病毒。我使用 Eset 和赛门铁克。根据设置,这两个程序对这种变化的反应非常紧张或耐心。再说一遍:从我的角度来看,做这样的事情是错误的。而且我们的杀毒软件被配置为非常敏感... 资源被可执行代码使用这一事实并没有使仅资源的 DLL 突然可执行。您的答案假定包含可执行代码的 PE 映像,并且您的第一条评论假定字符串表资源。所提出的问题都不支持这两种假设。【参考方案2】:

谢谢大家。 这是 AVG 指定的行为。通过从二进制文件中删除 4px ico 来修复此行为。

【讨论】:

以上是关于设置图标病毒问题后的主要内容,如果未能解决你的问题,请参考以下文章

桌面图标名称全变成一样了是怎么回事?别跟我说是病毒,我电脑很正常,啥都可以用,很健康的电脑。

快捷方式图标无法正常显示

桌面图标怎么反了啊高手进啊

电脑不显示窗口怎么办

电脑桌面上的所有应用软件都变成了同一种图标为啥

电脑桌面快捷方式显示不正确