|
|
现在的网络在线教学会教你写驱动、写应用层代码、写界面、还会教你玩逆向、以及一些调试技巧。但在安全软件开发领域,却没有教程会教你从实际的项目角度去切入,如何灵活的应用这些知识,最终打造一款安全产品出来。它涵盖了通过对安全趋势感受选择方向,确定后分析威胁(分析大部分样本)归纳其共性后,进而推导出防御思路,单调的防御思路还不足以形成产品,此时需要思考还需添加哪些功能才能使其足够成熟,能够满足基本产品级要求。再对所有功能进行归纳划分,最后产生成熟的架构。再根据架构开始进行驱动、应用层、界面的代码编写,这中间踩过的坑,遇到的坎,都将为大家呈现。看到这里,估计你的心中也有点了然了。" U) u, S7 `3 L$ |
课程内容:
* x8 s+ i* }" o+ ^4 Q' b1.1 课程简介* ^4 x5 p2 H" m" K5 O+ X9 k
1.2 预备知识与学习方法
- \$ `' f" O) O' X1 f) |& k8 U1.3 勒索病毒流行原因分析
/ D( y# z. z0 q! C/ `" S1.4 我的防勒索演进过程
L6 d5 y7 e7 c6 i. W/ _2.1 功能的添加、细化与补充
7 w6 J U9 Y7 |9 q5 d2.2 细化功能的归类与整合1 o2 @9 L h0 R9 O; d& a. o
2.3 最终架构与核心流程! E# W& s c7 j
2.4 终结者源码编译:+ q0 t* m- v5 W$ T' ]
3.1 Windows服务程序标准框架讲解
" w* F2 H0 S9 s( ?: K5 b/ o3.10 服务与界面通讯的初始化流程( M+ l- ?1 {9 m& `& j$ @% T
3.11 通讯建立及配置更改流程讲解( I1 A5 A# V. f- c4 g6 |
3.12 威胁与无响应消息回调流程0 j+ j7 ~/ A( _; \' t* w. k; V
3.13 心跳消息流程与关键点回顾, r6 Z. S( s( d8 N2 S4 ]: `
3.14 诱饵文件与清除接口源码讲解
9 C4 w6 C* D4 Q7 T$ } b% M# B7 [6 }3.15 驱动接口与杂项源码讲解
5 k% K0 j& j k& v3.16 缺点分析与重构建议. a! Q% n" H. t& X
3.2 Windows服务程序排错技巧# c! k5 e$ s: }) H. K. E1 ?' A8 {9 ]1 a
3.3 安全产品DLL导出表处理9 m( Y0 H! H3 ^. N, ]
3.4 终结者接口、开发与阅读流程
* i- |, c5 ]! [( C3.5 服务主线程与三种启动流程2 o; E7 H' P& S7 E1 K
3.6 配置文件的处理
4 i! g! x0 Q! K0 h( E! S3 ^3.7 核心配置文件类的源码解读$ l$ l. A. L( W! u; q; w
3.8 服务创建进程之逆向工程
) J. d+ `) m/ ]: i& P3.9 服务创建进程之扒后处理- H( v# R0 l. T5 H, h5 k# ~
4.1 驱动接口模块的初始化流程
: J- b; Q, O7 {5 Z Q0 I# o5 q4.2 驱动握手算法与接口讲解
, ^! }% l+ B5 f& h5 W% N$ I$ f P! ]4.3 回调流程与接口说明2 N# g8 H: L8 M$ |/ i: K& p4 u
5.1 驱动开发环境的选择与搭建! A$ X: {0 r2 t+ X+ _2 N6 Y
5.10 如何安全的进行HOOK卸载8 n+ _7 T+ t9 X1 |$ {
5.11快速理解SFilter框架
; z, X! v& L* y5.12 终结者驱动框架与功能概述" s" d5 b: l1 @: b
5.13 RWTBase框架与例程处理 N; a0 W- r8 W, \$ j2 O& |* W5 d9 x
5.14 MBR保护与函数导出$ O6 Z$ ~ @- |5 ]# F* L* l
5.15 RWTKrl驱动入口点执行流程4 D' W5 r8 O# Z: j
5.16 系统重启时RWTKrl保护配置的读取流程0 H+ a( @+ H: |" {
5.17 规则的数据结构及其运作方式: F, Y7 `" Z# L7 _- G
5.18 GenericTable在驱动中的使用8 k- `6 M0 Q4 w6 ^, ]: E
5.19 威胁回调消息的运作流程
( b( x1 s: q$ G8 F* o0 I6 z' C0 Y5.2 WinDbg内核调试初步& s6 j8 k l. E2 r+ U
5.20 _ExInterlocked_XX_List在项目中的使用
5 }; W2 _1 q! x3 C% L7 T5.21 自我保护的运作流程
' Z1 X* h) b- a& ?0 |5.22 Create分发函数的处理流程3 T! H H4 U( w( ?) Y4 f( t
5.23 SetInformation分发函数的处理流程
) k+ S0 h1 Z7 |+ w% j5.24 其它分发函数的处理流程
% ]1 j, i7 k( c% ]* g R5.25 备份的核心逻辑与初始化
2 O/ U; B Y' \8 W5.26 备份核心逻辑的具体实现
M- V- {& Q, s; C5.27 获取备份信息的具体实现 q; l; U; p6 x9 w1 L$ }
5.28 备份接口与其它杂项说明
* i2 p! P, x# W5.29 驱动部分的课后作业
+ I z/ i! I, u: k5 R5.3 WinDbg内核调试实践" ~( t5 Q" R8 R5 q
5.4编写Windbg脚本来达成调试目的
7 _8 v- i' O w1 x2 s$ D o5.5 使用Verifier验证驱动稳定性
+ } t% E# }; r* Z( S5.6经典HOOK与异常捕获
- I1 j- u/ ?8 R: G. j- G) G; k5.7 安装HOOK的注意事项
+ k7 o2 p$ J* f# J4 f5.8 InlineHook的各种大法(一)
: {- a% u/ E4 p, }- k3 w, e5.9 InlineHook的各种大法(二)% { ^" x' I' {3 N* E0 `5 v* J
6.1 清除模块的初始化与还原点) m+ b7 D* C) D( I2 C
6.2 还原清除的运作流程
2 _3 B3 a5 }" s( ~$ U. u1 G; w6.3 清除模块其它功能梳理与课后作业& E* b `3 K8 ^. e
6.4 守护模块的运作流程与课后作业. M' B1 q/ c, a" S" L. V
7.1 界面进程的几种启动流程
8 g7 Z& d O& z7 R6 Q r; X/ k) v7.10 界面的整体框架梳理
9 {, }& U( H- h2 N9 N: [7.11 左边树形控件的布局与源码剖析4 T# @! \4 l4 c: i/ X
7.12 摘要页的布局与源码剖析
: T7 `5 t1 ?& N- q$ @5 `- t& N2 b7.13 陷阱设置页的布局与源码剖析+ ~$ `9 ~* t0 G1 k
7.14 备份设置与类型管理页的源码剖析4 S+ x/ i+ W {: F+ k
7.15 文件保护管理页的布局与源码剖析
: l6 k' h/ m+ e4 L7.16 备份文件导出页的布局与源码剖析$ p+ h+ {/ [$ {( d$ Y
7.17 手动清除页的布局与源码剖析
. f) |# Y4 R6 l0 C7.18 清除日志页的布局与源码剖析 U6 r2 {) c- i' i* Y
7.19 威胁警报页的布局与源码剖析
" B' k) x; S! K% T# q# r$ Z }7.2 SOUI生成的框架代码剖析( B# v5 E G0 P3 Y6 {3 d
7.20 文件保护回调页的布局与源码剖析
7 s; n& Q% y5 y K9 _7.21 其它页面的布局与课后作业5 L4 v( i7 p6 G0 ^
7.3 SOUI中图片资源与对话框的使用方法
- G, V0 x& Y' J/ ]7.4 SOUI的锚点布局与TabCtrl控件
) V+ F8 A* _- \2 P/ w/ `- x6 n7 _7.5 SOUI中编写自定义控件
$ p, j& ]! s' V7.6 保护密码引导页的布局与源码剖析
5 @3 t2 `) _" M- V1 H8 R$ l7.7 备份磁盘选择引导页的布局与源码剖析`
* q, N6 r% Q0 ~' l4 Y0 q4 M5 y7.8 备份文件上限引导页的布局与源码剖析
, J0 O% y+ `4 L! o7.9 其它引导页与第一次正式启动流程8 s& U/ l' N3 e1 {0 l8 w
8.1 卸载程序的运作流程!+ P9 L! l* X4 y! P
8.2 安装包的页面布局与杂项说明! x) I$ R! f% ^+ h' l, _& D: t
8.3 安装包的运行流程与源码剖析
0 |1 y/ E/ |- z1 C8.4 遗留问题与课程最后的话, _/ o9 i5 J4 S# U% y. N' ?
: x! i: s! u% R- B
|
|