|
|
现在的网络在线教学会教你写驱动、写应用层代码、写界面、还会教你玩逆向、以及一些调试技巧。但在安全软件开发领域,却没有教程会教你从实际的项目角度去切入,如何灵活的应用这些知识,最终打造一款安全产品出来。它涵盖了通过对安全趋势感受选择方向,确定后分析威胁(分析大部分样本)归纳其共性后,进而推导出防御思路,单调的防御思路还不足以形成产品,此时需要思考还需添加哪些功能才能使其足够成熟,能够满足基本产品级要求。再对所有功能进行归纳划分,最后产生成熟的架构。再根据架构开始进行驱动、应用层、界面的代码编写,这中间踩过的坑,遇到的坎,都将为大家呈现。看到这里,估计你的心中也有点了然了。
- M V7 n" t- T! F" F% N课程内容:7 I; ]2 B3 W5 p7 a7 l0 }1 `
1.1 课程简介
2 W% g/ Y. p6 Y3 G. h1 q2 p1.2 预备知识与学习方法4 _: n: W; Q, H
1.3 勒索病毒流行原因分析, i2 H$ s2 ?) Q& B; L3 K! V9 `
1.4 我的防勒索演进过程6 ~8 W8 H, x3 i F% L' ~
2.1 功能的添加、细化与补充) {" x" U+ a/ `
2.2 细化功能的归类与整合; Z7 r3 n; @4 ~& t# W
2.3 最终架构与核心流程& Y4 Q& t. E0 c7 p
2.4 终结者源码编译:% T$ `% M! \. D3 F, q/ m3 b
3.1 Windows服务程序标准框架讲解
$ M" S8 w K G; ~: u) j3.10 服务与界面通讯的初始化流程
/ x+ t, l7 |1 V9 C# M3.11 通讯建立及配置更改流程讲解
) E- z" H7 D9 n q c% z3.12 威胁与无响应消息回调流程$ n; O, q' [* o, g
3.13 心跳消息流程与关键点回顾
" Y0 l3 E. w) e1 o' V( J3.14 诱饵文件与清除接口源码讲解: [# s) s4 P# \$ I
3.15 驱动接口与杂项源码讲解
* a" Q6 n7 h& B3.16 缺点分析与重构建议
: b: T+ x' W! e. k3.2 Windows服务程序排错技巧
' B5 p$ z, f1 k z! H; }( p; S3.3 安全产品DLL导出表处理
! L: o& p( G, A" a/ a3.4 终结者接口、开发与阅读流程: R% `2 F6 s. W
3.5 服务主线程与三种启动流程
- g9 x0 O* P# U% w3.6 配置文件的处理
# |: Y, o! a# b, T3.7 核心配置文件类的源码解读
. y5 s2 E/ j3 r5 P3.8 服务创建进程之逆向工程
Z' l; B& @5 u$ H9 x! T2 \3.9 服务创建进程之扒后处理- e# Y V+ w# L+ P
4.1 驱动接口模块的初始化流程( c. N0 D+ ~) P# I9 ?: N* W6 T" F. f
4.2 驱动握手算法与接口讲解
6 H& O. R* E! J! e. o% S( V4.3 回调流程与接口说明
- U' v' Q! Q# D+ I2 u0 v$ L5.1 驱动开发环境的选择与搭建/ n9 I) V L0 ]( n' Q% U7 |/ E
5.10 如何安全的进行HOOK卸载
) Q( U1 Q5 T7 q5 `5.11快速理解SFilter框架" y. f ^8 ~4 ]( @% V; g, [4 E# \
5.12 终结者驱动框架与功能概述! K; O1 P8 l4 Z7 a* V
5.13 RWTBase框架与例程处理3 E& f# K/ m* ^& b1 Q: t6 ~) @
5.14 MBR保护与函数导出
3 o, J& ^' N$ t; N$ A6 D5.15 RWTKrl驱动入口点执行流程; n1 H' \# f @4 ^1 }! a, C
5.16 系统重启时RWTKrl保护配置的读取流程7 ^% r7 U& u: ]
5.17 规则的数据结构及其运作方式
: ~5 R6 J U e2 E6 f5.18 GenericTable在驱动中的使用* F. J0 S3 O G) V
5.19 威胁回调消息的运作流程7 ]8 I% A% {3 {7 I
5.2 WinDbg内核调试初步) B9 {1 [7 Y' w Q$ ?
5.20 _ExInterlocked_XX_List在项目中的使用% A n. J" L" j( G: R
5.21 自我保护的运作流程
. K4 e* H/ f' H" _5.22 Create分发函数的处理流程
& w4 F6 @! X9 y0 T7 y) W5.23 SetInformation分发函数的处理流程
1 e) b( g# L$ D, y# O5.24 其它分发函数的处理流程
6 ^4 z# C4 N( C! e) o* |8 o& d5.25 备份的核心逻辑与初始化% x7 o7 B" k$ u( y
5.26 备份核心逻辑的具体实现
9 E4 M# d& s8 R' X) o L5 [4 ]( m5.27 获取备份信息的具体实现
6 o7 C z5 E: p' Y& D2 L5.28 备份接口与其它杂项说明
X. l3 s" t3 I8 e3 f: e$ |; j# d5.29 驱动部分的课后作业6 A4 a; ^; b) e9 j
5.3 WinDbg内核调试实践
( K8 T) T' Q# D$ R1 k3 ]1 w/ L9 Y5.4编写Windbg脚本来达成调试目的
" s z- E2 A; s) Z5.5 使用Verifier验证驱动稳定性
7 E3 m- ^ F, K5.6经典HOOK与异常捕获; w! b! }+ e: K8 {, z- t) a# r% m
5.7 安装HOOK的注意事项# o6 M5 `/ o) H8 \% O% W ~
5.8 InlineHook的各种大法(一); U; U3 M( n) b6 H% S
5.9 InlineHook的各种大法(二)( m* A2 A" x* k& n& a/ N( B5 u* c' g
6.1 清除模块的初始化与还原点4 S, Z" B7 j: t% ^+ q
6.2 还原清除的运作流程* F7 a+ y2 L8 X: ]; Z& `: ]& [
6.3 清除模块其它功能梳理与课后作业6 C- o+ w9 A$ ~- q) d: { X6 Z, ?
6.4 守护模块的运作流程与课后作业; F) K) s8 j1 ]1 Z3 O
7.1 界面进程的几种启动流程
& d2 H& J1 _6 W, K7.10 界面的整体框架梳理/ _" f4 R- e) r) i: N
7.11 左边树形控件的布局与源码剖析( T, n4 y8 F( ]2 K$ C
7.12 摘要页的布局与源码剖析
% q* l9 @4 Z2 |( X7 h$ u7.13 陷阱设置页的布局与源码剖析& P3 P7 _" w/ ?1 S* q2 z4 Y5 i
7.14 备份设置与类型管理页的源码剖析# F" J, {( }% @* b8 J3 {( u
7.15 文件保护管理页的布局与源码剖析) t- ~. O1 ~, v. p
7.16 备份文件导出页的布局与源码剖析; T/ ~' E/ `: \2 x5 u
7.17 手动清除页的布局与源码剖析
6 E ~( ~1 G+ x$ h- I% U) p7.18 清除日志页的布局与源码剖析
* T2 d& l |; J& w& U( K) m7.19 威胁警报页的布局与源码剖析' K, i( ~9 j/ Q/ U& B+ Q& W
7.2 SOUI生成的框架代码剖析" v4 `' G! c7 ~% h
7.20 文件保护回调页的布局与源码剖析
|; q' z4 u1 L9 U% S1 H7.21 其它页面的布局与课后作业
( N. y0 C! B+ A% t: n7.3 SOUI中图片资源与对话框的使用方法
/ _$ \$ W6 K! T9 `4 @7.4 SOUI的锚点布局与TabCtrl控件
' }+ n& J: P) F' g7.5 SOUI中编写自定义控件8 F3 {5 s7 n: E) ~; \
7.6 保护密码引导页的布局与源码剖析
' v8 F; V- T5 w5 C% f u2 F7.7 备份磁盘选择引导页的布局与源码剖析`: c; A" x0 E6 M. W; I
7.8 备份文件上限引导页的布局与源码剖析+ u7 ~; y* J0 a$ ]- V1 Y# \* y
7.9 其它引导页与第一次正式启动流程" g5 m! ], {, n% H- V. \6 U
8.1 卸载程序的运作流程!
1 b+ t! {7 L. F* }' V8.2 安装包的页面布局与杂项说明3 C8 e9 b5 X* N& G! w: s
8.3 安装包的运行流程与源码剖析
) O8 _ u2 ?, F. c2 K) ?+ w8.4 遗留问题与课程最后的话# ]) h, {6 F8 ?8 O
6 E" o" @# x4 j
|
|