Vb.net net隔离技术

Vb.net net隔离技术,vb.net,copy,antivirus,virus,Vb.net,Copy,Antivirus,Virus,我正在考虑一种有效的方法,将隔离功能添加到我的防病毒应用程序中: 将文件复制到指定目录中,并将其扩展名更改为“无”(*。) 将文件的二进制代码保存到XML数据库中 哪条路更好 但是,我不知道一旦用户想要恢复文件,我将如何重新编译二进制代码。如果我必须这样做(而且,根据我的评论,我也不想一开始就处于这种情况),我将使用进程内数据库引擎,它本机支持加密和大格式二进制数据。我认为SQLCompact或sqlite都适合这一点 我不会使用xml,因为它是纯文本,二进制数据可以很容易地提取,而且我不会

我正在考虑一种有效的方法,将隔离功能添加到我的防病毒应用程序中:

  • 将文件复制到指定目录中,并将其扩展名更改为“无”(
    *。
  • 将文件的二进制代码保存到XML数据库中
哪条路更好

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

如果我必须这样做(而且,根据我的评论,我也不想一开始就处于这种情况),我将使用进程内数据库引擎,它本机支持加密和大格式二进制数据。我认为SQLCompact或sqlite都适合这一点

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

请注意,重命名选项可能是到目前为止我所讨论的最“有效”的选项,但在处理安全软件时,正确性应该始终是您对效率的首要关注。有时,您可以牺牲性能的正确性(3D游戏渲染软件一直在这样做,效果非常好),但安全软件不属于这一类

你可以做的是以后再优化。例如,反病毒引擎使用试探法(仅适用于大多数时间的经验法则)来加快软件速度,他们这样做的方式有利于误报,必须更仔细地检查误报,而不是潜在地遗漏威胁。这仅仅是因为更仔细地检查每个项目的代码是首先编写并经过战斗测试的。

如果我必须这样做(而且,根据我的评论,我不想一开始就处于这种情况),我会使用进程内数据库引擎,该引擎本机支持加密和大格式二进制数据。我认为SQLCompact或sqlite都适合这一点

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

请注意,重命名选项可能是到目前为止我所讨论的最“有效”的选项,但在处理安全软件时,正确性应该始终是您对效率的首要关注。有时,您可以牺牲性能的正确性(3D游戏渲染软件一直在这样做,效果非常好),但安全软件不属于这一类


你可以做的是以后再优化。例如,反病毒引擎使用试探法(仅适用于大多数时间的经验法则)来加快软件速度,他们这样做的方式有利于误报,必须更仔细地检查误报,而不是潜在地遗漏威胁。这仅仅是因为更仔细地检查每个项目的代码是首先编写并经过战斗测试的。

一种方法是使用加密引擎加密二进制文件并将其移动到隔离文件夹中,您可以创建一个随机密码并使用该密码加密文件并将其存储在某处(该密码也可以用主密钥加密)。这可能是最简单的隔离方法。要解除隔离,只需编写与隔离代码完全相反的代码。将文件枚举到列表中并将其过滤掉,然后当用户单击某个项目并按Unquantial时,它将调用Unquantial函数,并将filepath作为变量。

一种方法是加密使用加密引擎将二进制文件移动到隔离文件夹中,您可以创建一个随机密码,用该密码加密文件并将其存储在某处(该密码也可以用主密钥加密)。这可能是最简单的隔离方法。要解除隔离,只需编写与隔离代码完全相反的代码。将文件枚举到列表中并将其过滤掉,然后当用户单击某个项目并按Unquantial时,它将调用Unquantial函数,并将filepath作为变量。

这两个函数都不会真正隔离antine文件。但更重要的是:你在VB.NET中编写了一个防病毒程序???@CodyGray:到目前为止,我已经完成了扫描过程(虽然对于大文件来说很慢)、gui、广告拦截器和一些gui。无论如何,如果这些方法不能隔离文件,那怎么做呢?@Cody:微软也是如此…(实际上是在VB6中)。虽然可以在.Net中编写有效的防病毒程序,但托管代码中存在一些弱点,这通常是一个坏主意,至少对引擎本身来说是这样(不过,在界面上敲一下自己)@JoelCoehoorn:好的,但是我们能进入第一个问题吗?哪种方法更有效?或者还有其他更有效的方法吗?这两种方法都不会真正隔离文件。但更重要的是:你在VB.NET中编写了一个防病毒程序???@CodyGray:到目前为止,我已经完成了扫描过程(尽管对于大文件来说速度很慢),gui,广告拦截器和一些gui。无论如何,如果这些方法不能隔离文件,那么怎么做呢?@Cody:微软也是如此…(实际上是在VB6中)。虽然可以在.Net中编写有效的防病毒程序,但托管代码中存在一些弱点,这通常是个坏主意,至少对引擎本身来说是这样(不过在界面上敲你自己)。@JoelCoehoorn:好的,但是我们能进入第一个问题吗?哪种方法更有效?或者还有其他更有效的方法吗?