|
|
课程大纲:$ c( k2 w5 x0 A$ d, x4 P/ g
01 内存管理
2 m Z% q( t0 W( N/ H& ^- b1 _02 保护模式( i+ S# p- E3 V3 Y' c
03 进程与线程
5 S9 ]' w8 ^2 u- K( c04 异常 [. M. ]" Y% W8 j
05 APC机制
4 S% c* F9 Z6 h- N, i$ B/ i: |06 软件调试( ?9 I+ T$ A! u- L
07 句柄表1 K+ s* x4 `- c1 d' V/ N0 {* j
08 驱动开发
: s5 B; ?9 R2 W* z3 V$ f1 d7 q/ X, Y7 a09 事件等待
4 v* W- M, @) s! R6 }2 f9 c* c4 F10 系统调用
& L7 f9 x8 |5 j- [11 消息机制1 P( ?3 J: c" V
' H$ G4 W* a. r Z
( Y9 N$ \5 U/ y/ F) t |% S课程目录:
4 S9 n2 |2 F( e! H4 {4 `(一)内存管理9 o. U/ ?5 k+ G% u
01、线程地址管理- ~. R1 {' S; ^! _0 R8 l
02、Private Memory& L6 ]6 i1 F5 l& W9 y0 S
03、Mapped Memory
. J- d! K* h& }1 [* O/ N04、物理内存管理
+ L6 U" B; B8 g/ c05、无处不在的缺页异常
, W+ \. a) D- h5 g2 z7 |9 ~. t- r" p) n# [5 B
(二)保护模式
+ N% ?; R- A8 w2 |001、保护模式
$ m) [! l1 N6 {; S7 Q# p9 M- S002、段寄存器结构* }+ V* B! i8 j9 e9 x
003、段寄存器属性探测* o# N* B! Q3 a; Z
005、段描述符属性_P位_G位5 k9 A4 B: N r( Z$ O
006、段描述符属性_S位_TYPE域
2 P3 f- c5 H* A' u3 ]007、段描述符属性_DB位# z1 T; M- y& \
008、段权限检查
) K1 \/ y \: N9 M009、代码跨段跳转流程: N& K+ O; R( p/ [
010、代码跨段跳转实验
3 r, m8 E, ?* [% L5 Y011、长调用与短调用1 y1 b# r% F) h0 `0 M' M! J
012、调用门(上)
& h4 u, @- o# B0 N, k013、调用门(下)3 `) K7 `; I% O
014、中断门
8 r, [! K6 k" j7 I015、陷阱门
; o7 f6 K L7 `( c$ T/ J016、任务段(上)
6 a+ x6 J$ c; d2 B- [017、任务段(下)3 J4 ~7 x9 I& U
018、任务门( Y# J8 i9 p+ c8 X
020、PDE_PTE1 x# L3 m, R) d
021、PDE_PTE属性(P_RW)
) `- ]4 k. R( e# L* H022、PDE_PTE属性2 t% u3 C% U i' [3 g) H" x
023、页目录表基址( p3 t- ] J$ @% c. n6 u
024、断面描述符与段选择子
% g) @; f6 V! O6 M( T( A+ A025、2-9-9-12分页
5 k- e) z! x: D+ Q# `! U0 R027、TLB; ?, n, W% s8 @% l1 f6 {
028、中断与异常0 S6 d& v; _7 y$ G# R5 W2 V
029、控制寄存器: J+ o3 o5 x8 O
030、PWT_PCD属性
l) s; l* v# n* r) Y) p; U5 K031、保护模式阶段测试, e6 L3 Q, F; V
5 M6 ?; N2 G$ x1 z(三)进程与线程 a& Y- C, J$ M; s/ {. h c* L0 G
001、进程机构体. A8 r3 }; x/ l
002、线程结构体6 n: l4 H3 R. Q4 h( W% |
003、KPCR
* J' w( U5 x' ^004、等待链表_调度链表- K% S' [0 U8 @/ N% I
005、模拟线程切换) W, g( F: T; { Q
006、Windows进程切换主动切换4 N3 S' z; t: }: \
007、Windows线程管理时钟中断切换" s0 C3 X$ I' \& a+ J$ ~8 j5 q
008、Windows线程切换时间片管理
# _ f/ Q# C3 S009、Windows线程切换_TSS5 Y4 ~2 ^' O& Y
010、Windows线程切换_FS
0 J/ o/ o3 P8 ?6 i) E011、Windows线程切换_线程优先级
4 f- Z2 E( h# M0 L( N' v/ p012、进程挂靠( d7 K1 k4 |" W2 Y: o. p1 m: ^
013、跨进程读写内存! ?5 \% P5 f4 l9 S0 d. @9 w* U
4 Y Z8 i2 U/ c
(四)异常
' V# Q3 r% Y: @ y( ?01、CPU异常记录& K7 ?9 J& q4 }
02、模拟异常记录
. U$ ]. U5 ^5 n: k5 p. }03、内核异常的处理流程
' |$ M* e' P4 t2 S P, m8 `. v04、拥护异常的分发
0 Z5 K" J: A2 c) C: k+ D) e05、VEH
5 L8 K% ]3 ?" y0 [- N/ c06、SEH6 s! J }! R, z$ g
07、编译器扩展SEH课堂代码_1
0 X" ?2 ?2 m) \0 |. L4 D- V08、编译器扩展EEH_2
- K# {) ]) s# z% X4 {% F09、编译器扩展EEH_3( L; j, h- s m |: H4 @
10、编译器扩展EEH_4
* c6 l. c9 {. K11、未处理异常
0 q' D& g$ M! |- c: J$ ] v& h9 v* r. o6 c) ?0 R
(五)APC机制8 m( V+ D, R6 ~
01、APC本质7 u* S+ ~! F7 p [! O: Q
02、备用APC队列
& ~. g) l. e5 m03、APC挂入过程
- S# p) G! Y+ s; r1 l, j" F V04、内核APC执行过程 i$ |7 e) r) Y# P: r" F' T/ j
05、用户APC执行过程
, K0 W! A6 @- I, t% Z2 L8 Q/ [6 y+ ?' p1 t k) n7 ?6 C9 B
(六)软件调试8 N2 f& g! m0 E; u, x
01、调试对象9 T2 m) P0 |' w2 g$ ?$ Z
02、调试事件的采集
3 i4 L# d t/ T; d7 F( A03、调试事件的处理
( ?" L: d1 d& b2 t04、异常的处理流程/ S0 a8 }' i# M4 d
05、软件断点
" ]8 H% b+ r0 H6 `8 L3 e# P06、内存断点 _7 F3 S' o# c, N8 \" ^
07、硬件断点
$ Y9 K: G- L$ R6 F$ [! \08、单步异常
; r' L; @: [, J! g2 k, [( _1 }09、单步步过
, _& ~4 j' P. d0 D. B& O! \10、硬件HOOK过检测
( k- Z. j+ G3 a& N
( U( P0 W* [" D2 ]+ s(七)句柄表
# Y7 A ?+ {6 {7 t01、句柄表
7 E: A' ^0 j1 D! i3 ]0 x, Y# v j2 ]02、全局句柄表: {" g2 g [, }0 \6 ~, [' }
( q Y+ Z5 E- X
(八)驱动开发
: ?! T& P0 G" B! S) D: [2 d01、驱动开发环境配置8 i% i' V+ y. p- {* k! M8 M
02、第一个驱动程序
) v& A' ]6 C2 ]( v' T x x, Q$ X4 X03、如何调试驱动程序) }9 ?( [: E, t2 Z
04、内核编程基础
: }# h/ O) V9 r2 g$ E, M7 U% C05、内核空间与内核模块4 a" l: ^2 x# j7 V* H7 P
06、0环与3环通信' h& i# E5 t- C9 y- J- a6 l; I% m
07、SSTD HOOK
9 e3 G2 T; c4 T! q- t08、INLINE HOOK
9 v4 x. j7 ~; |" @7 m09、多核同步之临界区5 c3 K2 S7 _; `8 }
10、多核同步之自旋锁* z$ e: Y# w5 F# ^
11、重载内核
- c9 T2 c9 c2 q" H( i( v, J. w# ?& D* M/ X) f2 ^# D
(九)事件等待
0 @8 C; q8 f K0 v4 W01、临界区
9 F7 Y. @; O/ n02、自旋锁
4 Y* K( Q* S" Y( V {& H# m1 ]' p% k03、线程等待与唤醒
" l' ]( L! r% e& T( f& g04、WaitForSingleObject函数分析
0 K. ], A7 g+ K! v! W! ^) j05、事件! J( {! j+ t$ z3 e" k: {/ S4 E" C
06、信号量; D( y8 E3 ~ f
07、互斥体
& R: b4 ]' s$ O& L
$ {; Q! D. Y' q, z$ Q! m O(十)消息调用
( |0 J) S/ h B, h7 G4 t. A01、API函数的调用过程(3环部分)
( p# x8 m' f) z0 u" `02、API函数的调用过程(3环进0环上)) r0 q, f; ?* z, Y
03、API函数的调用过程(3环进0环下)# q' f3 [" C2 ^& E5 v8 \( ]2 W
04、API函数的调用过程(保存现场)
( _6 X9 d, L+ Y* H05、API函数的调用过程(系统服务表)
# a( r6 T3 D) D s06、API函数的调用过程(SSDT)' d) s t' m i2 ?; j5 u2 W
/ X* A2 J" I* S9 r6 p" M: z0 K1 j(十一)消息机制6 |* P2 F' Y; H. w; M
01、消息队列在哪
; k$ y; A) C2 n4 n02、窗口与线程7 z8 N# |+ ]" C
03、消息的接收7 }6 }: |: e* V0 p8 ] ^, U5 A
04、消息的分发
. E: {1 m3 g+ k3 r' u( P1 I05、内核回调机制: l* C r" Q1 C1 J5 {
$ |: B, x& N* l* S [ |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|