《全栈安全》- 逆向入门篇

初级 · 315课时

5人学过

全栈安全 汇编逆向
¥298.00购买
  • 课程简介
  • 课程目录
  • 作者信息
  • 教程资料

前置基础 C语言 CPP

学完可以到达一个什么程度及课程介绍:

了解汇编语言的基本语法和编程结构,包括数据定义、指令格式、控制结构(如条件跳转和循环)、寄存器使用和内存管理等。掌握汇编语言与计算机体系结构之间的关系,能够直接操作硬件资源。


- **系统编程**:能够编写操作系统内核、驱动程序或底层系统工具。

- **性能优化**:能够对现有程序进行性能分析,并通过汇编代码优化实现更高效的运行。

- **逆向工程与安全**:具备一定的逆向工程能力,能够分析和理解软件的底层实现,常用于安全研究和漏洞分析。

- **嵌入式系统开发**:能够在资源受限的环境中编写高效的嵌入式程序。

通过学习汇编语言,你将获得对计算机系统的深入理解,能够在多个技术领域中应用这些知识。


环境配置

  • 01.0 环境-Visual Studio配置搭建.mp4
  • 01.1 环境-汇编执行框架.mp4

基础原理

  • 01.2 原理-机器语言与汇编语言.mp4
  • 01.3 原理-高级语言与汇编语言.mp4

进制系统

  • 01.4 进制-进制定义及规则.mp4
  • 01.5 进制-进制映射关系.mp4
  • 01.6 进制-进制运算原理.mp4
  • 01.7 进制-进制转换算法.mp4
  • 01.8 进制-进制拓展.mp4

数据存储

  • 01.9 数据-存储宽度.mp4
  • 02.0 数据-内存边界.mp4
  • 02.1 数据-数据截断原理.mp4
  • 02.2 数据-正数与负数区分.mp4
  • 02.3 数据-整数底层规则.mp4
  • 02.4 数据-反汇编分析.mp4

寄存器系统

  • 02.5 存储-寄存器.mp4
  • 02.6 存储-通用寄存器对应关系.mp4
  • 02.7 存储-寄存器包含关系测试.mp4
  • 02.8 存储-段寄存器特性.mp4
  • 02.9 存储-指令指针寄存器.mp4

标志寄存器

  • 03.0 标志-标志寄存器结构以及标志位.mp4
  • 03.1 标志-Carry Flag.mp4
  • 03.2 标志-Parity Flag.mp4
  • 03.3 标志-Auxiliary Carry Flag.mp4
  • 03.4 标志-Zero Flag.mp4
  • 03.5 标志-Sign Flag.mp4
  • 03.6 标志-Direction Flag.mp4
  • 03.7 标志-Overflow Flag.mp4
  • 03.8 标志-EFLAGS寄存器.mp4

内存管理

  • 03.9 内存-内存特性.mp4
  • 04.0 内存-内存管理.mp4
  • 04.1 内存-内存端序.mp4
  • 04.2 内存-内存读写.mp4
  • 04.3 内存-内存寻址.mp4
  • 04.4 内存-反汇编寻址.mp4

程序框架

  • 04.5 框架-C语言控制台程序.mp4
  • 04.6 框架-汇编程序框架.mp4
  • 04.7 框架-程序指令集.mp4
  • 04.8 框架-工作模式.mp4
  • 04.9 框架-动态调用与函数声明.mp4
  • 05.0 框架-段的定义.mp4
  • 05.1 框架-数据段的三种形式.mp4
  • 05.2 框架-代码段的特性.mp4
  • 05.3 框架-程序入口点及周期.mp4

算术运算指令

  • 05.4 指令-加法运算ADD&ADC&INC.mp4
  • 05.5 指令-减法指令SUB&SBB&DEC.mp4
  • 05.6 指令-补码NEG.mp4
  • 05.7 指令-BCD&DAA&DAS.mp4
  • 05.8 指令-无符号乘法MUL.mp4
  • 05.9 指令-有符号乘法IMUL.mp4
  • 06.0 指令-除法指令DIV&IDIV.mp4
  • 06.1 指令-除零错误&除法溢出&数据拓展.mp4

位运算指令

  • 06.2 指令-位运算逻辑与AND.mp4
  • 06.3 指令-位运算逻辑或OR.mp4
  • 06.4 指令-位运算逻辑异或XOR.mp4
  • 06.5 指令-位运算取反NOT.mp4
  • 06.6 指令-操作数类型.mp4

