正版资源x86_64架构汇编语言&逆向资源
这份资料把三块内容放在一起:C/C++ 基础、x86_64 汇编语言、软件逆向技术。顺序不是随便排的——C/C++ 用来描述程序在源码层的意图,汇编用来呈现编译器把这些意图翻译成了什么,逆向则是反过来从二进制推回意图。三者共用同一套寄存器、调用约定和内存模型,缺一环就会出现「看得懂指令但猜不出逻辑」
这份资料把三块内容放在一起:C/C++ 基础、x86_64 汇编语言、软件逆向技术。顺序不是随便排的——C/C++ 用来描述程序在源码层的意图,汇编用来呈现编译器把这些意图翻译成了什么,逆向则是反过来从二进制推回意图。三者共用同一套寄存器、调用约定和内存模型,缺一环就会出现「看得懂指令但猜不出逻辑」或者「能写 C 但读不懂编译器输出」的情况。
技术栈与内容结构
架构层落点在 x86_64:通用寄存器(rax 到 r15)的用途分化、RIP 相对寻址、System V AMD64 调用约定中参数走 rdi/rsi/rdx/rcx/r8/r9 而返回值走 rax 的规则、栈帧布局与红区、栈对齐要求。这些是后面所有分析工作的底座,弄不清 argc/argv 在第几个寄存器、结构体按值传递时发生了什么,反汇编窗口就只是一串助记符。
汇编层覆盖数据传送、算术与逻辑、控制流、函数调用与返回、字符串操作等常见指令族,重点在于建立「一段 C 代码对应一段指令序列」的直觉。逆向层则围绕真实二进制展开:静态反汇编与动态调试的配合、函数边界识别、控制流图重建、常见优化模式(内联、尾调用、循环展开)的辨认,以及从汇编片段反推结构体成员偏移和局部变量类型。
C/C++ 部分的作用是补齐语义侧的参照系:指针与数组退化、虚函数表布局、结构体内存对齐、异常处理的实现方式,这些都是逆向中高频出现的解释对象。
项目结构与可复用模块
资料按三个主题分区组织,读的时候建议不要把三块当成独立课程,而是按「写—编—反」的链路循环推进。可复用的部分主要是几类:一是寄存器与调用约定的速查表,可以整理成自己的笔记文件,长期查;二是编译器行为对照实验——同一段 C 代码分别用不同优化等级编译,观察输出差异,这套实验流程比任何结论都耐用;三是调试思路模板,比如定位一个字符串比较时先下断点在哪类 API、如何回溯调用栈、如何从栈上恢复参数。
如果资料里带了配套源码和样本程序,优先自己重新编译一遍再对照分析,不要直接用预编译产物。编译参数(优化等级、是否 strip 符号、静态还是动态链接)会显著改变反汇编结果的形态,自己控制变量才能建立稳定的判断。
适合拿来练手的方向
- 把简单算法函数编译成汇编,逐行标注每个寄存器当前承载的变量,做「寄存器生命周期」练习。
- 对无符号的样本程序做纯静态分析,画出函数调用关系,再与调试器中的实际调用栈比对。
- 识别结构体成员的访问偏移,从指令里反推出结构体布局,再用源码验证。
- 对比 -O0 与 -O2 下的同一函数,总结编译器做了哪些等价变换。
这些练习不需要复杂环境,重点在于反复做「假设—验证」的闭环。
自学路径建议
不要从逆向直接切入。先过一遍寄存器与内存模型,能手工推演一段十几条指令的栈变化;再进入汇编与 C 的对照阶段,形成对编译器输出的阅读速度;最后才进入逆向分析,此时工具(反汇编器、调试器)只是加速手段,判断依据仍然来自前两个阶段。
推进节奏上,每学一个指令族或一种调用模式,就立刻找一段真实代码验证。遇到看不懂的指令序列,先查手册确认语义,再回到源码猜测编译器意图,把结论写进自己的笔记——这份笔记最终会比课程本身更有价值。
使用这份资料时注意什么
汇编和逆向是动手学科,只看不练几乎不会形成能力。建议把资料当作参照物和索引,配合一个固定的实验环境(同一套编译器版本、同一种架构的机器)持续做对照实验。同时要意识到平台差异:这份资料基于 x86_64,调用约定、指令集与 ARM64 并不通用,迁移时需要重新校准细节,而不是套用结论。
x86_64架构汇编语言&逆向资源
深入理解x86_64架构与逆向工程
编辑点评
系统学习x86_64汇编语言,结合C/C++基础,掌握软件逆向技术,适合有志于安全领域或底层开发的学习者。
⭐ 编辑推荐
本课程从x86_64架构入手,深入讲解汇编语言,并辅以C/C++基础,帮助学员掌握软件逆向技术。
✨ 课程亮点
课程目录
01.C&C++零基础入门计划23 集
- 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]
- 21.指针基础.mp4 [22.5 MB]
- 30.函数指针与回调函数.mp4 [37.4 MB]
- 01.第一个C语言程序.mp4 [41.1 MB]
- 14.ifelse閫夋嫨璇彞.mp4 [11.1 MB]
- 15.switch閫夋嫨璇彞.mp4 [9.8 MB]
- 29.使用指针作为参数和返回值.mp4 [27.6 MB]
- 22.指向一维数组的指针.mp4 [20.8 MB]
- 06.变量生命周期与整型变量的存储.mp4 [24.5 MB]
- 12.关系与逻辑运算符.mp4 [15.8 MB]
- 03.内存的概念.mp4 [9.3 MB]
- 24.指向多维数组的指针.mp4 [17.6 MB]
- 07.浮点型变量的定义与存储.mp4 [31.6 MB]
- 28.函数基础.mp4 [28.9 MB]
- 25.内存管理(C版本).mp4 [34.9 MB]
- 23.指向二维数组的指针.mp4 [20.2 MB]
- 27.指针数组与二级指针.mp4 [32.4 MB]
- 11.浣嶈繍绠楃.mp4 [17.6 MB]
- 08.字符与字符串类型变量.mp4 [25.0 MB]
- 02.杩涘埗涓庝綅.mp4 [22.4 MB]
03.x86_64软件逆向技术39 集
- 03.x86_64软件逆向技术资料.png [493.5 KB]
- 04.字符与字符串类型变量逆向.mp4 [53.1 MB]
- 20.三目运算符逆向.mp4 [15.0 MB]
- 08.二维数组逆向.mp4 [28.1 MB]
- 26.6case鐨剆witch璇彞閫嗗悜.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涓巄reak璇彞閫嗗悜.mp4 [21.1 MB]
- 27.6case缺项的switch语句逆向.mp4 [79.7 MB]
- 14.基于启动特征定位main函数.mp4 [37.6 MB]
- 33.goto璇彞閫嗗悜.mp4 [23.6 MB]
- 05.布尔型变量逆向.mp4 [18.3 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]
- 25.3case鐨剆witch璇彞閫嗗悜.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架构汇编语言9 集
- 02.x86_64架构汇编语言文档.png [493.5 KB]
- 10.x86汇编调用WindowsAPI.mp4 [41.0 MB]
- 01.寄存器基础.mp4 [152.8 MB]
- 02.x86汇编开发框架.mp4 [44.4 MB]
- 11.x86鍐呰仈姹囩紪.mp4 [21.5 MB]
- 06.cdecl函数调用约定.mp4 [113.2 MB]
- 09.x86汇编调用C语言库函数.mp4 [24.4 MB]
- 08.寻址方式.mp4 [70.8 MB]
- 07.stdcall函数调用约定.mp4 [25.9 MB]
适合人群
- 计算机安全爱好者
- 底层开发工程师
- 逆向工程师
🎯 学习收获
- 掌握x86_64架构原理
- 精通汇编语言编程
- 学会软件逆向分析
🎉 祝您学习愉快!




