avpbase.dll的一些学习笔记

avpbase.dll的一点学习笔记 http://www.krnl.info/thread-4832-1-1.html
avpbase.dll的学习笔记(2)CBase::PrepareFileRecords http://www.krnl.info/thread-4835-1-1.html
avpbase.dll的一点学习笔记(3)CLink http://www.krnl.info/thread-4839-1-1.html
avpbase.dll的一点学习笔记(4)CBase::DoRecords http://www.krnl.info/thread-4840-1-1.html

简而言之,卡巴的病毒库中有6种记录,其中BT_RECORD和BT_LINK32较为重要,BT_RECORD下又分为8个子类型,其中RT_FILE最为重要,另外还有RT_UNPACK和RT_EXTRACT类型。卡巴对于RT_FILE类型的记录有特别的优化,一条RT_FILE为一个R_File结构,卡巴加载库后会把一个R_File 分割为R_File_Short、R_File_Cutted和R_File_CureData三个小结构放到数组里,呃,RT_FILE也有8个子类型的。BT_LINK32为卡巴的NB所在,CLink充当了连接器的作用,把COFF格式的OBJ代码加载到内存中,并进行重定位等操作,使之可以像加载DLL一样从病毒库中加载可执行代码,而卡巴的一些核心代码比如_GetFirstEntry和_GetNextEntry就在库文件中,另外卡巴的那些脱壳和解密代码也在库文件中,因为病毒库的代码并没有泄漏,所以也无从得知_GetFirstEntry这个后面会提到的重要函数的代码内容。卡巴在对文件查毒的时候,会把文件看作一个个Entry,把每个Entry读入到缓存中,而后对缓存进行查毒。查毒的过程可见我在上面提到的帖子,主要根据病毒库指定偏移取一定长度的数据作HASH后比较HASH是否一样,有指定Link则将代码执行起来。

可能有不对的地方,还请指正,呵呵。

2 Replies to “avpbase.dll的一些学习笔记”

  1. 兄弟,weibo.com/mtian是你在用么?
    跟你商量个事。把weibo.com/mtian这个域名转给我用行不? 我出钱买都行,因为我网名叫mtian,连mtian.com都是我注册了的,我想一条龙,什么都能向mtian靠齐,看你也不用weibo,我们商量一下吧,谢了,等你回复。

    • to xsx,不好意思,这个新浪那个账户没有转让的意向,虽然自己不经常发言,但是每天还是上去看几眼的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*