|
现在的网络在线教学会教你写驱动、写应用层代码、写界面、还会教你玩逆向、以及一些调试技巧。但在安全软件开发领域,却没有教程会教你从实际的项目角度去切入,如何灵活的应用这些知识,最终打造一款安全产品出来。它涵盖了通过对安全趋势感受选择方向,确定后分析威胁(分析大部分样本)归纳其共性后,进而推导出防御思路,单调的防御思路还不足以形成产品,此时需要思考还需添加哪些功能才能使其足够成熟,能够满足基本产品级要求。再对所有功能进行归纳划分,最后产生成熟的架构。再根据架构开始进行驱动、应用层、界面的代码编写,这中间踩过的坑,遇到的坎,都将为大家呈现。看到这里,估计你的心中也有点了然了。' m$ c. t; n. x1 [0 o" L" ?# n
课程内容:0 P; p |( x8 P
1.1 课程简介
4 ]$ f4 [( A0 [$ A1.2 预备知识与学习方法
* v4 u: D- E+ b& A: u3 I1.3 勒索病毒流行原因分析
5 R3 q: P) i- S1.4 我的防勒索演进过程8 F8 n% @' J3 `7 S- S. }8 h/ l9 O
2.1 功能的添加、细化与补充, {8 ~6 c9 n7 e! x
2.2 细化功能的归类与整合
/ v% i5 P' s- x2 d/ _. z2.3 最终架构与核心流程
t- V* l+ X) [* F4 f2.4 终结者源码编译:
! s0 K0 ? G6 F! X5 c; U3 i" I( c3.1 Windows服务程序标准框架讲解( c' J) N! |* ?# a$ L$ D
3.10 服务与界面通讯的初始化流程
, \) `, _, N! h7 n7 c3.11 通讯建立及配置更改流程讲解! U0 Y: w, Q& Q) }/ C
3.12 威胁与无响应消息回调流程
+ X7 f+ z! i" Y3.13 心跳消息流程与关键点回顾+ Q1 W4 n; E6 n& j: c4 ~# m q' a- K
3.14 诱饵文件与清除接口源码讲解; A9 v6 S* i4 _6 E* e6 k ^ ~# e
3.15 驱动接口与杂项源码讲解4 l% f) _6 F, W) w% o6 ~, U! D/ u
3.16 缺点分析与重构建议4 c' S' [4 z& N1 r& H2 ?
3.2 Windows服务程序排错技巧7 [8 U! Q$ x7 t
3.3 安全产品DLL导出表处理
1 M- T) g. l5 L: w3.4 终结者接口、开发与阅读流程) C2 }- V8 V8 g4 L w) L
3.5 服务主线程与三种启动流程( |4 N$ A3 J+ F7 m u4 b! X- _( r6 H& ?
3.6 配置文件的处理& v/ P/ t$ M# S) Z) P
3.7 核心配置文件类的源码解读
4 E4 o: U9 V, g) f7 W% [3.8 服务创建进程之逆向工程
! ]/ U5 U* }6 ^4 f" F3.9 服务创建进程之扒后处理
" W2 L) } {. L6 J- \0 J6 r \; ^4.1 驱动接口模块的初始化流程
) ~0 F6 w( q* I* t4.2 驱动握手算法与接口讲解( y( C5 F1 |( i' L0 A3 F* t2 C
4.3 回调流程与接口说明
* s9 i$ ]- W1 J5.1 驱动开发环境的选择与搭建
9 b$ E. L6 a& @ M1 E Y7 ^, {" k5.10 如何安全的进行HOOK卸载
& n7 }* l1 d. B# t2 P |# b- U* _5.11快速理解SFilter框架$ W" y! N" G" h: U/ u% H* M
5.12 终结者驱动框架与功能概述* w: }8 m% O6 n' t& M; X
5.13 RWTBase框架与例程处理9 f! b$ w, P2 K8 b3 o
5.14 MBR保护与函数导出# k }$ _7 H: g* ?: J
5.15 RWTKrl驱动入口点执行流程' w. j0 P$ m& z& `. K; }! ~
5.16 系统重启时RWTKrl保护配置的读取流程" Q7 ?0 K6 a# U: ]# r$ ]
5.17 规则的数据结构及其运作方式5 I3 b/ Z. Q- \8 G: v3 ]! ]
5.18 GenericTable在驱动中的使用) W* @. y8 m$ j) h: c
5.19 威胁回调消息的运作流程* h9 c% w5 v0 F5 g9 Q
5.2 WinDbg内核调试初步
( z1 b5 \7 O0 I2 M! Q+ y1 I5.20 _ExInterlocked_XX_List在项目中的使用" g' E4 Y( x, k% P7 I* Z
5.21 自我保护的运作流程
- [$ s6 i; @7 d5.22 Create分发函数的处理流程1 Q4 h/ y+ S1 y8 B4 N
5.23 SetInformation分发函数的处理流程
0 ^* z! s" `! g) O. H q5.24 其它分发函数的处理流程# {% \! M) ~1 z, i: j1 D; U
5.25 备份的核心逻辑与初始化
i" i R" A/ T) J5.26 备份核心逻辑的具体实现, m" r/ z) B( h* c9 E
5.27 获取备份信息的具体实现
3 m" T. g* I" O A1 q- @5.28 备份接口与其它杂项说明! }$ j. S5 a5 k p$ G: D
5.29 驱动部分的课后作业
& o0 s) b. R: e, x. \9 ]5.3 WinDbg内核调试实践
3 [/ a# l3 `( R4 q+ e3 Q5.4编写Windbg脚本来达成调试目的
, R, e( J* n- F' f( _5.5 使用Verifier验证驱动稳定性$ r6 T' I2 t: r5 \/ s) u
5.6经典HOOK与异常捕获& ]. n) c- K% J* \6 `: ~* A
5.7 安装HOOK的注意事项3 f/ j% a: W2 t( O8 `4 ?: Q8 ^
5.8 InlineHook的各种大法(一)9 R- @5 G1 j- c5 y7 }
5.9 InlineHook的各种大法(二): }2 g! u0 H, h+ V
6.1 清除模块的初始化与还原点5 j4 V( @4 G; Q v
6.2 还原清除的运作流程
1 H8 f I' e+ h' D% S' @9 K8 e( V# j6.3 清除模块其它功能梳理与课后作业3 \, \+ h( `$ ]3 N9 v; p
6.4 守护模块的运作流程与课后作业
7 P7 P5 p1 @8 y7.1 界面进程的几种启动流程4 K G [$ ~) P% X& M2 y
7.10 界面的整体框架梳理
' v4 N/ U. e) Q; V9 g. @$ U" a) E7.11 左边树形控件的布局与源码剖析
% y0 R( u: Y5 c& {- b/ z7.12 摘要页的布局与源码剖析
% N0 b/ z& \8 P7.13 陷阱设置页的布局与源码剖析
4 ~/ N# Z0 |( e7 F0 @7.14 备份设置与类型管理页的源码剖析7 ~# ^5 ]+ O! L1 r
7.15 文件保护管理页的布局与源码剖析
- i3 t2 f4 N i5 E7.16 备份文件导出页的布局与源码剖析# s; k" i8 ?% |% ~7 W
7.17 手动清除页的布局与源码剖析% P$ g5 j& D+ X$ `
7.18 清除日志页的布局与源码剖析
/ |" S, d7 F/ e, ]- ]) W% e0 h7.19 威胁警报页的布局与源码剖析3 x; A3 K a+ i) b9 j
7.2 SOUI生成的框架代码剖析
) ^7 U% M" Z5 L7.20 文件保护回调页的布局与源码剖析- Q5 x' G3 Z. R% _; H5 @
7.21 其它页面的布局与课后作业
1 | a/ e0 a& C; `* @/ `7.3 SOUI中图片资源与对话框的使用方法0 }# n( N7 V2 I
7.4 SOUI的锚点布局与TabCtrl控件
- D) e. n. k1 x6 y7.5 SOUI中编写自定义控件( a% f* \, ~9 Z9 w( S; d! Q
7.6 保护密码引导页的布局与源码剖析( N- d( [6 |; K7 A) C
7.7 备份磁盘选择引导页的布局与源码剖析`
a ?/ _6 T4 g' F/ X7.8 备份文件上限引导页的布局与源码剖析- z/ y9 ?5 }: M9 A5 Y
7.9 其它引导页与第一次正式启动流程
4 U4 m, w# e! f8 {8.1 卸载程序的运作流程!: K D2 C9 Y( ]" d9 w% r8 G9 K+ x
8.2 安装包的页面布局与杂项说明
5 N2 L6 n6 X6 O8 M6 V, Y8.3 安装包的运行流程与源码剖析
4 o" G* _+ I/ H8 v: a0 i. ?8.4 遗留问题与课程最后的话1 s4 y% q1 m. e8 [" q( p
+ N& a* q6 c. i& Q9 p/ M2 K
|
|