1

我正在尝试在 Python 中创建病毒扫描程序,并且我知道基于签名的检测是可能的,但是在 Python 中基于启发式的检测是可能的,即。在安全的环境中运行程序,或者扫描程序的代码,或者检查程序的行为,然后确定程序是否是病毒。

4

3 回答 3

2

Python 被描述为一种通用编程语言,所以是的,这绝对是可能的,但不一定是最好的实现。在编程中,就像交易一样,你应该使用最好的工具来完成这项工作。

可以建议使用 Python 和 Clamd 对您的应用程序进行原型设计,然后如果您想要一个可以出售和保护您的知识产权的封闭源代码解决方案,请考虑转向另一种语言。

纽伯语录:

用 python 编写的任何东西通常都很容易进行逆向工程,因此它不会起到真正的保护作用。

我不同意,事实上很多,但我想这是有争议的。我真的取决于开发人员如何打包应用程序。

于 2014-08-28T09:56:10.983 回答
2

对的,这是可能的。

...和...

不,它可能不是完成任务的最简单、最快、性能最好或最有效的方式。

于 2014-08-27T18:58:27.907 回答
2

嗯,当然有可能。Python 是图灵完备的,因此您可以使用它来达到与使用其他编程语言(如 C++)相同的目的。您当然可以毫无困难地在 Python 中进行基于签名或代码检查的原始检查。所以这个问题的答案是肯定的。

现在是更深层次的问题:您是否在问 Python 是否是这项工作的好工具?我不这么认为,主要是因为Python Code is Hard to Obscure,这意味着如果你用 Python 开发反病毒软件,一旦你把它交给其他人,它就会变得很弱。这是因为病毒开发人员会发现检查您的反病毒引擎很容易,因为您将无法掩盖您的 python 代码。这意味着他们可以轻松地在您的病毒扫描程序中找到漏洞。

事实上,一个好的反病毒软件的关键组成部分之一就是尽可能地难以进行逆向工程,这样病毒开发人员就不会弄清楚你的反病毒引擎的弱点是什么。用 python 编写的任何东西通常都很容易进行逆向工程,因此它不会起到真正的保护作用。

于 2014-08-27T19:01:24.840 回答