首页
›
Linux内核与驱动
›
141-Linux内核异常定位
›
《Linux内核崩溃场景下寄存器分析定位内存访问越界》
VIP10
本课程属于:141-Linux内核异常定位
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Linux内核崩溃场景下寄存器分析定位内存访问越界
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导论
什么是内核崩溃?为什么内存访问越界是…
课程导论
什么是内核崩溃?…
02
内核崩溃基础
Oops与Panic的区别 · 内核消息缓冲区(dmesg)的作用 · 典型崩溃信息结构
内核崩溃基础
Oops
03
寄存器基础回顾
x86-64通用寄存器(rax · rbx · rcx
寄存器基础回顾
x86-64
04
关键寄存器详解
指令指针寄存器RIP · 栈指针寄存器RSP · 基址指针寄存器RBP在崩溃分析中的角…
关键寄存器详解
RIP
05
段寄存器与页表
CS/DS/SS段寄存器 · CR3控制寄存器(页表基址) · 页错误地址寄存器CR2
段寄存器
页表
06
崩溃信息读取
从dmesg中提取Oops消息 · 解析错误码 · 定位崩溃指令地址(RIP)
崩溃信息读取
dmesg
07
反汇编基础
使用objdump反汇编内核模块或v… · 定位RIP对应的指令
反汇编基础
objdump
08
内存访问指令识别
常见越界指令模式(mov · lea · add
内存访问指令识别
mov
09
寄存器值分析
分析RIP处指令的源操作数寄存器 · 目标操作数寄存器 · 偏移量
寄存器值分析
RIP
10
栈回溯(Stack Trace)
读取Call Trace · 理解函数调用链 · 定位越界发生的函数
Stack
Trace
11
栈帧分析
RBP与RSP的关系 · 局部变量在栈上的布局 · 越界访问栈变量的模式
栈帧分析
RBP
12
堆内存越界
kmalloc/slab分配器 · 堆块头部元数据 · 越界写入破坏相邻对象
堆内存越界
kmalloc/slab
13
全局变量越界
BSS段与数据段 · 全局数组越界 · 符号表与地址映射
全局变量越界
BSS
14
字符串操作越界
strcpy/strcat/spri… · 缺少NULL终止符导致的越界
字符串操作越界
strcpy/strca…
15
数组索引越界
循环边界错误 · 指针算术错误 · 负索引问题
数组索引越界
循环边界错误
16
结构体与联合体越界
结构体填充(padding) · 成员访问越界 · memcpy大小错误
结构体
联合体越界
17
用户态指针解引用
copy_from_user/cop… · 未检查用户态指针有效性
用户态指针解引用
copy
18
竞态条件导致的越界
use-after-free与越界组… · 时间窗口内的内存重用
竞态条件导致的越…
use-after-fr…
19
KASAN原理
Kernel Address San… · 内存标记 · 越界检测报告解读
KASAN
原理
20
KASAN报告分析
读取KASAN输出 · 定位越界类型(堆/栈/全局) · 查看访问大小与地址
KASAN
报告分析
21
UBSAN与越界
Undefined Behavior… · 整数溢出与越界的关联
UBSAN
越界
22
实战案例1
数组越界导致内核崩溃——从Oops到…
实战案例1
Oops
23
实战案例2
字符串操作越界——strcpy未检查…
实战案例2
strcpy
24
实战案例3
堆内存越界——slab corrup…
实战案例3
slab
25
实战案例4
栈缓冲区溢出——局部数组越界覆盖返回…
实战案例4
栈缓冲区溢出
26
实战案例5
用户态指针未校验——copy_fro…
实战案例5
copy
27
调试工具链
gdb/kgdb调试内核 · crash工具使用 · vmlinux与System.map
调试工具链
gdb/kgdb
28
crash工具实战
使用crash读取vmcore · bt命令查看回溯 · rd命令读取内存
crash
工具实战
29
预防与最佳实践
静态分析(sparse/smatch… · 动态检测(KASAN/UBSAN) · 代码审查要点
预防
最佳实践
30
课程总结
寄存器分析流程回顾 · 常见越界模式速查表 · 进一步学习资源
课程总结
寄存器分析流程回…
所属VIP或分类
同VIP:Linux内核崩溃场景中kprobe动态跟踪与关键值分析
同VIP:Linux内核崩溃场景中寄存器分析定位关键异常
同VIP:Linux内核异常场景中寄存器现场恢复与关键值分析