课程名称: 汇编语言与逆向工程基础实战培训课程
培训对象: 安全研究员、恶意软件分析师、软件逆向工程师、对底层系统原理感兴趣的开发者。
培训目标:
掌握x86/x64汇编语言基础,能够阅读和理解汇编代码。
熟悉可执行文件结构(PE/ELF)和操作系统加载机制。
掌握静态分析和动态调试的基本工具和方法。
能够对简单程序进行逆向分析和逻辑还原。
培训内容介绍:
一、 计算机体系结构与汇编基础: 回顾CPU架构、寄存器体系、内存模型、栈帧结构,建立底层思维模型。
二、 x86/x64汇编语言精讲: 学习常用指令集(数据传输、算术运算、逻辑运算、控制转移),理解寻址方式和指令编码。
三、 汇编与高级语言的对应关系: 通过对比C语言代码和编译后的汇编,理解函数调用约定、局部变量分配、循环和条件分支的实现。
四、 可执行文件格式解析(PE/ELF): 深入解析Windows PE文件和Linux ELF文件结构,理解节区、导入表、导出表、重定位表的作用。
五、 静态分析工具使用(IDA Pro/Ghidra): 掌握IDA Pro和Ghidra的基本操作,学习函数识别、交叉引用、类型重建和注释添加。
六、 动态调试技术(x64dbg/OllyDbg/GDB): 学习使用调试器进行断点设置、单步执行、内存查看、寄存器修改和运行时分析。
七、 反调试技术与对抗方法: 了解常见的反调试技巧(API检测、时间差检测、断点扫描),学习基础的绕过策略。
八、 加壳与脱壳基础: 理解软件加壳的原理,使用工具(UPX)进行加壳和手动脱壳练习,定位原始入口点(OEP)。
九、 协议逆向与网络分析: 结合Wireshark抓包和反汇编分析,理解网络通信协议的逆向方法,还原自定义协议格式。
十、 恶意代码行为分析: 在沙箱环境中运行恶意样本,分析其文件操作、注册表修改、网络连接等行为特征。
十一、 补丁技术与软件修改: 学习修改二进制文件的方法,实现简单的功能跳转、NOP填充和代码注入。
十二、 逆向工程伦理与法律边界: 探讨逆向工程在安全研究、漏洞挖掘中的合法应用,强调道德规范和法律责任。