从汇编指令到恶意样本,构建 Windows 平台的安全分析底层逻辑

很多安全初学者在接触实战时,往往止步于工具的使用,却忽略了样本背后的运行机制。本课程聚焦于 Windows 平台下的逆向工程与恶意代码分析,旨在解决“知其然不知其所以然”的能力缺口。课程并不泛泛而谈,而是严格限定在 x86 架构与 Windows 环境下,从最底层的 x86 汇编指令讲起,逐步深入到 C/C++ 代码的逆向还原、PE 文件结构解析,以及硬编码与加壳脱壳等关键技术。这些内容是理解恶意代码行为的基础,只有掌握了这些底层逻辑,才能在后续的恶意代码分析中不被表象迷惑,真正看懂代码意图。

具备 C/C++ 阅读基础,建议优先夯实汇编与 PE 结构

本课程更适合已经掌握 C/C++ 基础语法,或者至少了解程序运行原理的学习者。如果你对内存管理、函数调用栈以及二进制文件格式(如 .exe、.dll)完全没有概念,直接分析恶意代码会非常吃力。建议在正式进入恶意样本分析之前,先重点理解课程中关于 x86 汇编基础、C/C++ 逆向分析以及 PE 结构的章节。这些模块是分析恶意软件的“解剖刀”,只有先学会如何拆解一个正常的程序,才能在遇到恶意代码时快速定位关键逻辑。对于硬编码和加壳脱壳的学习,可以结合实际软件进行练习,重点掌握脱壳工具的使用原理,而不是死记硬背命令。

掌握静态与动态分析,独立完成恶意样本的溯源与鉴定

通过本课程的学习,你将能够独立完成恶意样本的静态与动态分析。具体而言,你应具备从汇编层面还原恶意代码逻辑的能力,能够识别并分析 PE 文件中的关键结构,并能使用脱壳技术去除保护层,还原真实代码。在恶意代码分析环节,课程将通过实际案例,演示如何追踪恶意软件的运行路径、分析其行为特征,并最终判断其类型与危害。学完本课程,你应该能够回答:如何通过汇编指令反推程序的原始逻辑?如何识别并破解常见的软件加壳技术?如何对一个未知的恶意样本进行结构分析与行为验证?这些能力的掌握,将为你未来从事恶意代码分析工程师或安全分析工程师岗位打下坚实的实战基础。

配合实战案例与调试工具,进行针对性的代码阅读练习

为了巩固所学知识,建议在阅读课程内容的同时,配合使用调试工具(如 OllyDbg、x64dbg 等)对提供的案例样本进行反复调试。不要只看视频或文档,一定要亲手在调试器中单步执行、观察内存变化和寄存器状态。针对课程中提到的加壳脱壳技巧,可以找一些开源的加壳工具自行加壳,然后尝试用课程中学到的方法进行脱壳,验证分析结果。通过这种“理论+实操”的方式,将抽象的逆向工程概念转化为具体的分析能力,确保在遇到真实威胁时能够从容应对。

课程介绍

逆向工程与恶意代码分析这门课程,从两方面进行了讲解: (1)逆向工程: 逆向工程涉及的技术种类繁多,本阶段的课程主要侧重于基于x86架构的Windows平台下的相关内容,如x86汇编基础、C/C++逆向分析、 PE结构、硬编码、软件加壳脱壳等知识,为恶意代码分析的学习打好基础。 (2)恶意代码分析: 恶意代码分析是逆向工程的一个分支,本阶段的课程主要以实际的案例来讲解恶意代码的分析过程。 日后从业方向: 恶意代码分析工程师,安全分析工程

课程目录

