|
|
课程大纲: ~# V7 ~# V- [9 S/ }: C' N& v
01 内存管理
. y g; s! M5 D/ a+ g6 r: ?9 ^4 C0 y02 保护模式% t% ^8 t7 c D. r
03 进程与线程5 G6 A4 {3 ?. |6 F9 [
04 异常, J' T) W7 L9 p" D+ [. ?
05 APC机制
. h2 d% f; ^7 e5 ]1 \ P4 }06 软件调试: ~2 b! R9 y) A* D0 _( e7 f9 E
07 句柄表
" I S& f: j+ f% ?: m08 驱动开发
4 j2 c1 t( D4 G% M6 \' T; [09 事件等待
1 F" P4 |% a. s( j10 系统调用
- ?1 W( U6 a5 T F$ H' h" Z11 消息机制7 }8 H/ P, S J' w
; Q+ ?( `/ L2 f
8 j% Z9 h- @. t" `, d9 J课程目录:
! Q" H1 q8 p3 h(一)内存管理
( A- f9 C3 [: a0 n# T- ?01、线程地址管理
1 Q1 C# O+ ?* O3 N, s02、Private Memory: ^2 K' U* m# h
03、Mapped Memory6 q: H9 L: o# X( x4 C
04、物理内存管理 B' ^) n2 e8 l/ r! S O" X
05、无处不在的缺页异常. H, N9 ]# h5 w2 S3 @
K4 ]* q4 h9 ^2 g- W5 ^+ l" ?(二)保护模式' e/ X0 l- g+ ^- V
001、保护模式+ N. K2 w2 c6 w1 b' ?
002、段寄存器结构+ }- x! N. ]6 p" K$ [0 w
003、段寄存器属性探测
9 z+ k7 U7 x0 d- \' k0 X: g005、段描述符属性_P位_G位
& R% H( O& T/ L. J& H006、段描述符属性_S位_TYPE域. Y1 n0 P1 z$ {% h$ B7 g0 d0 w [
007、段描述符属性_DB位
& z% V( Y- ]; b3 ^2 \" x+ Z008、段权限检查
3 {/ ]0 L/ z, N/ W0 y009、代码跨段跳转流程
1 V9 @6 {- U0 H& m010、代码跨段跳转实验$ g" g9 a" W, n/ B9 Y; L
011、长调用与短调用
( k. r2 n b# w012、调用门(上)
: d' q! M8 o; K# ]; h013、调用门(下)
8 J: R. n) O9 J0 ]014、中断门4 L( J7 _2 _5 Q' |0 l: M3 P/ t/ I3 \3 `
015、陷阱门' F" g' E7 O I. S* ~' n
016、任务段(上). N$ c( M1 H- ~; [5 H
017、任务段(下)4 C% @1 I8 b5 `6 M1 R. ^$ n& S6 n: |( g4 h
018、任务门. N% I4 J: `; p# J8 P3 x+ [7 O1 i
020、PDE_PTE% b/ O5 G/ r( B9 @ n
021、PDE_PTE属性(P_RW)/ i8 v8 d1 X$ p1 E5 ?; G; X
022、PDE_PTE属性
0 A. s& {! x" V023、页目录表基址: z# N( R5 F4 [/ J9 u" M: _
024、断面描述符与段选择子
0 k- A8 {7 k+ k- ^; ]( ^025、2-9-9-12分页6 h5 H- \- l+ O* ?
027、TLB
$ _! M) N; S+ A% R/ }$ a- Z v0 W028、中断与异常) \0 e- X5 M- S7 i8 z" e8 V& r
029、控制寄存器
+ n. C9 I4 x+ Q4 W5 {& W+ W( T030、PWT_PCD属性 ?- K2 R9 p1 H: _* n2 N
031、保护模式阶段测试
) x/ F' G$ e, N, {$ x2 _* C. H, a; D H8 ]
(三)进程与线程6 _+ Z& k- i6 S$ k. w
001、进程机构体
! Z4 C7 [1 J' E% S002、线程结构体( `5 D9 G- V( E( h2 b9 h. p! B
003、KPCR
3 X5 V1 M+ O0 l" U7 d# q004、等待链表_调度链表' ]! x9 N( f0 C4 a5 i7 d
005、模拟线程切换
* F6 H4 u. h9 g! E, L. a2 o7 `006、Windows进程切换主动切换 i9 K& W' T. `5 K: x. ^! K
007、Windows线程管理时钟中断切换
6 K, y7 \& q, G6 V! X" }1 X* ~008、Windows线程切换时间片管理
5 x# q% l3 h- h9 K2 c009、Windows线程切换_TSS( V0 L: f' T' \& x R
010、Windows线程切换_FS6 k) A" c) Y) B/ ^* ?
011、Windows线程切换_线程优先级$ E3 ~8 m/ O7 f3 G2 T" e& y4 g2 g
012、进程挂靠& {/ i" U( N2 ?
013、跨进程读写内存 l& d3 l+ V5 Y2 @5 A T5 O. Q8 V
/ T% M, M" {/ g4 W(四)异常
4 ~3 [( X3 j v9 n" p+ W! \01、CPU异常记录5 U( [# w, ]& ]9 P
02、模拟异常记录2 C+ D" {) h0 S1 I! P2 T* m% [
03、内核异常的处理流程: \! t2 ?) |' g5 y. |0 K, G
04、拥护异常的分发' S4 z% [1 F9 }' R. `
05、VEH2 L. G/ Q$ `6 k! l
06、SEH6 @, F" H6 }9 w6 t( |4 N
07、编译器扩展SEH课堂代码_19 q% A5 T& \( f9 B" d
08、编译器扩展EEH_27 L7 L7 s% b0 @- q
09、编译器扩展EEH_35 r3 j* P; _" e5 G
10、编译器扩展EEH_4
3 d: h4 B9 ~ _. h11、未处理异常, s/ e! c) C3 z4 v% k% Z5 j. a# `/ B) i
5 a# J* Y0 ?+ e1 O( u6 X1 B6 R, f(五)APC机制
. a$ X4 T2 U' c$ b" |+ I8 L& l01、APC本质. `4 z6 i8 A# z+ K9 X1 }+ j
02、备用APC队列; t) f& U5 {. ~0 t, f
03、APC挂入过程
F' t" \: S) I! r& z% k04、内核APC执行过程
3 L; O. {& D0 a! ~9 @+ X7 c) W05、用户APC执行过程
( W. A; E0 g# j8 m
* S, V, ^; }" \0 B$ n(六)软件调试
( r# a5 f( e: F4 N, o; M8 W% w01、调试对象
5 k6 F* R/ x2 o, u* K) o" B6 {02、调试事件的采集
3 R! k: H9 n. J( T5 |9 j03、调试事件的处理4 L, X6 s2 H% g& O8 G. C& J5 J
04、异常的处理流程
$ `& y- A: H$ y% n05、软件断点0 e; G u! Y: H4 a; K. X
06、内存断点1 ~( K; ^- ] h. t5 E! ~
07、硬件断点
* V8 E; W% h& @" ]( x* l3 i+ F5 F08、单步异常
% f: G+ Q( w- F$ Q: \09、单步步过
f7 X' R( e7 p10、硬件HOOK过检测
/ i9 @- P" B! j& A1 `" o7 e
- z+ a# Y& t! t6 j" j; T B# M(七)句柄表% L+ b: }3 E$ d& T: D; d# \, f' e/ W4 b
01、句柄表+ ~- U k( M6 T
02、全局句柄表3 \3 w1 k9 G5 A3 ^! [
3 O0 T/ @. i$ ~) j# V" f(八)驱动开发- G& P% V4 R3 m6 Z
01、驱动开发环境配置1 L" J1 e2 B0 D
02、第一个驱动程序
7 I% U! m8 U q1 P. ]03、如何调试驱动程序
9 S/ x, }6 f1 s; M x04、内核编程基础2 L- ~5 G! R3 @
05、内核空间与内核模块
# w/ Q3 X2 E3 Q" l3 N0 q$ w06、0环与3环通信: |; U3 \; n5 u' @' ^3 r v# p
07、SSTD HOOK- ~* p, f Q# e, u2 c
08、INLINE HOOK
. Q7 k# Z$ U$ v% l. j# g- f( g09、多核同步之临界区/ z/ F% [! E5 n3 g! L# R$ t
10、多核同步之自旋锁8 g* g# d) e; O$ j$ X: [
11、重载内核
* u, A- c* ^, @+ f. x% A
D( p+ T8 @7 s* X" m; C(九)事件等待% R" D4 y3 q' o) l& z
01、临界区
* ]# v; u( {: k' e, y: v02、自旋锁
, b e: K7 N7 J! d2 R" U03、线程等待与唤醒
7 H" i6 n. i! Q: K2 s5 m04、WaitForSingleObject函数分析! u M* e: a& b) x0 X
05、事件
- }5 e! `) `0 c& a06、信号量, U4 g* ]7 Z( R* z, M& g' K/ A
07、互斥体
" h) o W7 r9 ~- I
: {; ~( M5 z" X(十)消息调用) k( s" P1 r/ s* l7 L% _
01、API函数的调用过程(3环部分)3 t4 Y7 G/ \$ n, ~
02、API函数的调用过程(3环进0环上)! A" z( {4 M! @
03、API函数的调用过程(3环进0环下)
y* _% p+ a, {! T5 T04、API函数的调用过程(保存现场)" i7 i* n) p6 Z' x/ y9 N
05、API函数的调用过程(系统服务表)
" P% p6 E9 C- J" h8 l0 H6 p( X06、API函数的调用过程(SSDT)
1 i, S1 d+ n4 V! W7 o
1 v$ P/ X2 N7 ~7 B! k4 k3 F(十一)消息机制( K* j2 Y; |: \
01、消息队列在哪
V7 {. S/ `+ @2 ?02、窗口与线程. U# t& u3 K8 N
03、消息的接收
- b2 y/ l7 s8 L7 q! N04、消息的分发" u& g4 A5 ^1 f4 V* A
05、内核回调机制$ I* A+ q. x8 }5 @
8 t8 M# Q+ {, j3 S; U1 V- U$ f5 Z
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|