课程路线

  • 06.7 路线-逆向入门课程介绍.mp4
  • 06.8 拓展-Visual Studio 调试介绍.mp4

堆栈机制

  • 06.9 堆栈-线程栈结构.mp4
  • 07.0 堆栈-指令PUSH.mp4
  • 07.1 堆栈-指令POP.mp4
  • 07.2 堆栈-指令PUSHAD & POPAD.mp4
  • 07.3 堆栈-指令PUSHFD & POPFD.mp4
  • 07.4 堆栈-指令CALL & RET.mp4
  • 07.5 堆栈-指令MOV.mp4
  • 07.6 堆栈-指令REP & STOS.mp4
  • 07.7 堆栈-函数调用过程堆栈图结构.mp4
  • 07.8 堆栈-指令调用规则解析.mp4
  • 07.9 堆栈-堆栈结构特征与回溯嵌套调用.mp4

逆向调试基础

  • 08.0 逆向-代码堆栈回溯栈帧.mp4
  • 08.1 逆向-模块符号信息解析.mp4
  • 08.2 逆向-DBG工具下载与配置.mp4
  • 08.3 逆向-DBG逆向调试技巧.mp4
  • 08.4 逆向-IDA交叉引用回溯.mp4

函数调用

  • 08.5 函数-线程栈区参数传递.mp4
  • 08.6 函数-返回值寄存器使用规则.mp4
  • 08.7 函数-反汇编还原正向代码.mp4
  • 08.8 函数-调用约定规则解析.mp4
  • 08.9 逆向-函数结构堆栈参数返回分析技巧.mp4
  • 09.0 逆向-DBG逆向调试技巧.mp4
  • 09.1 逆向-IDA分析还原思路.mp4
  • 09.2 逆向-堆栈逃逸改变程序执行流程.mp4
  • 09.3 逆向-获取线程栈区信息.mp4

数据类型逆向

  • 09.4 数据-整数类型数据传输MOV.mp4
  • 09.5 数据-有符号整数存储规则及存储端序.mp4
  • 09.6 数据-整数数据溢出.mp4
  • 09.7 数据-指令数据类型转换拓展MOVZX & MOVSX.mp4
  • 09.8 逆向-全局变量与局部变量特征逆向.mp4

浮点数处理

  • 09.9 逆向-全局内容PE节区转文件数据并修改.mp4
  • 10.0 小数-实数编码规则以及寄存器使用.mp4
  • 10.1 小数-指令FPU & SSE & AVX 汇编实例.mp4
  • 10.2 小数-IEEE小数编码存储规则.mp4
  • 10.3 小数-汇编指令学习规则与方法.mp4

字符处理

  • 10.4 字符-编码映射规则以及区域设置.mp4
  • 10.5 字符-串流数据截断处理与映射.mp4
  • 10.6 指令-指令ASM_STRLEN.mp4
  • 10.7 指令-指令ASM_STRCPY MOVSB.mp4
  • 10.8 指令-指令DF - STOS - MOVS - LODS - STOS - CMPS.mp4
  • 10.9 拓展-堆栈结构 - 逆向思路.mp4
  • 11.0 拓展-数字存储 - 编码规则.mp4
  • 11.1 拓展-字符安全 - 存储校验.mp4

汇编指令扩展

  • 11.2 指令-ADD - SUB.mp4
  • 11.3 指令-MUL - CDQ - DIV.mp4
  • 11.4 指令-INC - DEC - NEG - LOCK.mp4
  • 11.5 指令-AND.mp4
  • 11.6 指令-OR.mp4
  • 11.7 指令-NOT.mp4
  • 11.8 指令-XOR.mp4
  • 11.9 指令-CMP.mp4
  • 12.0 指令-TEST.mp4
  • 12.1 指令-JCC.mp4

条件语句逆向

  • 12.2 逆向-单行IF语句反汇编逆向分析.mp4
  • 12.3 逆向-多行IF语句分支处理.mp4
  • 12.4 逆向-多条件IF语句执行流程.mp4
  • 12.5 逆向-三目运算符特征识别.mp4
  • 12.6 逆向-多表达式逻辑关系过滤.mp4

SWITCH语句逆向

  • 12.7 逆向-SWITCH语句对标多条件IF区别.mp4
  • 12.8 逆向-SWITCH结构跳转表解析.mp4
  • 12.9 逆向-SWITCH跳转表与中转索引表关联.mp4
  • 13.0 逆向-SWITCH折半查找策略.mp4
  • 13.1 逆向-SWITCH结构变形体.mp4

