人工精选x86/x64软件逆向分析【提高篇】
解决什么问题:看懂编译器优化后的真实逻辑 很多做过基础逆向的人都有过这种困惑:明明懂汇编、也能跟单步调试,可一碰到开了高级优化的程序就彻底晕头转向。变量被塞进了寄存器不再走内存,循环被展开,普通的标量运算被换成了看不懂的向量化指令。这门提高篇针对的就是这个断层。它不教怎么用工具抓包,也不讲基础的脱壳
会员 · 按档位
游客按标价购买,不享受上表折扣。
支付成功后自动发放网盘链接,链接失效可找客服免费补
解决什么问题:看懂编译器优化后的真实逻辑
很多做过基础逆向的人都有过这种困惑:明明懂汇编、也能跟单步调试,可一碰到开了高级优化的程序就彻底晕头转向。变量被塞进了寄存器不再走内存,循环被展开,普通的标量运算被换成了看不懂的向量化指令。这门提高篇针对的就是这个断层。它不教怎么用工具抓包,也不讲基础的脱壳找入口,而是专门解决“程序被编译器优化后逻辑面目全非,怎么把它读明白”这个具体场景。如果你在分析恶意代码、做漏洞挖掘、或者排查闭源库的深层逻辑时,经常卡在一段面目可憎的汇编上推不出原本的高级代码,那这份资料对你就是刚需。
适合什么基础与建议先看哪几块
这绝不是给零基础准备的。你得先有扎实的 x86 汇编阅读能力,清楚函数调用约定、堆栈帧的基本变化,并且用过主流反汇编工具。资料里的内容直接切入机器码到汇编的转换机制,以及 SIMD 指令在逆向中的识别。建议先把机器码转换这两节作为热身,这部分能帮你理解反汇编器是怎么工作的,后续遇到指令解析错误时自己能排查。之后直接跳到 SIMD 指令相关的内容,这是整个提高篇的核心难点。编译器在处理密集计算时会大量插入这类指令,先搞懂编译器内置的 SIMD 支持逻辑,再反过来看程序里那些成批出现的向量寄存器操作,思路会清晰很多。
学完能独立做什么与资料怎么配合练习
学完之后,你面对一个开启了 O2 甚至更激进优化级别的二进制程序,能够独立梳理出它被优化前的代码结构。具体来说,你能从一长串寄存器倒腾和向量运算中,还原出原本的循环边界和数组处理逻辑,能准确判断哪些是编译器自动插入的无用对齐,哪些是程序自身的核心算法。在看资料时,不要只用眼睛过一遍视频。强烈建议拿资料里提到的编译器,自己写几段包含数组遍历和数学计算的 C 代码,分别用无优化和最高优化级别编译出二进制。然后对照着课程里的分析思路,自己在反汇编工具里去跟这些指令。只有自己动手把真实的机器码一步步拆解过,才能真正把识别优化逻辑变成肌肉记忆,不至于看完就忘。
课程目录
课程目录60 集
- 1-1 [x86/x64软件逆向分析【提高篇】] 课前准备&工具安装与配置开始学习(1) (17:06).mp4
- 1-2 [x86/x64软件逆向分析【提高篇】] 课前准备&工具安装与配置开始学习(2) (10:31).mp4
- 1-3 [x86/x64软件逆向分析【提高篇】] 如何将机器码转成汇编代码(1) (12:50).mp4
- 1-4 [x86/x64软件逆向分析【提高篇】] 如何将机器码转成汇编代码(2) (18:34).mp4
- 1-5 [x86/x64软件逆向分析【提高篇】] 程序的优化编译与SIMD指令(1) (12:36).mp4
- 1-6 [x86/x64软件逆向分析【提高篇】] 程序的优化编译与SIMD指令(2) (17:56).mp4
- 1-7 [x86/x64软件逆向分析【提高篇】] 编译器内置的SIMD指令支持(1) (12:21).mp4
- 1-8 [x86/x64软件逆向分析【提高篇】] 编译器内置的SIMD指令支持(2) (17:49).mp4
- 1-9 [x86/x64软件逆向分析【提高篇】] X86X64平台中寄存器的使用(1) (13:34).mp4
- 1-10 [x86/x64软件逆向分析【提高篇】] X86X64平台中寄存器的使用(2) (09:35).mp4
- 1-11 [x86/x64软件逆向分析【提高篇】] X86X64平台中的浮点数计算(1) (11:42).mp4
- 1-12 [x86/x64软件逆向分析【提高篇】] X86X64平台中的浮点数计算(2) (12:46).mp4
- 1-13 [x86/x64软件逆向分析【提高篇】] 数字的存储与内容解析(1) (11:39).mp4
- 1-14 [x86/x64软件逆向分析【提高篇】] 数字的存储与内容解析(2) (11:54).mp4
- 1-15 [x86/x64软件逆向分析【提高篇】] 不可逆算法与哈希函数(1) (11:42).mp4
- 1-16 [x86/x64软件逆向分析【提高篇】] 不可逆算法与哈希函数(2) (08:46).mp4
- 1-17 [x86/x64软件逆向分析【提高篇】] 经典程序剖析:“温度转换”(1) (10:44).mp4
- 1-18 [x86/x64软件逆向分析【提高篇】] 经典程序剖析:“温度转换”(2) (08:29).mp4
- 1-19 [x86/x64软件逆向分析【提高篇】] 经典程序剖析:“斐波那契数列” (09:17).mp4
- 1-20 [x86/x64软件逆向分析【提高篇】] 经典程序剖析:“循环冗余校验码” (12:43).mp4
- 1-21 [x86/x64软件逆向分析【提高篇】] 经典程序剖析:“循环冗余校验码”原理以及手算(1) (09:50).mp4
- 1-22 [x86/x64软件逆向分析【提高篇】] 经典程序剖析:“循环冗余校验码”原理以及手算(2) (11:28).mp4
- 1-23 [x86/x64软件逆向分析【提高篇】] 经典程序剖析:CRC-8软件编码 (17:58).mp4
- 1-24 [x86/x64软件逆向分析【提高篇】] 经典程序剖析:CRC-32MPEG-2软件编码 (16:42).mp4
- 1-25 [x86/x64软件逆向分析【提高篇】] 经典程序剖析:CRC-32软件编码 (16:02).mp4
- 1-26 [x86/x64软件逆向分析【提高篇】] 经典程序剖析:网络地址计算(1) (12:02).mp4
- 1-27 [x86/x64软件逆向分析【提高篇】] 经典程序剖析:网络地址计算(2) (14:32).mp4
- 1-28 [x86/x64软件逆向分析【提高篇】] 循环与迭代器的优化 (12:07).mp4
- 1-29 [x86/x64软件逆向分析【提高篇】] 经典程序剖析:神奇的达夫装置 (17:18).mp4
- 1-30 [x86/x64软件逆向分析【提高篇】] 经典程序剖析:除法变乘法 (15:38).mp4
- 1-31 [x86/x64软件逆向分析【提高篇】] 经典程序剖析:字符串转数字 (21:14).mp4
- 1-32 [x86/x64软件逆向分析【提高篇】] 内联函数VS反编译器(1) (17:50).mp4
- 1-33 [x86/x64软件逆向分析【提高篇】] 内联函数VS反编译器(2) (09:53).mp4
- 1-34 [x86/x64软件逆向分析【提高篇】] 受限指针的使用(1) (10:48).mp4
- 1-35 [x86/x64软件逆向分析【提高篇】] 受限指针的使用(2) (14:22).mp4
- 1-36 [x86/x64软件逆向分析【提高篇】] 变长参数函数实现机制(1) (16:04).mp4
- 1-37 [x86/x64软件逆向分析【提高篇】] 变长参数函数实现机制(2) (11:22).mp4
- 1-38 [x86/x64软件逆向分析【提高篇】] 经典程序剖析:字符串修剪(1) (10:37).mp4
- 1-39 [x86/x64软件逆向分析【提高篇】] 经典程序剖析:字符串修剪(2) (09:43).mp4
- 1-40 [x86/x64软件逆向分析【提高篇】] 经典程序剖析:字符大小写转换(1) (09:43).mp4
- 1-41 [x86/x64软件逆向分析【提高篇】] 经典程序剖析:字符大小写转换(2) (09:43).mp4
- 1-42 [x86/x64软件逆向分析【提高篇】] 如何识别错误的反汇编代码 (07:17).mp4
- 1-43 [x86/x64软件逆向分析【提高篇】] 代码混淆:字符串变换技术 (18:27).mp4
- 1-44 [x86/x64软件逆向分析【提高篇】] 代码混淆:打乱汇编代码(1) (16:19).mp4
- 1-45 [x86/x64软件逆向分析【提高篇】] 代码混淆:打乱汇编代码(2) (18:10).mp4
- 1-46 [x86/x64软件逆向分析【提高篇】] C++类的结构(1) (12:21).mp4
- 1-47 [x86/x64软件逆向分析【提高篇】] C++类的结构(2) (15:01).mp4
- 1-48 [x86/x64软件逆向分析【提高篇】] C++类的结构(3) (06:57).mp4
- 1-49 [x86/x64软件逆向分析【提高篇】] C++类实例的内存存储方式 (15:49).mp4
- 1-50 [x86/x64软件逆向分析【提高篇】] C++类实例的反汇编(1) (13:30).mp4
- 1-51 [x86/x64软件逆向分析【提高篇】] C++类实例的反汇编(2) (10:42).mp4
- 1-52 [x86/x64软件逆向分析【提高篇】] C++类的继承(1) (16:03).mp4
- 1-53 [x86/x64软件逆向分析【提高篇】] C++类的继承(2) (13:40).mp4
- 1-54 [x86/x64软件逆向分析【提高篇】] C++类的多重继承 (14:22).mp4
- 1-55 [x86/x64软件逆向分析【提高篇】] C++类的虚方法(1) (20:45).mp4
- 1-56 [x86/x64软件逆向分析【提高篇】] C++类的虚方法(2) (07:32).mp4
- 1-57 [x86/x64软件逆向分析【提高篇】] C++类虚方法的继承 (16:20).mp4
- 1-58 [x86/x64软件逆向分析【提高篇】] C++类虚方法的多重继承(1) (16:41).mp4
- 1-59 [x86/x64软件逆向分析【提高篇】] C++类虚方法的多重继承(2) (12:15).mp4
- 1-60 [x86/x64软件逆向分析【提高篇】] C++虚函数的用途 (12:33).mp4





