PE文件头变形技术探索

4星 · 超过85%的资源 需积分: 10 6 下载量 168 浏览量 更新于2024-07-30 收藏 1.95MB PDF 举报
"可执行程序(PE)变形技术" 本文深入探讨了可执行文件头(即PE文件头)的变形技术,这是针对PE文件进行混淆和免杀的一种策略。PE文件头包含了执行文件的运行和加载关键信息,因此是病毒和加密壳经常修改的目标,以逃避检测。 作者首先介绍了可执行文件头变形的基本概念,强调了这种技术如何使得PE读写工具无法正常处理文件。变形技术通常涉及对文件头的结构重叠、间隙制造与利用、以及特殊的加载方式。 在结构重叠部分,文章详细阐述了不同结构间的重叠现象,例如MiniPE.exe中的结构简化,PEHeaders和DOSHeader的重叠,DataDirectory与ImportTable的交错,以及SectionTable和ImportTable的重叠。这些重叠使得文件头的信息变得难以解析。 在结构中插入数据的章节,作者提到了可以填充任意值、特定范围值、有条件使用以及用作变量的不同域,并通过FillGap.exe实例展示了如何在这些域中操作。同时,还讨论了越界问题,这是变形技术中常见的手法,用于扩展或隐藏信息。 间隙的制造和利用是变形技术的核心之一。文章讲解了间隙一、间隙三和间隙二的利用方法,这些间隙可以被用来存放额外的数据或代码,从而改变PE文件的原有行为。 重叠加载和重复加载是另一种变形策略。重叠加载允许不同部分的代码或数据相互覆盖,而重复加载则是在同一内存空间内加载多次,形成复杂的数据结构,这在病毒和恶意软件中常用于混淆反病毒软件的分析。 最后,文章讨论了无节表和零充填节表的实现,这是一种更高级的变形技术,通过创建桥接结构来隐藏输入表,如双桥结构和单桥结构,增加了分析难度。 整体而言,这篇文稿为读者提供了一套系统性的PE文件头变形技术指南,适用于Windows 2000及其后续版本的系统,对于理解PE文件的变形机制和逆向工程具有很高的参考价值。通过这些技术,开发者可以更好地保护自己的软件免受恶意篡改,而安全研究人员则能更深入地理解病毒和恶意软件的隐藏手段。