循环指令与逆向

  • 13.2 指令-LOOP.mp4
  • 13.3 指令-REP.mp4
  • 13.4 逆向-FOR循环执行顺序探测.mp4
  • 13.5 逆向-WHILE循环.mp4
  • 13.6 逆向-DOWHILE循环GOTO语句.mp4
  • 13.7 逆向-嵌套结构回溯.mp4
  • 13.8 逆向-CONTINUE BREAK语句.mp4

数组逆向分析

  • 13.9 逆向-缓冲区溢出案例.mp4
  • 14.0 逆向-数组内存布局.mp4
  • 14.1 逆向-数组寻址公式与越界溢出覆盖.mp4
  • 14.2 逆向-多维数组组合定位.mp4
  • 14.3 逆向-复合寻址与嵌套关联.mp4
  • 14.4 逆向-数组缓冲区溢出触发机制.mp4

移位指令

  • 14.5 指令-SHL - SHR.mp4
  • 14.6 指令-SAL - SAR.mp4

数据处理进阶

  • 14.7 数据-数据移动存储与二进制数据转换.mp4
  • 14.8 数据-数据加解密与完整性.mp4
  • 14.9 逆向-数组地址传递与数据影响.mp4
  • 15.0 逆向-数组返回值内存转换.mp4
  • 15.1 逆向-指针数组与二维数组转换及数据隐藏.mp4

指针逆向分析

  • 15.2 逆向-多维数组寻址公式.mp4
  • 15.3 逆向-指针的概念.mp4
  • 15.4 逆向-指针变量赋值与解引用反汇编.mp4
  • 15.5 逆向-指针运算规则与技巧.mp4
  • 15.6 逆向-指针与引用的区别以及特性.mp4
  • 15.7 逆向-指针与引用参数传递与返回堆栈.mp4
  • 15.8 逆向-多级指针赋值与解引用以及内存关联.mp4
  • 15.9 逆向-指针运算表达式与数据搜索.mp4
  • 16.0 逆向-指向数组的指针以及寻址运算.mp4
  • 16.1 逆向-指针优缺点以及安全性.mp4
  • 16.2 逆向-函数指针使用以常规CALL区别.mp4
  • 16.3 逆向-E8-FF-CALL-指令计算公式.mp4
  • 16.4 逆向-段寄存器-段选择子-段描述符-段属性限制.mp4

结构体逆向

  • 16.5 逆向-结构体开发知识点汇总.mp4
  • 16.6 逆向-结构体内存布局与对齐规律.mp4

面向对象逆向

  • 16.7 逆向-对象模型与存储规则.mp4
  • 16.8 逆向-成员偏移与this指针.mp4
  • 16.9 逆向-thiscall执行规则和寄存器特征.mp4
  • 17.0 逆向-嵌套调用约定参数传递规则.mp4
  • 17.1 逆向-静态成员变量内存特性.mp4
  • 17.2 逆向-类对象参数传递编译器优化策略.mp4
  • 17.3 逆向-类对象数据返回内存管理转换.mp4

构造析构函数

  • 17.4 逆向-构造函数与析构函数触发调用.mp4
  • 17.5 逆向-堆内存对象不同情况管理维护.mp4
  • 17.6 逆向-全局对象构造管理.mp4
  • 17.7 逆向-类外强制访问私有与保护成员变量.mp4
  • 17.8 逆向-构造函数重载与匹配定位.mp4
  • 17.9 逆向-拷贝构造函数与深拷贝.mp4
  • 18.0 逆向-构造函数禁用与默认参数传递.mp4

类成员特性

  • 18.1 逆向-静态成员变量与函数特性.mp4
  • 18.2 逆向-常成员函数内存布局及编译器限制.mp4

继承逆向

  • 18.3 逆向-类对象继承下的对象模型.mp4
  • 18.4 逆向-单继承下的构造析构的执行流程.mp4
  • 18.5 逆向-嵌套单继承下的对象特征.mp4
  • 18.6 逆向-多继承下的对象模型与初始化顺序.mp4
  • 18.7 逆向-菱形继承下数据包含与路径解析.mp4

