《Windows PE》11.2.1 PE变形技术

恶意软件使用PE变形技术来修改PE文件的结构和代码,以产生不同的变种,从而使每个实例看起来不同,难以被传统的基于特征的病毒检测技术所识别。

PE变形技术可能涉及以下几个方面:

●代码混淆:恶意软件使用各种技术,如指令替换、指令重排、无用代码插入等,来修改PE文件的代码,使其难以分析和识别。这样可以改变程序的控制流,增加分析的复杂性。

【注】我们将在PE加密壳一章详细讲解代码混淆。

●API重命名:恶意软件可能会修改PE文件中调用的系统API函数的名称,使其与正常的API名称不同。这可以使恶意软件的行为更难以检测,因为传统的防病毒软件通常会检查恶意软件是否调用已知的恶意API函数。

●动态链接:恶意软件可能会利用动态链接库(DLL)来加载恶意代码。这样可以使恶意软件变得更加模块化,同时也增加了分析和检测的复杂性。

【注】API重命名和动态链接我们已经在第九章动态加载中详细讲解过。

●数据加密:恶意软件可以使用加密算法对其内部的重要数据进行加密,以防止静态分析。在运行时,恶意软件会解密这些数据并使用它们来执行恶意操作。

【注】数据加密的方法我们将在PE病毒和加密壳两章详细讲解。

●文件格式修改:恶意软件可以修改PE文件的头部、节表、导入表等部分的结构和内容。这些修改可能与正常的PE文件格式规范不符,使恶意软件能够隐藏或混淆其行为。

PE变形技术是恶意软件作者用来逃避传统病毒检测的一种手段。为了对抗PE变形技术,防病毒软件需要不断更新其检测引擎和算法,以提高对新变种的检测能力。此外,行为分析和机器学习等技术也被广泛应用于检测和防御PE变形技术。

11.2.2 PE文件变形

结构重叠技术

结构重叠技术是指在不影响正常性能的前提下,将某些数据结构进行重叠的技术。

实验七十七:重叠技术

我们以汇编版的HelloWord.exe为例(简洁)。将NT头和DOS头重叠。

第一步:将HelloWord2.exe拖入WinHex内,然后将整个NT头包括节表复制到DOS头的0000000C地址处。

第二步:修改0000003C地址处DOS头e_lfanew 字段4个字节的值为0000000C,指向PE 文件标识“PE\0\0”。如下所示:

HelloWorld2.exe:

00000000   4D 5A 90 00 03 00 00 00  04 00 00 00 50 45 00 00   MZ..........PE..

00000010   4C 01 05 00 E3 F0 2D 66  00 00 00 00 00 00 00 00   L...沭-f........

00000020   E0 00 02 01 0B 01 0E 10  00 0E 00 00 00 14 00 00   ?..............

00000030   00 00 00 00 6B 12 00 00  00 10 00 00 0C 00 00 00   ....k...........

00000040   00 00 40 00 00 10 00 00  00 02 00 00 06 00 00 00   ..@.............

00000050   00 00 00 00 06 00 00 00  00 00 00 00 00 60 00 00   .............`..

00000060   00 04 00 00 00 00 00 00  02 00 40 81 00 00 10 00   ..........@.....

00000070   00 10 00 00 00 00 10 00  00 10 00 00 00 00 00 00   ................

00000080   10 00 00 00 00 00 00 00  00 00 00 00 3C 25 00 00   ............<%..

00000090   B4 00 00 00 00 40 00 00  E0 01 00 00 00 00 00 00   ?...@..?......

000000A0   00 00 00 00 00 00 00 00  00 00 00 00 00 50 00 00   .............P..

000000B0   44 01 00 00 30 21 00 00  70 00 00 00 00 00 00 00   D...0!..p.......

000000C0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................

000000D0   00 00 00 00 A0 21 00 00  40 00 00 00 00

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值