|
现在的网络在线教学会教你写驱动、写应用层代码、写界面、还会教你玩逆向、以及一些调试技巧。但在安全软件开发领域,却没有教程会教你从实际的项目角度去切入,如何灵活的应用这些知识,最终打造一款安全产品出来。它涵盖了通过对安全趋势感受选择方向,确定后分析威胁(分析大部分样本)归纳其共性后,进而推导出防御思路,单调的防御思路还不足以形成产品,此时需要思考还需添加哪些功能才能使其足够成熟,能够满足基本产品级要求。再对所有功能进行归纳划分,最后产生成熟的架构。再根据架构开始进行驱动、应用层、界面的代码编写,这中间踩过的坑,遇到的坎,都将为大家呈现。看到这里,估计你的心中也有点了然了。! }/ Z' U; j8 C
课程内容:! t9 j6 c0 x, U
1.1 课程简介3 c3 y& Q3 x4 S% b0 g: b
1.2 预备知识与学习方法
6 a# k# D4 N' P+ g; [0 g9 H1.3 勒索病毒流行原因分析" _& Q% C9 l3 ~/ H3 e' M
1.4 我的防勒索演进过程$ I: J: ?; A8 f5 H) N
2.1 功能的添加、细化与补充
. `7 ?3 s8 \6 v9 F" `7 n2.2 细化功能的归类与整合1 g) e' Y" j' _% W# T v' o8 B
2.3 最终架构与核心流程
& v0 L6 u; y$ q. ?! n" f$ A v2.4 终结者源码编译:
W/ I Q2 n q3.1 Windows服务程序标准框架讲解
: h# v v6 A& F0 o0 O9 g; G' v3.10 服务与界面通讯的初始化流程" J" `7 n' v* M$ ?
3.11 通讯建立及配置更改流程讲解
/ ^& R2 a/ p6 r/ b" p. q1 Q3.12 威胁与无响应消息回调流程5 H: @" O6 x: K, w: `
3.13 心跳消息流程与关键点回顾
9 C/ m, s) w# {0 w7 c$ ^3.14 诱饵文件与清除接口源码讲解; G( ~! Z' F. }$ J
3.15 驱动接口与杂项源码讲解
. G' ?& {1 \: L6 N& P* J" g3.16 缺点分析与重构建议
+ |2 v) {) M; V5 L3 s5 B3.2 Windows服务程序排错技巧: @- J' ~$ A& Y. g
3.3 安全产品DLL导出表处理
! |8 O* ~; R( _( k5 y3.4 终结者接口、开发与阅读流程
2 t& R0 t0 ~+ l+ m3.5 服务主线程与三种启动流程# w5 L' s* T8 [& E8 W
3.6 配置文件的处理
% i* @/ C9 }/ q' b0 B' h( M9 p8 v% `3.7 核心配置文件类的源码解读
) k# |0 J( x- { v1 O4 \& ?3.8 服务创建进程之逆向工程
8 k' r0 q5 C. o2 [3.9 服务创建进程之扒后处理
+ a3 m8 }! K7 o7 i& m2 G4.1 驱动接口模块的初始化流程
P5 l4 t3 o7 e* K6 V' p4.2 驱动握手算法与接口讲解
6 R8 I c+ U, t7 v# g' w4.3 回调流程与接口说明
- S$ M0 o8 x7 F5.1 驱动开发环境的选择与搭建
* f: H: A k: G# w6 i+ ]5.10 如何安全的进行HOOK卸载
2 G1 @" r/ Z* n- q# F" M) R& ?7 m6 t0 w5.11快速理解SFilter框架
: x {* U# I7 _' m9 U$ Q8 M3 a3 h9 ~5.12 终结者驱动框架与功能概述
+ I& O2 o- X! Y. y' A; N4 X3 R H5.13 RWTBase框架与例程处理+ E1 U% }3 V! V* H
5.14 MBR保护与函数导出1 @$ w' @9 v5 B2 j
5.15 RWTKrl驱动入口点执行流程) I, w1 Y* e' p4 L2 f
5.16 系统重启时RWTKrl保护配置的读取流程0 D+ X7 j! \1 ], O4 }- O
5.17 规则的数据结构及其运作方式5 \9 O2 k: F8 `& m# ]5 v. x2 \
5.18 GenericTable在驱动中的使用. e4 L% b5 j0 B4 {' D! d7 C& Q
5.19 威胁回调消息的运作流程3 ? i% e( W) o1 o) f- O! O$ X
5.2 WinDbg内核调试初步
# L* J9 v6 V8 R, x1 Z B, T5.20 _ExInterlocked_XX_List在项目中的使用
* g6 S, c2 \1 s4 w" f5.21 自我保护的运作流程' ]% K0 e3 z; e$ k$ X! T
5.22 Create分发函数的处理流程
6 I+ ^0 v2 q9 b9 R3 H. o5.23 SetInformation分发函数的处理流程
6 F% V7 e( P$ O9 u5.24 其它分发函数的处理流程+ t6 e9 ?" C4 K: \/ e+ ]
5.25 备份的核心逻辑与初始化. Q1 r' V$ M. w1 i
5.26 备份核心逻辑的具体实现; M0 C. k2 P- H: e1 N9 T
5.27 获取备份信息的具体实现+ V3 V6 x9 V* P+ Q; Y) Y/ R
5.28 备份接口与其它杂项说明
% `$ q9 N2 D: n) ]+ L4 t. ]8 A5.29 驱动部分的课后作业
2 o3 @; U W' e4 s& s/ d5.3 WinDbg内核调试实践
Y) c0 w" A2 h: f$ A% f( r9 j5 I0 _5.4编写Windbg脚本来达成调试目的
3 ?" X2 B' k: w' [) y3 Y5.5 使用Verifier验证驱动稳定性" ^: ~4 ^. h9 S2 A: d1 Y! n k/ o: ]
5.6经典HOOK与异常捕获
; }6 A9 ^, d& o* M$ a6 D/ L- R5.7 安装HOOK的注意事项
7 S) s7 Z! N7 l1 q- |, e- r" a1 b5.8 InlineHook的各种大法(一)9 ?* C, ?5 K& l& }! `# H _
5.9 InlineHook的各种大法(二)) F% g. o; @5 f3 E# F! ]
6.1 清除模块的初始化与还原点$ v6 q9 A( B z/ B; N7 t; K/ y3 ^
6.2 还原清除的运作流程& a2 o" C' r, z8 B! q( R% D: M, T1 P
6.3 清除模块其它功能梳理与课后作业+ t+ h9 x7 L' l* ?
6.4 守护模块的运作流程与课后作业8 i. t9 f! v2 I: b2 o- K
7.1 界面进程的几种启动流程' g! b$ V t' ~
7.10 界面的整体框架梳理
- l: ^% q& }0 @# n5 n/ r- T# r7.11 左边树形控件的布局与源码剖析
8 E9 {+ t4 j0 t% s7.12 摘要页的布局与源码剖析
4 ?& ~# O4 z& W! c ?1 n/ k8 x7.13 陷阱设置页的布局与源码剖析
5 ?$ t0 Y9 S( U; ~! U7.14 备份设置与类型管理页的源码剖析' N! l9 ?5 q, z) S
7.15 文件保护管理页的布局与源码剖析4 h: }$ |: N2 r2 Q% q" s) e
7.16 备份文件导出页的布局与源码剖析
7 d* \5 j) K' t0 a7 n/ A7.17 手动清除页的布局与源码剖析
. ?( G* S' E; h. p' p e7.18 清除日志页的布局与源码剖析
) k S' G7 _5 x7.19 威胁警报页的布局与源码剖析
9 F# `! V5 o( H3 F. b7.2 SOUI生成的框架代码剖析
6 D: K$ ^9 `& P. F) x9 l8 K7.20 文件保护回调页的布局与源码剖析; S# [* |$ {, P J
7.21 其它页面的布局与课后作业
& N5 d* o$ W6 e8 d8 A7.3 SOUI中图片资源与对话框的使用方法
& x/ [7 F1 r: q, D- y* E7.4 SOUI的锚点布局与TabCtrl控件
: w6 U4 |' k. r3 |$ a/ ^7.5 SOUI中编写自定义控件0 ~! |: S+ n- U* I1 |
7.6 保护密码引导页的布局与源码剖析
' @/ Z4 f! l3 V* g9 X' P7.7 备份磁盘选择引导页的布局与源码剖析`
/ H! W7 ^9 k% m) I6 S6 e1 Y7.8 备份文件上限引导页的布局与源码剖析
3 L# m% k8 I* U, H: w' b- d7.9 其它引导页与第一次正式启动流程, d9 G/ Z6 P o
8.1 卸载程序的运作流程!+ h! ]/ `" w. q& }2 ?" t: w- n
8.2 安装包的页面布局与杂项说明1 G8 k r9 p' d( {3 }
8.3 安装包的运行流程与源码剖析; D9 G4 T- p% \) _6 z3 e
8.4 遗留问题与课程最后的话! i2 |: n% R4 n; Z
" ~- V4 i4 y) z
|
|