如果你在招聘网站上搜过"逆向工程师"或"安全研究员",会发现一个绕不开的门槛:汇编。不是大学课堂上那种8086实模式汇编,而是眼下真实的软件环境——x86_64架构、64位寄存器、System V调用约定。这门课要解决的,正是从"看得懂C代码"到"能读懂编译后二进制"之间那段最难自己摸索的路。

这门课适合谁,不适合谁

先说清楚边界,避免买完发现不对路。

适合的人:写过一点C或C++,能理解指针和内存模型,但没系统接触过汇编;或者做安全相关工作,遇到脱壳、漏洞分析、恶意样本研判时,只能靠工具黑盒跑,看不懂底层在干什么。这类学习者最需要的是一个能把"高级语言—汇编—机器码"三者对应关系讲透的材料,而不是零散的技术博客。

不太适合的人:完全没有编程基础,指望从零开始靠一门课直接做逆向。课程里带了C/C++的入门部分,但它的定位是补基础,不是替代一门完整的语言课。如果你的变量作用域、结构体内存布局这些概念还没建立,学起来会比较吃力,建议先把C语言过一遍再回来。

三块内容各自解决什么问题

整个资料分成三个部分,逻辑是先打地基再上楼。

C/C++入门部分,重点不在语法,而在于把源代码和内存的对应关系建立起来。数组、指针、结构体、函数栈帧这些东西,在C层面看是一回事,编译成汇编又是另一回事。这一块的真正价值是让你后面看汇编时,脑子里能自动还原出对应的C结构。

x86_64架构汇编部分,是整门课的主干。寄存器组、寻址方式、指令集、栈的操作、函数调用与返回的完整过程,这些是逆向分析的"字母表"。很多人卡在逆向门口,就是因为栈帧变化看不明白,函数参数怎么传、局部变量在哪、返回值放哪,全靠猜。这部分学扎实了,后面才谈得上分析。

软件逆向技术部分,是把前两块合起来用。从如何定位关键函数,到分析控制流、识别常见编译器生成的代码模式,再到动态调试的结合使用。这块内容偏实践,建议跟着动手,光看是学不会的。

学完之后能独立做什么

不夸大。认真过一遍并动手练习,比较现实的能力是:能看懂一个简单C程序编译出的汇编代码,能判断某个函数在做什么;面对一个没有符号的二进制文件,能用调试器找到关键逻辑位置并分析其行为;对常见的代码保护手段有基本认知,知道分析时的切入点在哪。

往深了走,漏洞挖掘、协议逆向、恶意代码分析这些方向,需要在这个基础上继续积累,课程本身不会让你一步到位。它提供的是底层能力和分析方法的框架。

给准备开始的人几点建议

  • 别跳过C/C++部分。哪怕你有编程经验,也建议快速过一遍,重点看内存布局和函数调用相关的章节,后面会反复用到。
  • 汇编部分切忌只看不练。找几个简单函数,自己写C代码、编译、反汇编、对照着看,比看十遍讲解都有用。
  • 逆向部分建议准备一个调试器环境,边学边跟。具体工具课程里会涉及,这里不展开。
  • 进度上不用赶。汇编的思维方式需要时间适应,一次消化不了的内容,隔几天回头看会顺畅很多。

这是一门偏硬核的底层课程,学习曲线不算平缓,但对方向明确的人来说,它补的是真正卡脖子的那块基础。

课程目录

