成绩 |
《实验3:变形恶意代码》
实验报告
目录
1.任意编写一个程序,用Visual Studio 2022 3
3.再次用OD打开修改后的EXE,发现病毒变了,代码莫名其妙了。 7
一、实验目标
理解变形的原理,学会病毒实现方法
二、实验工具
1. OD(动态分析工具)
2. Visual Studio 2022
三、实验内容
1.任意编写一个程序,用Visual Studio 2022
用LordPE进行分析,查看程序入口点
首先,在exe文件寻找空白区(一段00代码),用lord PE变换该空白区域在内存区的起始VA。空白区VA为0x006F1E40
接着,编写指令实现对EXE的加密,假设原始EXE文件大小40字节,那么就对这40字节按字节做异或操作。原始exe开始字节地址为0x006F12BC
mov eax, 0x44444444 ; 加密密码
mov edx, 0x006F12BC ; 原始EXE文件开始字节地址
mov ecx, 30 ; 加密字节数,30字节
; 加密循环开始
jmp S1地址
pushad ; 保存寄存器状态
S0:
add edx, 0x25413652 ; 随机花指令,占8字节
popad ; 恢复寄存器状态
S1:
xor [edx], eax ; 对内存中的字节进行异或加密
inc edx ; 指向下一个字节
loop S1地址 ; 循环30次
add eax, ebx ; 修改eax的值以进行代码变异(随机值)
; 此处添加随机花指令
; 随机指令区间,确保在popad之前和之后写入
; ... (自行补全随机指令)
jmp 0x006F1E40 ; 跳转到加密后的程序入口
然后,在原EXE文件的结尾相邻处,添加指令 jmp 0x0x006F1E40。
最后,利用LordPE修改文件的入口点为00x006F1E40
3.再次用OD打开修改后的EXE,发现病毒变了,代码莫名其妙了。
每次使得给eax赋值的密钥随机,是多态病毒,每次都不一样。
实验心得
通过本次实验,首先了解到了恶意代码的本质和特点,以及一些常规的攻
击方式及其影响,逐步了解了变形的原理,学会其实现方法。在查询相关资料的
过程中,学会了如何查寻 PE 文件空白区。
标签:EXE,加密,字节,变形,恶意代码,OD,eax,实验 From: https://www.cnblogs.com/maqun/p/18517080