|
现在的网络在线教学会教你写驱动、写应用层代码、写界面、还会教你玩逆向、以及一些调试技巧。但在安全软件开发领域,却没有教程会教你从实际的项目角度去切入,如何灵活的应用这些知识,最终打造一款安全产品出来。它涵盖了通过对安全趋势感受选择方向,确定后分析威胁(分析大部分样本)归纳其共性后,进而推导出防御思路,单调的防御思路还不足以形成产品,此时需要思考还需添加哪些功能才能使其足够成熟,能够满足基本产品级要求。再对所有功能进行归纳划分,最后产生成熟的架构。再根据架构开始进行驱动、应用层、界面的代码编写,这中间踩过的坑,遇到的坎,都将为大家呈现。看到这里,估计你的心中也有点了然了。
9 G; F& D ~/ ]; r, b课程内容:+ _2 l+ K. Y: d. l/ Y! E* P
1.1 课程简介( e0 [; Y: c( V4 u
1.2 预备知识与学习方法/ a7 I8 T) R5 q* w% F' n: x
1.3 勒索病毒流行原因分析4 z2 A* b; p. g6 H5 s7 f/ f; m
1.4 我的防勒索演进过程
3 i2 u" P- B0 K% A7 ?$ P+ G @2.1 功能的添加、细化与补充
' T6 @# J& U7 T9 o$ f- Y2.2 细化功能的归类与整合9 Z. N9 a* l6 _: k* y9 U
2.3 最终架构与核心流程" `: Z( K6 G5 q5 o; O) g
2.4 终结者源码编译:- K: z) }2 ]7 K: T0 @) x5 u
3.1 Windows服务程序标准框架讲解
' v/ v! e/ J* g! @' r) R0 y& O2 {& e3.10 服务与界面通讯的初始化流程$ h+ p; }1 d; e
3.11 通讯建立及配置更改流程讲解" Y$ z+ y- s6 b. o, j- ^. D
3.12 威胁与无响应消息回调流程
$ e' Q6 b/ g* B3.13 心跳消息流程与关键点回顾. F. W- T# C$ c2 ~* m) A9 R: S) i
3.14 诱饵文件与清除接口源码讲解
" i) u% ^0 J0 |: r& Z6 @, @3.15 驱动接口与杂项源码讲解* y+ N% \% W2 K L
3.16 缺点分析与重构建议1 [* f: i& x* ~. a# s" d4 T' s
3.2 Windows服务程序排错技巧
( B; p9 |; [! U z c3.3 安全产品DLL导出表处理
& d6 ]! g1 ^' K- q3.4 终结者接口、开发与阅读流程
7 i" T6 W- g: Q6 a L3.5 服务主线程与三种启动流程$ w4 D. z% J5 p4 H- L% @7 F
3.6 配置文件的处理: C; [& e, D3 W4 i2 Z5 v( R
3.7 核心配置文件类的源码解读
/ [9 |" C/ O* J$ a( R& A: C3.8 服务创建进程之逆向工程
- w% @1 x' y+ u. y+ ~) X/ {7 C3.9 服务创建进程之扒后处理1 x4 C. n+ _3 ~5 g1 ^" m4 I
4.1 驱动接口模块的初始化流程3 x7 g; `- Y% b6 Z0 |0 k1 `
4.2 驱动握手算法与接口讲解2 e' j$ b" m% w$ l1 z+ ^. |) c% B+ q, Z
4.3 回调流程与接口说明
7 ]0 J; p- ^2 [8 v7 Y4 w5.1 驱动开发环境的选择与搭建- E: T1 a; f; Y" Z
5.10 如何安全的进行HOOK卸载
0 c6 M' o f+ h1 A" y5.11快速理解SFilter框架7 y/ ~% h; M4 z/ M% _5 U
5.12 终结者驱动框架与功能概述 X, }9 G8 D. r ~
5.13 RWTBase框架与例程处理5 m9 u0 ~; j( n- s& Z- j+ C! y1 z
5.14 MBR保护与函数导出
& t1 b! _: q a: I( l' w+ r& ?3 S1 h5.15 RWTKrl驱动入口点执行流程
) F6 y. x3 T3 u6 @0 b% U, o: i5.16 系统重启时RWTKrl保护配置的读取流程
' e% k& b2 x" ~: \9 M# X, x! P3 ?( f5.17 规则的数据结构及其运作方式
9 M7 l, j! ~8 g: v7 s: s0 O/ g1 |5.18 GenericTable在驱动中的使用
- P* H8 |/ s+ O5.19 威胁回调消息的运作流程
- o' o" C* H) Z* t3 i5.2 WinDbg内核调试初步' {4 \# G3 ^& O* j
5.20 _ExInterlocked_XX_List在项目中的使用& o% Y& Y- E K# W7 e1 _
5.21 自我保护的运作流程! a$ q* E! f8 N P+ o2 j
5.22 Create分发函数的处理流程" U9 @3 p3 k. D& W8 b8 p) @5 D
5.23 SetInformation分发函数的处理流程! v6 `& ~1 W7 G) e) Y$ ^
5.24 其它分发函数的处理流程
% w+ d/ W# A" x- A5.25 备份的核心逻辑与初始化
5 h1 y9 [: K; |) k1 Q( ~5.26 备份核心逻辑的具体实现9 A0 h* N1 E. y1 d3 l" ]1 X4 w6 j
5.27 获取备份信息的具体实现
/ x, H' X3 g }- o* G/ U5.28 备份接口与其它杂项说明
o, ?: p; ?3 ?5.29 驱动部分的课后作业6 H! l8 s3 x, g0 [5 L% u
5.3 WinDbg内核调试实践5 V7 ] J, |% ~" K1 l
5.4编写Windbg脚本来达成调试目的2 A/ n% I" ~0 ^$ z. i3 `% ]
5.5 使用Verifier验证驱动稳定性
; S7 |- w: {/ U9 v' G" z3 A; M5.6经典HOOK与异常捕获
, I. L `! \2 f# [5 [7 u& q5.7 安装HOOK的注意事项7 _0 Q2 w# N' t& x$ n d
5.8 InlineHook的各种大法(一)
1 [ e8 m& ^ z/ X6 G; M( A5.9 InlineHook的各种大法(二); T0 m+ j5 B, B; o
6.1 清除模块的初始化与还原点
7 K# _5 n9 q8 O+ ~+ b2 F6.2 还原清除的运作流程
, s! C# ^& M. x. b4 ?( P6.3 清除模块其它功能梳理与课后作业
# V" _: k! j2 C- ]' l, X6.4 守护模块的运作流程与课后作业 O5 e( U; E# U. U
7.1 界面进程的几种启动流程
3 g" j0 [- \; v2 h8 m+ Y7.10 界面的整体框架梳理/ A" ~0 w, i- G( G, V+ Q
7.11 左边树形控件的布局与源码剖析
Y: t3 k: f! f7.12 摘要页的布局与源码剖析
: E, v3 y4 [9 a8 {# H9 a* p2 I9 K1 R1 U7.13 陷阱设置页的布局与源码剖析. @4 }' ^( D5 {; T8 K
7.14 备份设置与类型管理页的源码剖析# l% J. D4 n* D. ?2 b# e3 v
7.15 文件保护管理页的布局与源码剖析3 K- d" m( ], L6 [) U$ h: Z' Y
7.16 备份文件导出页的布局与源码剖析
2 R9 ~& a$ ]( ~6 ^* f7.17 手动清除页的布局与源码剖析
: l/ J- c- K1 `6 f, r5 o8 M7.18 清除日志页的布局与源码剖析! M% a; Z) N$ s$ v3 f
7.19 威胁警报页的布局与源码剖析- p! M5 |8 Z4 K
7.2 SOUI生成的框架代码剖析9 }' e4 }( m/ k0 Y8 x. s. n, X3 e
7.20 文件保护回调页的布局与源码剖析
( y+ G1 X2 X% p! l& T2 b7.21 其它页面的布局与课后作业6 i; u! o6 N/ E4 f: H2 [5 \7 j
7.3 SOUI中图片资源与对话框的使用方法5 N, c! Y3 E: K0 \; R$ @$ t6 c6 @
7.4 SOUI的锚点布局与TabCtrl控件& r' {$ r: g# ?: z: [
7.5 SOUI中编写自定义控件3 A, n0 T& |* C* l& G5 ]4 {& s9 c
7.6 保护密码引导页的布局与源码剖析; y& B- d- R5 w j4 [2 O) b2 D8 e
7.7 备份磁盘选择引导页的布局与源码剖析`4 D) F5 q0 n) A+ f# a8 h
7.8 备份文件上限引导页的布局与源码剖析+ U2 Q! Y. n0 S+ u1 z
7.9 其它引导页与第一次正式启动流程, Q1 o, @# d) f! s/ T @/ N
8.1 卸载程序的运作流程!3 r# c i( L$ Q. b
8.2 安装包的页面布局与杂项说明
! ]" h! S# }, g: ^8.3 安装包的运行流程与源码剖析: Z2 F2 P' L3 P/ Q: n
8.4 遗留问题与课程最后的话. y& b8 e( `* ]
2 |+ V, F5 I- T9 e
|
|