返回列表 回复 发帖
MV2009最新版本下载

nod32启发式引擎技术

 启发式引擎的目标是自动化地区分正常程序与非正常程序,因此就要“尽一切可能”利用两者的不同点,哪怕这不同点很无赖,但是只要它是有效的,就是正确的

  早期的启发式引擎主要是用来针对感染文件的病毒,不过这和熊猫烧香之辈有天壤之别。首先以前的文件感染病毒一般都是用汇编写的。其次,感染方法上,以前的文件感染病毒是把自己插入感染目标作为其一部分,而不像熊猫烧香那样把感染目标捆绑为自己的一部分。针对 以前的文件感染病毒,启发式引擎一般采用查找重定位指令、反EPO(对抗入口点模糊)、虚拟机(对抗多态)等方法,不过谈这个未免太枯燥,大家有兴趣自己 查查吧,更何况现在真正意义上的文件感染病毒少之又少。

  到最近,恶意程序发生的最大变化就是,它们一般都是用高级语言(VC++、VB、Delphi...)写成,而且一般都是独立一个文件(不再插入别人感染),以往的启发式引擎面临变革。

  API(Application Programming Interface),微软提供给编程者的接口,给编程者提供了极大的方便。举个例子,我要写一个读硬盘文件的程序,如果我要直接操作硬盘,那么意味着我 要了解硬盘的基本架构、我要了解不同的分区方式,以及FAT、FAT32、NTFS...,一个小小的程序足以把我累死,而且万一我的程序出问题了,整个 硬盘数据可能就报销了。有了API以后,我只要调用ReadFile等API函数,剩余的工作就可以交给Windows做了,而Windows的代码一般 可以确保其高效性和可靠性。 换句话说,探知程序调用了哪些API就可以大致了解它要干什么了。

  PE(Portable Executables)的格式,每个EXE文件都有自己的格式,并不是从第一个字节开始就是代码。引入表其中告诉系统这个EXE要调用哪些API。当系统加载EXE的时候,会根据引入表中的信息,把正确的API函数的位置填入引入表,这样EXE就能正常调用API了。除了用于存放代码的代码段,EXE文件中还有用于存放字符串等数据的数据段。对于更复杂、体积更大的数据,比如图像、运行中要释放的子文件、窗口的布局等则会作为资源存放。
返回列表