1. 实验目的和要求

在理解PE文件以及壳的工作原理基础上,对目的PE文件进行处理,增加节,并写入符合加密壳功能的代码,修改PE文件入口地址、修改节属性,达到加密壳的功能。

分析文件型病毒的原理;了解文件型病毒的发现方法,能利用OD等工具分析PE病毒,并通过手工方式进行病毒查杀;分析病毒专杀工具的基本设计方法。

1. 实验步骤

壳部分

  • 对原始可执行文件RawPE.exe的代码节进行加密,得到EnPE.exe(已完成);

密码算法:异或;密钥0XCC,与原始可执行文件RawPE.exe比较,分析加密了几个字节?

.text部分开始地址为00001000H,然后用winhex打开该文件,跳到00001000H处,与原始可执行文件RawPE.exe的代码节相比较,可以发现加密了两个字节。

增加节(已完成);与原始可执行文件RawPE.exe比较,增加了几个节,该节大小是多少?

增加了一个节,该节大小是1000H

③ 修改代码节的属性与程序的入口点;

要将解密的代码增加到新增加的节里,新的入口点地址为新增加节区的起始地址,而新增加的节.PACK的起始地址是00004000H,因此在PEditor中修改文件入口点为00004000H。

修改一下入口地址

在增加的节中写入解密代码。

然后将其
dump出来,修改pack的属性

然后将其dump出来,修改pack的属性

病毒分析部分

1、 验证利用OllyDBG修改病毒感染程序(1)进入实验目录C:\ExpNIS\AntiVir-Lab\VirusExp\Filevirus(2)将目录C:\ExpNIS\AntiVir-Lab\Virus\LaborDayVirus中的LaborDayVirus.exe也复制到text目录中(3)然后将系统时间调整为5月1号,然后在运行出现以下界面

放入OD看到以下提示

找到最后一个jmp看到eax的值

脱壳出来的这两exe
文件我没有勾选,重建输入表

这两程序没问题重建输入表出现了问题

病毒感染机制分析

OEPImageBase
hei0.ex_0000100000400000
hei.ex_0000320000400000

这里没有点开那个重建表的exe,BOF还有额外的data

Virtual SizeVirtual AddressSize of Raw DataPoint to Raw Data
hei0.ex_的.data00001A000040300000001A0000000300
hei.ex_的.data00001A000040300000001A0000000800

进入实验平台,单击工具栏中“UE”按钮,打开Ultra Editor,

由以上图可以看到

可以发现在hei.ex_文件的0xa00处开始的数据块为存储于.data节的病毒代码

  1. 手工查杀

(1)查找病毒寄存特征。

入口点在代码节(.text)之外,病毒代码存储于最后一节、且在病毒代码段后的一个双字为原程序代码入口RVA(在.text节范围内)。

(2)查找原程序入口点。

(3)修改程序入口点为原程序入口点。

4)修改病毒感染的最后一个节表的SizeOfRawData,使之大小变为去掉病毒代码时的大小。

(5)修改PE文件选项头中的SizeOfImage为去掉病毒代码后的大小。

(6)清除病毒代码数据。


(7)保存清除病毒代码后的文件。

Categories:

Tags:

No responses yet

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注