PE文件解析与免杀技术笔记

需积分: 10 6 下载量 66 浏览量 更新于2024-09-19 收藏 22KB TXT 举报
"免杀小手册1.2.3 - 自己免杀时的手记,包含杀软分析和PE分析等内容" 在计算机编程和逆向工程领域,了解PE(Portable Executable)格式至关重要,因为它是Windows操作系统中执行文件的标准格式。PE格式包括可执行文件(EXE)、动态链接库(DLL)和其他类型。以下是一些关于PE格式和免杀技术的关键知识点: 1. **PE结构**:PE文件由多个部分组成,包括DOS头、PE头、节表和实际数据。DOS头通常包含'MZ'标识符,表明这是一个PE文件。PE头接着DOS头,包含NT头(IMAGE_NT_HEADERS),其中包含文件头和选项头。文件头定义了文件类型(EXE或DLL),而选项头提供了有关PE文件的更多元数据。 2. **RVA(相对虚拟地址)与VA(虚拟地址)**:RVA是相对于PE文件起始位置的逻辑地址,不考虑内存中的物理位置。VA是RVA加上PE文件在内存中的基址,是实际内存中的地址。在PE文件中,大部分数据引用都是RVA,加载到内存后转换为VA。 3. **节表(Section Table)**:PE文件由多个节组成,每个节都有一个IMAGE_SECTION_HEADER结构。节表记录了这些节的信息,如名称、大小、属性和数据。节通常对应代码、数据或其他资源。 4. **免杀技术**:免杀是指通过修改PE文件来避免被反病毒软件检测的技术。这可能包括混淆代码、改变入口点、加密或压缩部分数据,以及利用PE结构的特性来隐藏恶意行为。 5. **HEX与ASCII/UNICODE**:在PE分析中,识别字符串的编码方式很重要。ASCII是单字节编码,每个字符占1个字节,而UNICODE是双字节编码,每个字符占2个字节。在检查PE文件时,通常需要查看HEX表示的原始数据以找到隐藏的字符串或指令。 6. **入口点(Entry Point)**:EXE文件的入口点是程序执行的起点,通常在PE头中指定。DLL的入口点则可以是导出函数之一,或者在特定的DLL初始化过程中调用。 7. **DLL注入**:一种常见的免杀技术,是将恶意DLL注入到已运行的进程中,以逃避静态分析。PE文件可能被设计成DLL,并通过各种方法(如CreateRemoteThread)在其他进程中加载。 8. **PE签名和证书**:为了验证PE文件的来源和完整性,可能会包含数字签名。免杀时,攻击者可能篡改或移除签名以绕过安全检查。 9. **反反汇编和反调试**:PE文件可能包含反反汇编和反调试技术,以防止静态或动态分析。例如,通过改变指令序列或添加异常处理来迷惑分析工具。 10. **混淆和加密**:为了使恶意代码更难理解,攻击者会混淆代码,使其看起来像随机数据,或者使用自解密技术,在运行时才解密真正意图的代码。 这些知识点是分析和逆向工程PE文件的基础,对于理解和对抗恶意软件至关重要。了解这些概念可以帮助安全专家更好地检测和防御潜在的威胁。