VB.net隔离技术

时间:2011-02-27 14:14:35

标签: vb.net copy antivirus virus

我在想一种向我的防病毒应用程序添加隔离功能的有效方法:

  • 将文件复制到指定目录并将其扩展名更改为无(*.)。
  • 将文件的二进制代码保存在XML数据库中。

哪种方式更好?

但是,一旦用户想要恢复文件,我不知道如何重新编译二进制代码。

2 个答案:

答案 0 :(得分:1)

如果我必须这样做(并且我不希望首先处于这种情况,根据我的评论),我会使用一个过程中的数据库引擎,它具有对加密和大型的本机支持。格式二进制数据。我认为sql compact或sqlite都适合这个。

我不会使用xml,因为它是纯文本,二进制数据可以很容易地提取,我不会只是更改扩展名,因为文件仍然可以轻松执行。两者都没有隔离。

请注意,重命名选项可能是迄今为止我所见过的最“高效”的选项,但在处理安全软件正确性时,应始终首先考虑效率问题。有时你可能会牺牲性能的正确性(3D游戏渲染软件一直这样做,效果很好),但安全软件不属于这一类。

您可以做的是稍后进行优化。例如,反病毒引擎使用启发式(大多数情况下只会持有的经验法则)来使他们的软件更快,他们以有利于误报的方式执行此操作,然后必须对其进行更严格的检查而不是可能丢失威胁。这只能起作用,因为更密切地检查每个项目的代码是先编写并进行战斗测试的。

答案 1 :(得分:1)

执行此操作的方法是使用加密引擎加密二进制文件并将其移动到隔离文件夹中,您可以创建随机密码并使用该密码加密文件并将其存储在某处(该密码也可以加密)用万能钥匙)。这可能是最简单的隔离方式。要解决问题,只需编写与隔离代码完全相反的内容即可。将文件枚举到列表中并将其过滤掉,然后当用户点击某个项目并按下取消隔离时,它会调用unquarantine函数并将filepath作为变量。