我是计算机科学与工程专业的学生。我对操作系统的内部工作很感兴趣。 我对Linux内核和x64程序集有一些了解。
我想学习反病毒程序的内部工作原理,然后为了学习目的而做一个,最好是Linux平台。我用Google搜索,但无法得出任何好结果。
任何人都可以指出我需要一些知识/技能的资源,以及如何开始进行反病毒开发。
答案 0 :(得分:1)
要做的第一件事就是从sourceforge或github寻找开源防病毒项目,阅读文档,查看其结构和组件并跟踪它们的演变。
目前最有趣的项目之一是Clam AV,最后一个稳定版本是0.97.8,您可以在Github Page找到源代码和文档。
防病毒软件中有很多组件,如引擎,检测模块(签名与启发式),知识库和许多其他元素,所以我认为很难找到专注于整体防病毒开发的文档,而找到特定组件的文档和教程可能更简单。
例如,有一篇关于antivirus engine development的有趣文件。虽然很旧(2002年),但它提供了很多关于引擎的高级结构,他的组件以及他在一般情况和特定情况下的行为的信息。
关于技能:我认为在操作系统,机器学习算法,计算机安全和OOP语言方面有很强的背景非常重要。在我看来,像防病毒这样的项目并不是一件轻而易举的事。