|
|
现在的网络在线教学会教你写驱动、写应用层代码、写界面、还会教你玩逆向、以及一些调试技巧。但在安全软件开发领域,却没有教程会教你从实际的项目角度去切入,如何灵活的应用这些知识,最终打造一款安全产品出来。它涵盖了通过对安全趋势感受选择方向,确定后分析威胁(分析大部分样本)归纳其共性后,进而推导出防御思路,单调的防御思路还不足以形成产品,此时需要思考还需添加哪些功能才能使其足够成熟,能够满足基本产品级要求。再对所有功能进行归纳划分,最后产生成熟的架构。再根据架构开始进行驱动、应用层、界面的代码编写,这中间踩过的坑,遇到的坎,都将为大家呈现。看到这里,估计你的心中也有点了然了。
7 j: }8 \/ l L课程内容:( d6 r* v- Z _, ` u; c
1.1 课程简介
% W. E/ A4 G' G5 g1.2 预备知识与学习方法
# A8 h3 h8 W8 B; G. W- [( ?) m: m1.3 勒索病毒流行原因分析
5 |8 u M" M3 Q7 _8 s% [1.4 我的防勒索演进过程
, G5 Z0 a/ t" P2.1 功能的添加、细化与补充
- R' U- f. n- o2 ` O6 d. q! b2.2 细化功能的归类与整合
4 n) o, T" c; v' S: z# }2 C2.3 最终架构与核心流程
! A% y) V& o0 t2.4 终结者源码编译:
& g5 R3 j( Y/ Z8 Y' _' [3.1 Windows服务程序标准框架讲解$ m2 f) m* D Y4 i. X
3.10 服务与界面通讯的初始化流程$ X: g+ @& G; r; I: T! i
3.11 通讯建立及配置更改流程讲解
! ~" \8 b% e' H& j8 Q( z3.12 威胁与无响应消息回调流程
. t. ^3 `7 {. l3.13 心跳消息流程与关键点回顾6 N0 P4 ^0 b) O1 M
3.14 诱饵文件与清除接口源码讲解1 z+ `3 @6 q8 t* p6 ^3 U9 n, {" @
3.15 驱动接口与杂项源码讲解
0 f* z7 ^/ F9 ?3 u3.16 缺点分析与重构建议
. `: D: m9 ~; @7 T7 y3.2 Windows服务程序排错技巧
# U& N' V$ I- S1 `- E( k" H# P; j3.3 安全产品DLL导出表处理
9 X4 b. S7 h! d8 h3.4 终结者接口、开发与阅读流程+ ~* ^8 t9 P1 k* J p! y& b a
3.5 服务主线程与三种启动流程1 |: a# B. u U& X
3.6 配置文件的处理
* c- Y- j8 d m2 s5 x! j: H3 W, B3.7 核心配置文件类的源码解读
+ g* v) l- X" b% q& x" e3.8 服务创建进程之逆向工程
! T3 D, C; S" ~# M3.9 服务创建进程之扒后处理
! h: @4 x5 I2 I% i1 n( [2 M4.1 驱动接口模块的初始化流程
1 f3 h; R2 K H4.2 驱动握手算法与接口讲解
1 N2 \0 F$ Q( y4.3 回调流程与接口说明
! \9 D7 \3 j- D+ p5.1 驱动开发环境的选择与搭建0 ]8 L5 H9 r4 \, L6 S4 R3 K+ ^
5.10 如何安全的进行HOOK卸载
/ B9 ?$ T) W' t2 \ a" N5.11快速理解SFilter框架* x" J% x( e# y! Q
5.12 终结者驱动框架与功能概述
# m; j8 i0 G# T/ \5.13 RWTBase框架与例程处理4 u5 {; ~. n0 g
5.14 MBR保护与函数导出! H' y' R8 }- ?' X
5.15 RWTKrl驱动入口点执行流程& Y9 `' X5 s4 Y/ {! V) w
5.16 系统重启时RWTKrl保护配置的读取流程: `; F+ u. d O8 x9 Y
5.17 规则的数据结构及其运作方式- g) @/ c$ H8 M1 t0 { f8 T7 c
5.18 GenericTable在驱动中的使用
, t" `/ T1 M+ M5.19 威胁回调消息的运作流程( L; L9 k& T0 d$ ~
5.2 WinDbg内核调试初步3 P5 ]% [! \% C( U# s+ w
5.20 _ExInterlocked_XX_List在项目中的使用3 N9 l: ? g" S- O6 [4 Z- D/ I
5.21 自我保护的运作流程
$ G0 R2 N( L( ?0 M3 D5.22 Create分发函数的处理流程( E$ h0 R. K# X* `1 C
5.23 SetInformation分发函数的处理流程7 _1 T- T8 y! a& Y, d: \6 e
5.24 其它分发函数的处理流程
4 O: `) H+ E* ~- \% f2 ~8 T0 N0 {* j5.25 备份的核心逻辑与初始化
: l7 J- ^. C1 f& [/ W& H" n5.26 备份核心逻辑的具体实现
5 w! |8 v0 |$ b* D. K; P* O$ O) d6 d5.27 获取备份信息的具体实现2 E- t' Z1 k* C7 N* ]. O% G
5.28 备份接口与其它杂项说明9 F. i! }* [, _* y: K
5.29 驱动部分的课后作业0 |5 ]( }5 z; i
5.3 WinDbg内核调试实践
. w8 B4 }' x% A5.4编写Windbg脚本来达成调试目的* @6 ?, Z4 }- S; w9 i
5.5 使用Verifier验证驱动稳定性
4 |% T: i# X R. f+ k5.6经典HOOK与异常捕获
. q' ~, k3 ?0 M/ n5.7 安装HOOK的注意事项+ y1 J6 d2 s! d" ~3 i9 R
5.8 InlineHook的各种大法(一)% Y+ Z8 g+ Y9 H" K' d5 f+ ]3 K
5.9 InlineHook的各种大法(二)
/ W$ I, F! @/ a8 [* L# |$ f% e6.1 清除模块的初始化与还原点
3 D6 ?+ F; H" I9 U% R6.2 还原清除的运作流程
- q. b c( i( y! M+ W6.3 清除模块其它功能梳理与课后作业
( h, g( ?* H. M8 A4 b% h9 E M6.4 守护模块的运作流程与课后作业
/ A; n2 g0 D. B6 B: G, ~7.1 界面进程的几种启动流程
P7 e# n0 U! @# V7.10 界面的整体框架梳理
( r8 ?' w x# P7.11 左边树形控件的布局与源码剖析
7 C+ U3 v# D1 d- v$ L/ I% H7 C( [7.12 摘要页的布局与源码剖析8 z! H. v) X) L5 A% l
7.13 陷阱设置页的布局与源码剖析- t) f2 v- W. L
7.14 备份设置与类型管理页的源码剖析
0 O) m# f# g( t- z7.15 文件保护管理页的布局与源码剖析
5 \/ c6 d8 ?( L7.16 备份文件导出页的布局与源码剖析
6 Q: H- i* A, a0 @* X7.17 手动清除页的布局与源码剖析! B, W0 ]3 N" C3 E X U
7.18 清除日志页的布局与源码剖析# Z. {5 f) ~& T$ L
7.19 威胁警报页的布局与源码剖析
6 L) f; _7 {. a7.2 SOUI生成的框架代码剖析$ ~/ H ?, |" M% z: O4 s
7.20 文件保护回调页的布局与源码剖析
" e b. D# K2 n3 j7.21 其它页面的布局与课后作业+ p1 V" z- w% G- i
7.3 SOUI中图片资源与对话框的使用方法
. O; l! o6 W+ f6 o- x: b4 V$ t) \7.4 SOUI的锚点布局与TabCtrl控件, U: f7 A8 z# Y4 s n- K/ j
7.5 SOUI中编写自定义控件
, D( m, }4 ? r# H. |% \7.6 保护密码引导页的布局与源码剖析3 r |& K0 {7 e) l' A' K
7.7 备份磁盘选择引导页的布局与源码剖析`
! z* u, ^# [' _! w$ |& f7.8 备份文件上限引导页的布局与源码剖析
9 ]- B1 ^7 [3 B$ v L% c6 p7.9 其它引导页与第一次正式启动流程
9 D! G( b! e8 p: A% w, W( r4 _8.1 卸载程序的运作流程!
; c( L9 V5 t" e4 g/ S- F7 i. ^8.2 安装包的页面布局与杂项说明: @0 n3 c/ P" L/ G6 p) N v
8.3 安装包的运行流程与源码剖析
- }( r7 \; l+ [5 d9 H8 V8.4 遗留问题与课程最后的话
5 N8 {# z* o( r0 l* w
' u% c. O i5 H) I9 Q( }
|
|