虚函数与多态

  • 18.8 逆向-虚函数指针与地址表.mp4
  • 18.9 逆向-多态下的对象模型与虚函数地址寻址管理.mp4
  • 19.0 逆向-多继承下的结构布局以及多重表定位.mp4
  • 19.1 逆向-动态绑定调用与对象数据隔离.mp4
  • 19.2 逆向-单继承对象模型下的虚表机制以及布局.mp4
  • 19.3 逆向-多继承类的关联以及多重表分配.mp4
  • 19.4 逆向-纯虚对象初始化.mp4

模板逆向

  • 19.5 逆向-模板的使用以及规则推导.mp4
  • 19.6 逆向-模板特化与代码拷贝.mp4

MASM汇编基础

  • 19.7 MASM-汇编中的保留字&标识符&伪指令.mp4
  • 19.7 MASM-纯汇编环境开发及混合编程.mp4
  • 19.8 MASM-指令组成部分标号与指令助记符.mp4
  • 19.9 MASM-指令操作数格式以及样式.mp4

MASM数据定义

  • 20.0 MASM-数据定义与连续内存存储管理.mp4
  • 20.1 MASM-等号伪指令与宏定义替换.mp4
  • 20.2 MASM-EQU伪指令使用规则.mp4
  • 20.3 MASM-当前地址计数器与数据长度计算.mp4
  • 20.4 MASM-整数类型定义与存储.mp4
  • 20.5 MASM-实数数据存储与使用.mp4
  • 20.6 MASM-字符与字符串存储与内容输出.mp4

MASM指针寻址

  • 20.7 MASM-OFFSET伪指令使用.mp4
  • 20.8 MASM-指针操作与数据寻址公式.mp4
  • 20.9 MASM-ALIGN伪指令.mp4
  • 21.0 MASM-TYPE & LENGTHOF & SIZEOF.mp4
  • 21.1 MASM-DATA & LABEL.mp4
  • 21.2 MASM-TYPEDEF.mp4

MASM函数处理

  • 21.3 MASM-ENTER & LEAVE.mp4
  • 21.4 MASM-INVOKE & PARAM LIST.mp4
  • 21.5 MASM-PROTO.mp4
  • 21.6 MASM-OFFSET & ADDR.mp4
  • 21.7 MASM-USES.mp4
  • 21.8 MASM-LOCAL.mp4

MASM控制结构

  • 21.9 MASM-条件结构与跳转标号.mp4
  • 22.0 MASM-EFLAG & JCC.mp4
  • 22.1 MASM-跳转指令全解.mp4
  • 22.2 MASM-汇编跳转.mp4
  • 22.3 MASM-.IF .ELSE .ELSEIF .ENDIF.mp4
  • 22.4 MASM-条件结构选择表达式.mp4
  • 22.5 MASM-循环结构纯汇编流程梳理.mp4
  • 22.6 MASM-.WHILE .ENDW .BREAK.mp4
  • 22.7 MASM-.REPEAT .UNITL.mp4

MASM复合数据类型

  • 22.8 MASM-STRUCT.mp4
  • 22.9 MASM-结构体寻址定位.mp4
  • 23.0 MASM-结构体嵌套与伪指令复合使用.mp4
  • 23.1 MASM-UNION.mp4
  • 23.2 MASM-MACRO.mp4
  • 23.3 MASM-WIN32 API CODE.mp4

X64架构基础

  • 23.4 X64-汇编知识框架路线.mp4
  • 23.5 X64-指令集拓展与内存宽度变化及寄存器差异.mp4
  • 23.6 X64-WOW64子系统与兼容模式.mp4
  • 23.7 X64-寄存器新增与拓展机制.mp4
  • 23.8 X64-虚拟内存地址划分与规范.mp4

X64函数调用

  • 23.9 X64-不同模式下调用约定差异.mp4
  • 24.0 X64-堆栈结构变化以及参数传递.mp4
  • 24.1 X64-缓冲区混合使用与堆栈空间预留.mp4
  • 24.2 X64-函数调用地址区间及长跳.mp4
  • 24.3 X64-CPP & ASM 混合编程.mp4

X64内存管理

  • 24.4 X64-全局变量地址计算与指令解析.mp4
  • 24.5 X64-内存地址与指针宽度.mp4

X64指令系统

  • 24.6 X64-INTEL白皮书手册指令攻略.mp4
  • 24.7 X64-CPUID & intrin.mp4
  • 24.8 X64-CPU权限等级划分以及RING0 RING3区别.mp4
  • 24.9 X64-标志寄存器.mp4

