0

我正在用 C# 语言在 Windows 窗体中制作防病毒扫描程序。使用当前代码,程序可以打开一个文件夹并开始扫描其中的文件。When the folder selected is 'my computer' or 'user profiles' it is showing a lot of exceptions and it stops scanning at that moment. 我希望有人向我展示如何解决这个问题。

例外情况是:

System.IO.IOExceptionSystem.UnauthorizedAccessException等等。

我想向您展示代码的某些部分。该图像可在此处获得。我想在这里粘贴代码,但我的机构严格禁止抄袭。

点击查看大图

请帮我解决我的情况。

谢谢你

4

1 回答 1

1

您无法扫描“我的电脑”或“用户配置文件”,因为它们不是目录,它们只是标准目录树浏览器控件中的节点,旨在允许用户访问某些类型的位置。

如果您希望他们能够扫描此类文件夹,您需要检测他们是否选择了一个并提供您自己的逻辑来枚举要扫描的位置。

稍微切下一点,我真诚地希望你不打算使用这个项目来替代真正的 AV 包。构建反恶意软件系统并非易事,尤其是当您考虑需要阻止的攻击类型时。如果这只是为了学习目的,那很好,但不要指望自制设计能提高安全性。一个合适的 AV 包需要一个包含检测签名(静态散列、模糊散列、数据模式)、内核模式组件、内存扫描器和行为分析的大型数据库。自己构建这一切是很困难的。

(来源:我自己写了一个,作为一个有趣的项目!)

于 2012-07-15T15:31:31.027 回答