计算机pe病毒的感染过程,感染型PE病毒分析与专杀修复工具的开发.pdf

70 现代制造技术 与装备 2014 6 期 总 223 期

感染型PE 病毒分析与专杀修复工具的开发

李西山

(临沂市人民医院,临沂 276003 )

摘 要:本文对感染技术在病毒发展过程中的地位进行了分析、然后重点分析感染式病毒,针对感染式病

毒的难以检测和清除以及对可执行文件的破坏,本文提出了对特定的感染式病毒编写相应的专杀及修复工具,

实现无损失的清除病毒及修复被感染文件。

关键词:病毒 PE 感染式

1 研究背景

计算机病毒分类有很多,如后门、蠕虫、下载者,感染

[ 1]

型病毒 。感染型病毒与其他病毒的一个最大的不同点是

它会感染可执行文件,在运行可执行文件时,会先启动病

毒程序。目前杀毒软件清理病毒的方式一般是删除,但是 图 1 解密部分

这种方式对感染型病毒是没有意义的。由于杀毒软件检

测病毒的方式还是以特征码检测为主,导致被感染的正

常软件也会被检测为病毒,造成无法清除。我认为针对这

种病毒,第一方法是预防,安装带有行为检测的安全软

件;第二个方法,就是针对每个变种,进行分析,编写相应

图2 获取函数地址

的修复程序,将被感染的正常软件,修复正常。通过这类

获取所有函数地址结束后,得到的函数地址,如图3 。

程序的编写,一方面可以更好的理解感染型病毒的运行

过程,提高自己的分析能力;另一方面,可以做到不丢失

数据,修复还原数据,也可以避免重装系统,根本性的解

决问题。

1.1 静态分析

静态分析最大的优势在于可以不运行程序,一方面可

以做到计算机不被感染,另一方面对于一些被破坏,导致

[ 2]

无法运行的样本也可以进行分析 。

在分析之前,先在虚拟机中,运行样本,使其感染几个

可执行文件,以便用来提取信息并进行共同特点的查找,

执行完毕后,得到四个被感染的可执行文件分别为: 图3 函数地址列表

Virpecomp .ex$ 、VirTest .ex$ 、VirCrackMe .ex$ 、VirHash .ex$ ( 上面的函数可以得到,样本会对文件、注册表进行

于怕无意间将其运行,于是将后缀修改为ex$ )。 操作。

1.2 动态分析 (3 )生成缓存文件。通过函数 GetTickCount 函数当前

动态分析指的是使用 OD 载入程序,然后通过 int3 中 系统时间,并根据时间生成三个随即字母作为缓存文件

断单步执行样本,并显示当前寄存器、反汇编代码、内存、 的文件名,后缀为.tmp ,通过函数 GetTempFileNameA 来获

堆栈等信息,通过对这些信息的判断、分析来判断当前程 取缓存文件夹路径 ,每次通过 ReadFile 来读取样本中

序在进行什么样的操作,当前系统的状态等。 0x2800 字节的数据到内存中,并进行解密,得到可执行文

(1 )解密代码。图 1 是刚载入样本的最初几行代码, 件代码,使用 WriteFile 写入到生成的新文件中,循环多

可以很明显的看出是对数据进行的异或解密,以双字为 次,将数据全部写入新文件。

单位,以 0xAD766E 为密钥,从地址 0x452018+0x6C4 处开 (4 )载入新生成的文件。生成新的文件后 ,使用

始解密到0x4520 18 地址处。 LoadLibraryA 来载入新生成的文件,并调用 GetProcAddress

(2 )动态获取函数地址。调用 LoadLibraryA 载入动态 获取载入模块中的Initate 函

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值