X64段机制

  • 25.0 X64-Segment Register (Attribute).mp4
  • 25.1 X64-Segment Selecotr (RPL TI INDEX).mp4
  • 25.2 X64-Segment Descrtptor(Information).mp4

X64控制寄存器

  • 25.3 X64-Control Register(CR0 CR2 CR3 CR4).mp4
  • 25.4 x64-CR0.PG CR0.PE CR2.PAGE-FAULT LINEAR ADDRESS.mp4
  • 25.5 X64-EPROCESS DRIECTORY TABLE BASE.mp4

X64地址系统

  • 25.6 X64-linear & physical address.mp4
  • 25.7 X64-Debug Register.mp4
  • 25.8 X64-VIRTUAL LOGICAL EFFECTIVE LINEAR PHYSICAL ADDRESS.mp4
  • 25.9 X64-MAX ADDR SIZE.mp4

X64调试基础

  • 26.0 X64-断点的种类的区别以及内存影响.mp4
  • 26.1 X64-动态调试-single step.mp4
  • 26.2 X64-动态调试-break point.mp4
  • 26.3 X64-基础内容完结与学习路线.mp4

调试器架构设计

  • 26.4 调试-调试器项目设计与功能实现.mp4
  • 26.5 调试-调试器打开以及附加脱离函数.mp4
  • 26.6 调试-调试事件处理与类型解析.mp4
  • 26.7 调试-数据采集与程序框架设计.mp4
  • 26.8 调试-调试器命令内容拆解提取.mp4
  • 26.9 调试-用户交互设计框架完善.mp4
  • 27.0 调试-任务派发处理机制封装.mp4

进程调试

  • 27.1 调试-创建调试进程并完善校验.mp4
  • 27.2 调试-拦截处理调试事件消息.mp4
  • 27.3 调试-处理调试事件以及数据获取.mp4
  • 27.4 调试-创建进程调试事件解析.mp4
  • 27.5 调试-日志信息记录管理.mp4
  • 27.6 调试-收集退出数据_1.mp4
  • 27.7 调试-收集退出数据_2.mp4
  • 27.8 调试-程序异常内存文件转储.mp4
  • 27.9 调试-进程的退出事件封装处理.mp4

线程调试

  • 28.0 调试-线程存储数据结构体封装.mp4
  • 28.1 调试-线程优先级上下文获取以及线程基本信息查询.mp4
  • 28.2 调试-线程环境块与堆栈信息及保护页面.mp4
  • 28.3 调试-堆栈使用情况数据化.mp4
  • 28.4 调试-线程执行地址回溯与模块信息定位以及文件版本比对.mp4
  • 28.5 调试-可执行模块指纹标记定位获取与判断.mp4
  • 28.6 调试-节区结构过滤与内存属性.mp4
  • 28.7 调试-线程创建拓展信息测试.mp4
  • 28.8 调试-线程内核用户态时间收集.mp4
  • 28.9 调试-线程退出信息封装.mp4

模块分析

  • 29.0 调试-模块结构体特征数据.mp4
  • 29.1 调试-模块卷标文件映射回溯.mp4
  • 29.2 调试-文件结构二进制数据解析.mp4
  • 29.3 调试-模块导入导出表定义遍历_1.mp4
  • 29.4 调试-模块导入导出表定义遍历_2.mp4
  • 29.5 调试-动态链接库模块属性探测.mp4
  • 29.6 调试-模块加载拓展信息 .mp4
  • 29.7 调试-模块卸载.mp4

异常处理机制

  • 29.8 调试-异常内核执行派发路线.mp4
  • 29.9 调试-异常事件结构体解析.mp4
  • 30.0 调试-结构化异常(SEH).mp4
  • 30.1 调试-向量化异常(VEH).mp4
  • 30.2 调试-异常种类与异常传播修复.mp4

断点机制

  • 30.3 调试-异常回调及断点结构管理封装.mp4
  • 30.4 调试-断点结构初始化及设置断点流程对接.mp4
  • 30.5 调试-软件断点设置以及节点关联管理器封装.mp4
  • 30.6 调试-断点移除及数据剥离管理.mp4
  • 30.7 调试-用户交互处理完善.mp4
  • 30.8 调试-断点事件回调框架搭建.mp4
  • 30.9 调试-断点捕获以及调试信息获取.mp4

执行控制

  • 31.0 调试-调试体系交互处理.mp4
  • 31.1 调试-单步执行处理.mp4
0xCC

教程资料购买后才能查看或下载。