我正在使用Windows窗体中的C#语言制作防病毒扫描程序。使用当前代码,程序可以打开文件夹并开始扫描其中的文件。当选择的文件夹是“我的电脑”或“用户个人资料”时,它会显示很多异常,并在此时停止扫描。我想请任何人向我演示如何解决这个问题。
例外情况是:
System.IO.IOException
,System.UnauthorizedAccessException
等等。
我想向您展示代码的一些部分。图像可在此处获得。我想在这里粘贴代码,但我的机构严格禁止剽窃。
请帮我解决问题。
谢谢
答案 0 :(得分:1)
您无法扫描"我的电脑"或"用户配置文件"因为它们不是目录,它们只是标准目录树浏览器控件中的节点,旨在允许用户访问某些类型的位置。
如果您希望他们能够扫描此类文件夹,您需要检测他们是否选择了一个并提供您自己的逻辑来枚举要扫描的位置。
略微切线,我真诚地希望您不打算将此项目用作真正AV套装的替代品。构建反恶意软件系统并非易事,尤其是当您考虑需要阻止的攻击类型时。如果这仅仅是为了学习目的,那么这很好,但是不要期望从自制设计中获得最轻微的安全性。适当的AV包需要大型检测签名数据库(静态哈希,模糊哈希,数据模式),内核模式组件,内存扫描程序和行为分析。很难自己构建这一切。
(来源:我自己写了一篇,作为一个有趣的项目!)