|
|
现在的网络在线教学会教你写驱动、写应用层代码、写界面、还会教你玩逆向、以及一些调试技巧。但在安全软件开发领域,却没有教程会教你从实际的项目角度去切入,如何灵活的应用这些知识,最终打造一款安全产品出来。它涵盖了通过对安全趋势感受选择方向,确定后分析威胁(分析大部分样本)归纳其共性后,进而推导出防御思路,单调的防御思路还不足以形成产品,此时需要思考还需添加哪些功能才能使其足够成熟,能够满足基本产品级要求。再对所有功能进行归纳划分,最后产生成熟的架构。再根据架构开始进行驱动、应用层、界面的代码编写,这中间踩过的坑,遇到的坎,都将为大家呈现。看到这里,估计你的心中也有点了然了。
1 b( B7 V8 }6 Z, P课程内容:
* N; P* f f1 [( U9 y) F- M1.1 课程简介/ C- l. O+ p. u3 N9 w4 g
1.2 预备知识与学习方法! b5 T2 F6 D. J$ B y, u' i
1.3 勒索病毒流行原因分析6 K9 M) I4 L* j9 e
1.4 我的防勒索演进过程
6 d0 X+ b1 u% |8 i4 u0 u5 C: Y2.1 功能的添加、细化与补充" R3 H. f+ u' @ W1 G
2.2 细化功能的归类与整合
8 J/ S8 J: H) W; o0 Y( J2.3 最终架构与核心流程" E0 e3 ]" _. n2 J* F
2.4 终结者源码编译:
5 h# E' Q6 K* D( p/ a8 X$ S3.1 Windows服务程序标准框架讲解- Y' [( A/ |) |
3.10 服务与界面通讯的初始化流程
! l# _' O1 [# {' v$ u9 A- ]% \( D7 p3.11 通讯建立及配置更改流程讲解
4 k# G5 H' M q" w3.12 威胁与无响应消息回调流程
6 b% F! s d' W: j# _: N/ z; _7 x3.13 心跳消息流程与关键点回顾
q: u8 Z N3 b2 f) W3.14 诱饵文件与清除接口源码讲解& p# {9 Y+ K+ h6 f, x# s0 ~# j* S% U9 b
3.15 驱动接口与杂项源码讲解: M2 w/ T5 z6 `* C* i+ _
3.16 缺点分析与重构建议: Q Z4 v& O3 \
3.2 Windows服务程序排错技巧
: y% }. k3 ?* w3.3 安全产品DLL导出表处理
4 |+ ^0 I3 y2 r3 B3 ]9 d/ [3.4 终结者接口、开发与阅读流程1 x, Y5 O0 z$ O
3.5 服务主线程与三种启动流程
2 v% O- R9 ^8 D1 I; P3.6 配置文件的处理
2 S1 T) e$ N' m+ y- Q3.7 核心配置文件类的源码解读
9 }5 p( K/ ^4 C7 k3.8 服务创建进程之逆向工程
. }; I: O8 f4 m3 o" [% a2 A! H2 s3.9 服务创建进程之扒后处理. H* d c2 N9 ^; X" Z+ u6 P. C
4.1 驱动接口模块的初始化流程
% M- z# e: P0 r4.2 驱动握手算法与接口讲解) P1 y* }! s8 c& x6 t
4.3 回调流程与接口说明4 F4 P3 m* q3 \) V1 b2 Q
5.1 驱动开发环境的选择与搭建
+ g9 E: H& l6 u9 o$ \- n5.10 如何安全的进行HOOK卸载
6 M2 y H9 m1 r. ^2 o5.11快速理解SFilter框架
2 O$ U$ I6 }3 @5.12 终结者驱动框架与功能概述
0 a8 S$ x9 J" ?5.13 RWTBase框架与例程处理$ s3 ~; C4 M- X2 m; K
5.14 MBR保护与函数导出& @& I+ f' `* `- j$ C9 v. X
5.15 RWTKrl驱动入口点执行流程
3 c* I2 o" ^; a( {5.16 系统重启时RWTKrl保护配置的读取流程# o1 Z1 ~% m7 N
5.17 规则的数据结构及其运作方式+ W3 f" {7 @5 X) v# k, u
5.18 GenericTable在驱动中的使用
4 _/ `6 ^2 ^: r& o& i6 Z: I5.19 威胁回调消息的运作流程: o5 b0 z. n ^5 \
5.2 WinDbg内核调试初步 T) h; Q" U& G) |$ K% K+ I
5.20 _ExInterlocked_XX_List在项目中的使用, `; w j8 \0 ?" e1 y
5.21 自我保护的运作流程
7 ?. z4 ?9 F( ^% |. h5.22 Create分发函数的处理流程. |; P4 _ H9 L7 ~. {8 \
5.23 SetInformation分发函数的处理流程
! |; E, ]% I# y/ `- W5.24 其它分发函数的处理流程4 w( W2 {0 b) v5 r& U
5.25 备份的核心逻辑与初始化6 m _ W- B2 v+ C0 k+ V, f' ^
5.26 备份核心逻辑的具体实现' l9 M% b) Q$ ^0 g: V/ U; }5 \( e7 K
5.27 获取备份信息的具体实现4 c& h) ` B; f- P6 j
5.28 备份接口与其它杂项说明
' G7 c: s: \$ q* }; q- Q5.29 驱动部分的课后作业
, R; k: A2 Y; r2 q6 u9 E: b5.3 WinDbg内核调试实践4 g% Y6 e% }/ [ S, i% f, u
5.4编写Windbg脚本来达成调试目的
R' D P4 s( `4 G% `, B8 v/ u0 S6 M5.5 使用Verifier验证驱动稳定性
; g) ]7 B# ` g; C9 K$ M$ z0 E5.6经典HOOK与异常捕获/ u: D* ]- `4 |4 y# i% k
5.7 安装HOOK的注意事项
! h1 Q0 J1 F& M y9 y5.8 InlineHook的各种大法(一)
( b+ T9 c" r! u5.9 InlineHook的各种大法(二)
1 e: J0 s) I n8 y- ^4 R4 L) |6.1 清除模块的初始化与还原点8 X1 C; T* ~9 s8 V
6.2 还原清除的运作流程
# m* ?4 n' ~) O4 c! g6.3 清除模块其它功能梳理与课后作业
1 ]8 b! p$ ]; p" e2 [- R, Z* B. D6.4 守护模块的运作流程与课后作业( b, O$ r8 k4 r/ d3 N
7.1 界面进程的几种启动流程
: {8 t* h% ~% q: D! H0 y8 C7.10 界面的整体框架梳理9 O3 X# a( j5 O3 V% [+ s0 X
7.11 左边树形控件的布局与源码剖析( a/ e: v: `; B0 ]
7.12 摘要页的布局与源码剖析
6 `4 _. F; w0 J9 z7.13 陷阱设置页的布局与源码剖析
3 d$ E. l5 \& j4 Z# A I# h7.14 备份设置与类型管理页的源码剖析
( F9 @- H5 d0 b5 _4 X7.15 文件保护管理页的布局与源码剖析
# @6 e/ Q7 z" y/ e7.16 备份文件导出页的布局与源码剖析! ~# r9 Y1 L* W4 l j% U* y4 I
7.17 手动清除页的布局与源码剖析
6 F# R l) [" O/ U! s: u9 {7.18 清除日志页的布局与源码剖析
: u" _) Y( E, R7.19 威胁警报页的布局与源码剖析; _) F4 T' I- g( L! V
7.2 SOUI生成的框架代码剖析, c0 p' Z) J' J' p( B% e" S" P
7.20 文件保护回调页的布局与源码剖析% h" N% W. \ P2 x1 n! ? B4 c5 ?
7.21 其它页面的布局与课后作业* b4 R1 x3 {3 L" x7 K- o, f
7.3 SOUI中图片资源与对话框的使用方法
6 t! r% T0 }3 I5 `" e7.4 SOUI的锚点布局与TabCtrl控件2 r L7 u6 k, a: w! ]# A7 W
7.5 SOUI中编写自定义控件
, l/ q- M0 {% Z4 N9 d0 t' k3 s) u7.6 保护密码引导页的布局与源码剖析
0 A, t, x3 V* t& \4 Z7.7 备份磁盘选择引导页的布局与源码剖析`
) r# M9 e; k4 Q8 I$ G! t7.8 备份文件上限引导页的布局与源码剖析
4 l: _+ J+ Q! B7.9 其它引导页与第一次正式启动流程
2 V; {6 D8 p# h. F& _ ~0 v' q c# z8.1 卸载程序的运作流程!
( e, F. D) I% n7 Q8.2 安装包的页面布局与杂项说明
/ D, [0 p( L+ v% u# b, Z" {. g8.3 安装包的运行流程与源码剖析. h A+ N. \) |/ R
8.4 遗留问题与课程最后的话$ R7 [! w6 B' o7 h! S
" f' _: K0 a. B/ f
|
|