实验3报告1主要探讨了PE病毒的分析与清除,涵盖了多个关键知识点,旨在让学生了解PE病毒的基本原理,熟悉其中的关键技术,并学会清除PE病毒。以下是详细的实验内容和知识点解析: **1. PE文件结构理解** - **MZ和PE标志位**:在PE文件的头部,存在MZ和PE标志位,用来识别文件是否是PE格式。MZ标志源于早期的DOS可执行文件,PE则代表Windows的Portable Executable格式。 **2. API函数地址定位** - **动态链接库(DLL)**:如kernel32.dll是Windows操作系统的一个核心动态链接库,包含了许多系统级API函数。 - **ollydbg调试器**:是一个流行的反汇编和动态调试工具,用于查找API函数地址。通过打开目标文件HelloWorld.exe,在ollydbg中可以找到kernel32.dll模块的基地址,然后进一步定位到LoadLibraryA和GetProcAddress等函数的内存地址。 **3. 病毒重定位** - **病毒代码插入**:为了模拟病毒行为,需要在HelloWorld.exe中插入一段代码,这段代码能弹出特定对话框,并且可以在.text节的任意位置插入,无需修改代码中的字节。这涉及到了代码注入和重定位技术,确保代码能在不同的内存地址正常执行。 **4. API调用** - **LoadLibraryA和GetProcAddress**:这两个API函数是Windows编程中常用的。LoadLibraryA加载指定的动态链接库,GetProcAddress则获取库中特定函数的地址,这对于动态调用函数非常有用。 **5. PE病毒感染分析** - **病毒感染过程**:在感染例子程序中,病毒会在目标文件中插入自身代码,通常会修改入口点,改变原程序的执行流程。实验要求分析病毒如何在感染文件时操作,以及它如何在完成感染后恢复到宿主程序的执行(即如何返回HOST)。 **6. 病毒清除** - **问题识别和解决**:分析教材中的感染例子,找出可能存在的问题,例如过度修改PE头信息、破坏原有代码结构等,并尝试修复这些问题,实现病毒的有效清除。 实验过程中,学生还需要学习如何使用masm32编译器编写和反汇编代码,理解批处理程序的功能,以及通过反汇编代码分析程序的行为,这些都是PE病毒分析的基础技能。此外,实验还强调了实验体会和拓展思路的撰写,鼓励学生反思实验过程,思考如何将所学应用到更广泛的场景中。 通过这个实验,学生不仅掌握了基础的病毒分析技巧,也锻炼了动手能力和问题解决能力,为进一步深入研究PE病毒的检测和防护打下了坚实的基础。
2025-04-15 14:11:03 843KB
1
1. 定位程序中的溢出点 2. 编写 shellcode 3. 利用 metasploit 实现漏洞利用 1. 了解 GS 的原理以及 Windows 中异常处
2022-08-04 14:00:20 1.49MB 网络安全 软件/插件 安全
1
华中科技大学网络空间安全学院19级软件安全实验报告及代码
2021-10-25 16:00:13 4.22MB 软件安全 华中科技大学
1
PE格式分析报告,里面提供了PE格式的结构,和各个段的功能描述
2021-10-09 23:44:13 508KB 软件安全实验
1