在Python中实现启发式病毒扫描可能吗?

1 投票
3 回答
3068 浏览
提问于 2025-04-18 18:45

我正在尝试用Python创建一个病毒扫描器。我知道可以通过特征码检测来识别病毒,但我想知道在Python中是否也可以进行启发式检测。也就是说,能不能在一个安全的环境中运行程序,或者扫描程序的代码,或者检查程序的行为,然后判断这个程序是否是病毒。

3 个回答

2

是的,这是可能的。

…还有…

不,这可能不是最简单、最快、性能最好或效率最高的方法来完成这个任务。

2

当然,这是可能的。Python 是一种图灵完备的语言,这意味着你可以用它做很多事情,和其他编程语言,比如 C++,一样。而且,你可以在 Python 中很简单地做一些基础的签名检查或代码检查。所以,问题的答案是肯定的。

接下来更深层次的问题是:你是在问 Python 是否是这个工作的好工具吗?我觉得不是,主要是因为 Python 代码很难隐藏,这意味着如果你用 Python 开发一个杀毒软件,一旦交给别人使用,它的安全性就会大打折扣。因为病毒开发者很容易检查你的杀毒引擎,而你又无法有效地隐藏你的 Python 代码。这就意味着他们可以轻松找到你杀毒软件的漏洞。

实际上,一个好的杀毒软件的关键组成部分就是让它尽可能难以被逆向工程,这样病毒开发者就无法发现你杀毒引擎的弱点。而用 Python 编写的东西通常很容易被逆向工程,所以它并不适合真正的保护。

2

Python被称为一种通用编程语言,所以是的,这确实是可能的,但不一定是最好的实现方式。在编程中,就像做生意一样,你应该使用最合适的工具来完成工作。

可以建议你先用Python和Clamd来做应用的原型,然后如果你想要一个封闭源代码的解决方案,可以考虑换成其他语言,这样你就可以出售它并保护你的知识产权。

新手评论:

用Python写的东西通常很容易被逆向工程,所以这并不适合真正的保护。

我不同意这个观点,实际上我有很多不同的看法,但这可能是个争论点。其实这要看开发者是如何打包应用的。

撰写回答