Virus 版 (精华区)

作  家: xian (小楼一夜听春雨) on board 'Virus'
题  目: 浅谈杀毒方法(五)(转寄)
来  源: 哈尔滨紫丁香站
日  期: Sat Aug 16 11:57:44 1997
出  处: bbs@bbs.orange.sjtu.edu.cn

发信人: Iceriver (冰河), 信区: virus
标  题: 浅谈杀毒方法(五)
发信站: 饮水思源站 (Fri Aug 15 23:45:12 1997) , 转信

    B.分析病毒 -- 仅须简要分析
        首先要明白病毒是如何感染并又能使可执行文件正常执行
    的,  
        .对于COM文件: 一般的方法是修改开始几个指令为JMP到某
    一位置,该位置一般位于文件后部,执行完病毒代码后再将保留下
    的被修改位置的原指令填回,再JMP回开头执行正常部分.

        .对于EXE文件: 一般的方法是直接将EXE Header中的Program
    Entry修改使其指向病毒体,执行完病毒体后再JMP至原Program 
    Entry处.

        其次需要得到几个数据:
        .病毒长度  一个病毒感染文件后使其增加的字节数往往固定
    的通过正常文件与带毒文件的比较便可以得出,此数据对于发现病
    毒中的一些关键数据十分重要,如COM文件起始的跳转指令,Program
    Entry的数值,病毒的起始位置等.当然更主要是用与核对一些数据,
    在除去病毒体时也很有用.

        .病毒的安装较验  病毒驻留内存后就必须阻止自身再次驻留内
    存,故在病毒体的开始处必然要作一个安装较验,一般是调用某中断,
    并判断其返回值,为了保证隐蔽性,调用中断的参数与返回值都十分特
    殊,需将其记下. 也可能是CALL内存中某一固定位置,不过此方法不保
    险,故很少用. 无论如何,分析病毒体的起始段,将安装较验依样画葫
    芦抄下, 这是检验内存中是否有病毒驻留的主要方法.

        .病毒保存数据的位置  这个位置是用来保存COM中被修改的指令
    或EXE文件头中的被修改数据的, 恢复文件是要用. 一般的说来,病毒
    先进行安装较验, 若已驻留, 则将数据恢复或进行其它处理,使得程序
    部分能够正常执行. 也就是说, 这些数据将被用到, 而后病毒执行JMP
    指令...

        .病毒特征码  一个病毒可以提取出特征码的原因是病毒是一段不
    断被复制的程序,其中有大量数据不会改变, 提取足够长的特征码以达
    到识别病毒的目的,注意被提取的是纯代码,不要混入数据.

--未完待续--

                 \
  ----------------\--
  --- 钻石星尘拳   -----
  ----------------/--
                 /

※ 修改:·Iceriver 於 Aug 15 23:49:08 修改本文·[FROM:   202.120.5.219]
※ 来源:·饮水思源站 bbs.sjtu.edu.cn·[FROM: 202.120.5.219]

--
※ 来源:·哈尔滨紫丁香站 bbs1.hit.edu.cn·[FROM: bbs@bbs.orange.sjtu.] 
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.136毫秒