逆向工程.jpg   2024-3-2 21:17 上传 课程介绍: 逆向工程与恶意代码分析这门课程,从两方面进行了讲解: (1)逆向工程: 逆向工程涉及的技术种类繁多,本阶段的课程主要侧重于基于x86架构的Windows平台下的相关内容,如x86汇编基础、C/C++逆向分析、 PE结构、硬编码、软件加壳脱壳等知识,为恶意代码分析的学习打好基础。 (2)恶意代码分析: 恶意代码分析是逆向工程的一个分支,本阶段的课程主要以实际的案例来讲解恶意代码的分析过程。 日后从业方向: 恶意代码分析工程师,安全分析工程 课程目录: 课时1:课程介绍.mp4 课时2:破解第一个小程序.mp4 课时3:通用寄存器.mp4 课时4:内存.mp4 课时5:小端存储模式.mp4 课时6:小端存储模式练习.mp4 课时7:字符串存储.mp4 课时8:修改软件标题.mp4 课时9:lea 指令.mp4 课时10:常用的汇编指令.mp4 课时11:堆栈相关的汇编指令.mp4 课时12:修改EIP寄存器的指令.mp4 课时13:汇编版本的Hello World.mp4 课时14:EBP寻址.mp4 课时15:EBP寻址练习.mp4 课时16:有符号和无符号.mp4 课时17:EFLAGS寄存器.mp4 课时18:暴力破解010Editor.mp4 课时19:全局变量、局部变量内存布局.mp4 课时20:调用约定.mp4 课时21:IDA的使用.mp4 课时22:分支语句逆向分析.mp4 课时23:Switch语句逆向分析.mp4 课时24:循环语句逆向分析.mp4 课时25:数组反汇编识别.mp4 课时26:指针反汇编识别.mp4 课时27:非暴力破解CreackMe.mp4 课时28:绕过u-key 校验.mp4 课时29:.NET程序破解.mp4 课时30:前缀指令.mp4 课时31:定长指令与变长指令.mp4 课时32:经典变长指令.mp4 课时33:特殊变长指令.mp4 课时34:SIB.mp4 课时35:花指令和指令变形.mp4 课时36:PE结构.mp4 课时37:PE节表.mp4 课时38:FileBuffer 与 ImageBuffer.mp4 课时39:任意节添加代码.mp4 课时40:新增节添加代码.mp4 课时41:扩大节-合并节.mp4 课时42:动态链接库.mp4 课时43:导出表.mp4 课时44:重定位表.mp4 课时45:导入表.mp4 课时46:IAT表.mp4 课时47:傀儡进程.mp4 课时48:脱壳基础练习.mp4 课时49:Upack 0.39final(xp环境下).mp4 课时50:Nspack3.7(xp环境下).mp4 课时51:ASPack2.29(取消随机基址).mp4 课时52:ASPack 2.12 (随机基址).mp4 课时53:ACProtect2.0.mp4 课时54:FSG 2.0.mp4 课时55:未知加密壳.mp4 课时56:恶意代码的种类以及分析环境介绍.mp4 课时57:自我创建调试子进程.mp4 课时58:内存镜像.mp4 课时59:dll 注入.mp4 课时60:代码注入.mp4 课时61:HOOK.mp4 课时62:反虚拟机.mp4 课时63:静态反调试.mp4 课时64:动态反调试技术.mp4 课时65:恶意代码持久化.mp4 课时66:隐藏专题.mp4 课时67:网络流量分析.mp4 课时68:取证案例分享.mp4 课时69:ruky勒索软件分析.mp4 课时70:ruky分析加密流程.mp4 课时71:傀儡进程脱壳.mp4 课时72:加载的资源dump.mp4 课时73:反混淆样本分析.mp4 资料目录: 01 PE结构.rar 01 PE结构_2.rar 01恶意代码的种类以及分析环境介绍.rar 01 静态反调试技术.rar 01 傀儡进程.rar 01自我创建.rar 02 PE 节表.rar 02动态反调试技术.rar 02内存镜像.rar 03dll 注入.rar 03 FileBuffer 与 ImageBuffer.rar 03恶意代码持久化专题.rar 03 经典变长指令_ModRM.xlsx 04 Nspack3.7(xp环境下).rar 04 代码节空白区添加代码.rar 04代码注入.rar 04 特殊变长指令_RegOpcode.xls 04隐藏专题.rar 05 ASPack2.29(取消随机基址).rar 05 SIB.xls 05网络流量数据分析专题.rar 05 新增节添加代码.rar 06 ASPack 2.12 (随机基址).rar 06HOOK.rar 06反虚拟机.rar 06 扩大节-合并节.rar 06内存取证.rar 07 ACProtect2.0.rar 07 动态链接库.rar 08 FSG 2.0.rar 08 导出表.rar 09 未知加密壳.rar 09 重定位表.rar 10 导入表.rar 12 EBP寻址逆向分析 (1).txt 12 EBP寻址逆向分析.txt 13 有符号无符号案例.txt 13 有符号无符号手稿.txt 16 全局变量、局部变量内存布局.rar 17 调用约定.rar 18 IDA的使用.rar 19 分支语句逆向分析.rar 20 Switch语句逆向分析课件 (1).txt 20 Switch语句逆向分析课件.txt 21 循环语句逆向分析.rar 22 数组反汇编识别-堆栈溢出 (1).txt 22 数组反汇编识别-堆栈溢出.txt 23 指针反汇编识别(三).txt 24 非暴力破解CreackMe.rar 24非暴力破解CreackMe.rar 26 .NET程序破解.rar ImportTable2.rar Upack 0.39final(xp环境下).rar 花指令和指令变形专题.rar 某资产管理软件.rar 脱壳工具.rar 脱壳基础练习程序(