课程目录93 集
  • 📁 01.C&C++零基础入门计划 01.C&C++零基础入门计划说明.png [493.5 KB] 00.Visual Studio 2022的安装与配置.mp4
  • [27.3 MB] 04.数据类型概述.mp4
  • [14.3 MB] 26.内存管理(C++版本).mp4
  • [24.1 MB] 17.dowhile循环.mp4
  • [6.3 MB] 21.指针基础.mp4
  • [22.5 MB] 10.算术运算符.mp4
  • [10.8 MB] 16.while循环.mp4
  • [9.1 MB] 30.函数指针与回调函数.mp4
  • [37.4 MB] 01.第一个C语言程序.mp4
  • [41.1 MB] 14.ifelse选择语句.mp4
  • [11.1 MB] 15.switch选择语句.mp4
  • [9.8 MB] 09.输入与输出.mp4
  • [17.7 MB] 20.数组.mp4
  • [28.4 MB] 29.使用指针作为参数和返回值.mp4
  • [27.6 MB] 19.goto语句.mp4
  • [6.0 MB] 22.指向一维数组的指针.mp4
  • [20.8 MB] 13.三目运算符.mp4
  • [8.6 MB] 06.变量生命周期与整型变量的存储.mp4
  • [24.5 MB] 12.关系与逻辑运算符.mp4
  • [15.8 MB] 03.内存的概念.mp4
  • [9.3 MB] 24.指向多维数组的指针.mp4
  • [17.6 MB] 18.for循环.mp4
  • [10.1 MB] 07.浮点型变量的定义与存储.mp4
  • [31.6 MB] 28.函数基础.mp4
  • [28.9 MB] 25.内存管理(C版本).mp4
  • [34.9 MB] 23.指向二维数组的指针.mp4
  • [20.2 MB] 05.变量与常量.mp4
  • [11.9 MB] 27.指针数组与二级指针.mp4
  • [32.4 MB] 11.位运算符.mp4
  • [17.6 MB] 08.字符与字符串类型变量.mp4
  • [25.0 MB] 02.进制与位.mp4
  • [22.4 MB] 📁 03.x86_64软件逆向技术 03.x86_64软件逆向技术资料.png [493.5 KB] 04.字符与字符串类型变量逆向.mp4
  • [53.1 MB] 20.三目运算符逆向.mp4
  • [15.0 MB] 08.二维数组逆向.mp4
  • [28.1 MB] 26.6case的switch语句逆向.mp4
  • [93.5 MB] 06.常量逆向.mp4
  • [17.1 MB] 19.赋值运算符逆向.mp4
  • [21.8 MB] 36.cdecl函数调用约定.mp4
  • [67.9 MB] 31.循环结构-dowhile循环逆向.mp4
  • [41.8 MB] 34.continue与break语句逆向.mp4
  • [21.1 MB] 27.6case缺项的switch语句逆向.mp4
  • [79.7 MB] 14.基于启动特征定位main函数.mp4
  • [37.6 MB] 33.goto语句逆向.mp4
  • [23.6 MB] 38.thiscall调用约定.mp4
  • [38.3 MB] 05.布尔型变量逆向.mp4
  • [18.3 MB] 37.stdcall调用约定.mp4
  • [11.8 MB] 23.多选择ifelse语句逆向.mp4
  • [53.9 MB] 10.指向变量的指针逆向.mp4
  • [22.6 MB] 35.函数调用约定基础.mp4
  • [11.0 MB] 03.浮点型变量逆向.mp4
  • [34.6 MB] 24.嵌套if语句逆向.mp4
  • [43.1 MB] 40.数组作为参数的函数逆向.mp4
  • [37.8 MB] 13.基于功能定位mian函数.mp4
  • [24.9 MB] 12.基于字符串定位mian函数.mp4
  • [25.6 MB] 41.使用数组作为返回值的函数逆向.mp4
  • [15.7 MB] 28.6case单项不连续switch语句逆向.mp4
  • [56.9 MB] 30.循环结构-while循环逆向.mp4
  • [48.2 MB] 39.fastcall调用约定.mp4
  • [36.3 MB] 25.3case的switch语句逆向.mp4
  • [54.0 MB] 09.多维数组逆向.mp4
  • [29.3 MB] 01.整型变量逆向.mp4
  • [32.3 MB] 02.浮点型变量存储.mp4
  • [26.3 MB] 11.指向数组的指针逆向.mp4
  • [23.6 MB] 15.算术运算符逆向.mp4
  • [81.9 MB] 18.逻辑运算符逆向.mp4
  • [36.4 MB] 29.6case无线表switch语句逆向.mp4
  • [43.1 MB] 32.循环结构-for循环逆向.mp4
  • [38.9 MB] 16.位运算符逆向.mp4
  • [112.0 MB] 07.一维数组逆向.mp4
  • [23.7 MB] 17.关系运算符逆向.mp4
  • [28.9 MB] 22.选择结构-ifelse语句逆向.mp4
  • [56.2 MB] 21.选择结构-if语句逆向.mp4
  • [54.9 MB] 📁 02.x86_64架构汇编语言 02.x86_64架构汇编语言文档.png [493.5 KB] 03.MOV指令详解.mp4
  • [40.5 MB] 10.x86汇编调用WindowsAPI.mp4
  • [41.0 MB] 04.LEA指令详解.mp4
  • [47.6 MB] 01.寄存器基础.mp4
  • [152.8 MB] 14.MUL指令详解.mp4
  • [79.5 MB] 12.ADD指令详解.mp4
  • [92.0 MB] 02.x86汇编开发框架.mp4
  • [44.4 MB] 13.SUB指令详解.mp4
  • [72.4 MB] 18.AND指令详解mp4.mp4
  • [21.0 MB] 16.INC指令详解.mp4
  • [23.8 MB] 11.x86内联汇编.mp4
  • [21.5 MB] 17.DEC指令详解.mp4
  • [18.2 MB] 15.DIV指令详解.mp4
  • [33.0 MB] 06.cdecl函数调用约定.mp4
  • [113.2 MB] 020.XOR指令详解.mp4
  • [16.9 MB] 09.x86汇编调用C语言库函数.mp4
  • [24.4 MB] 08.寻址方式.mp4
  • [70.8 MB] 07.stdcall函数调用约定.mp4
  • [25.9 MB] 19.OR指令详解.mp4
  • [14.6 MB] 05.XCHG指令详解.mp4
  • [19.4 MB] 适合人群 计算机安全爱好者 底层开发工程师 逆向工程师 学习收获 掌握x86_64架构原理 精通汇编语言编程 学会软件逆向技术 祝您学习愉快! 学有所成,前程似锦!