b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

文件型病毒一般感染 PE文件型病毒[含样本]

电脑杂谈  发布时间:2018-02-06 06:08:08  来源:网络整理

文件型病毒一般感染_文件型病毒运作在_文件型病毒分为?

文件型病毒一般感染

之前分享了关于病毒的的一些小知识,有坛友对PE文件病毒比较感兴趣,于是,把之前学过的PE文件型病毒知识整理分享一下。

是Windows系统病毒之一,在安全模式下可以删除。

该病毒是将可执行文件的代码中程序入口地址改为病毒的程序入口,这样就会导致用户在运行的时候执行病毒文件,这是黑客比较常用的方式。

:如何判断一个文件是否为PE文件?

1、检验文件头部第一个字的值是否等于MZ,如果是,则DOS头有效。

2、用DOS头的字段e_lfanew来定位PE头。

3、比较PE透的第一个双字的值是否等于45500000H(PE\0\0)。

#定义局部变量
IMAGE_DOS_HEADER  dos_header;
IMAGE_NT_HEADER  nt_header;
CFile fp;
fp.Read(&dos_header,sizeof(dos_header)); 
If(dos_header.e_magic!=0x5A4D) #用DOS头的字段e_lfanew来定位PE头。
{…..}
fp.Seek(dos_header.e_lfanew,CFile::begin);

if(nt_header.Signature!=0x00004550) #比较PE透的第一个双字的值是否等于45500000H(PE\0\0)。

定位、获取API函数、搜索目标文件、感染、破坏。

病毒是在宿主的运行环境下运行,所以无法像在自己本身的运行环境下一样访问自己的静态(全局)变量的数据和直接调用系统API。

(1)判断目标文件开始的两个字节是否为“MZ”;
(2)判断PE文件标记“PE”;
(3)判断感染标记,如果已被感染过则跳过这个文件,否则继续;
(4)获得Directory(数据目录)的个数,每个数据目录信息占8个字节;
(5)得到节表起始位置:Directory的地址+数据目录占用的字节数=节表起始位置;
(6)得到目前最后节表的末尾偏移(紧接其后用于写入一个新的病毒节):
节表起始位置+节的个数×(每个节表占用的字节数28H)=目前最后节表的末尾偏移
(7)开始写入新的节表项
①写入节名(8字节);
②写入节的实际字节数(4字节);
③写入新节在内存中的开始偏移地址(4字节),同时可以计算出病毒入口位置:
上节在内存中的开始偏移地址+(上节大小/节对齐+1)×节对齐
④写入新节(即病毒节)在文件中对齐后的大小;
⑤写入新节在文件中的开始位置:
上节在文件中的开始位置+上节对齐后的大小(8) 修改映像文件头中的节表数目
(9)修改AddressOfEntryPoint(即程序入口点指向病毒入口位置),同时保存旧的AddressOfEntryPoint,以便返回HOST继续执行。
(10)更新SizeOfImage(内存中整个PE映像尺寸=原SizeOfImage+病毒节经过内存节对齐后的大小);
(11)写入感染标记(可以放在PE头中);
(12)写入病毒代码到新节指向的文件偏移中。

病毒要用到变量,在病毒感染host程序后,由于它依附到host程序中的位置各不

相同,因此病毒随着host载入内存后,病毒中的各个变量在内存中的位置会随着host程序的位置而发生变

化,因此,病毒程序要能正常使用变量。必须采用重定位技术。

1.call指令跳转到下一条指令,使下一条指令感染后在内存中的实际地址进栈。

2.用pop EXX,[ESP]指令取出栈顶内容,得到感染后下一条指令内存中的实际地址Base。

3.varstart为感染前call指令的下一条指令地址,varlable为感染前变量地址,则感染后var实际地址为(Base-Offset varstart)(基


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-65351-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 任丽丽
      任丽丽

      纯网时代下的新生代经济——给新生代偶像搭建了一个全方位展示其商业价值的平台

    • 李玉婷
      李玉婷

      坐等上映

    每日福利
    热点图片
    拼命载入中...