|
|
现在的网络在线教学会教你写驱动、写应用层代码、写界面、还会教你玩逆向、以及一些调试技巧。但在安全软件开发领域,却没有教程会教你从实际的项目角度去切入,如何灵活的应用这些知识,最终打造一款安全产品出来。它涵盖了通过对安全趋势感受选择方向,确定后分析威胁(分析大部分样本)归纳其共性后,进而推导出防御思路,单调的防御思路还不足以形成产品,此时需要思考还需添加哪些功能才能使其足够成熟,能够满足基本产品级要求。再对所有功能进行归纳划分,最后产生成熟的架构。再根据架构开始进行驱动、应用层、界面的代码编写,这中间踩过的坑,遇到的坎,都将为大家呈现。看到这里,估计你的心中也有点了然了。
$ K& _% a/ c* H M5 Q课程内容:
T7 \- I1 v3 J3 q1.1 课程简介
: `) u* b# J9 q: Q) [3 ~/ f1.2 预备知识与学习方法
! ]& o4 c5 e& u, v1.3 勒索病毒流行原因分析( ~: O6 a' f4 v1 o# G5 X7 f
1.4 我的防勒索演进过程; r3 M" d" G6 v% A4 T
2.1 功能的添加、细化与补充
' [- B. B0 _* w5 M1 V3 W2.2 细化功能的归类与整合) \4 R, c# h* ^2 \
2.3 最终架构与核心流程
" U& [0 {+ l2 Y) p/ c4 ?) q2.4 终结者源码编译:
. A# u/ }9 I3 w5 X& z+ ~3.1 Windows服务程序标准框架讲解8 P( ]4 q d# G6 a
3.10 服务与界面通讯的初始化流程& W; J# n b$ s: B; M2 D
3.11 通讯建立及配置更改流程讲解
' ?* q/ j: N* e6 D3.12 威胁与无响应消息回调流程- H# ~# g) p: R( T' g2 p
3.13 心跳消息流程与关键点回顾: r- q. d" t e% S: b6 `
3.14 诱饵文件与清除接口源码讲解
1 _- ~' A! p% ^2 O! ?3.15 驱动接口与杂项源码讲解
7 ]- w9 g% p4 X: f3.16 缺点分析与重构建议
& T8 q( E! x; X- _3.2 Windows服务程序排错技巧9 |5 g. L" j8 h9 m( Y$ Y
3.3 安全产品DLL导出表处理4 _9 W6 W1 O8 _1 R* i
3.4 终结者接口、开发与阅读流程: T- H% i M1 b$ Y8 [" q( _) T0 |
3.5 服务主线程与三种启动流程
9 {: @2 l2 Z1 {% c6 ?, R3.6 配置文件的处理* O6 L% z5 w; _ K5 W
3.7 核心配置文件类的源码解读% @( _8 {5 d: ]$ `9 D* S: m; l' @
3.8 服务创建进程之逆向工程
V. r* D" \; X" z3.9 服务创建进程之扒后处理& \+ R& c* I: @- l# v( e
4.1 驱动接口模块的初始化流程4 `' q4 M, z4 e. s: i$ q
4.2 驱动握手算法与接口讲解! }1 L& F4 M5 T j) [. A
4.3 回调流程与接口说明% V$ l" S7 [' ~/ Q( [6 y
5.1 驱动开发环境的选择与搭建5 E% M9 `- y/ m$ h; F+ p, ^6 k
5.10 如何安全的进行HOOK卸载8 R7 Z X% L) w+ w
5.11快速理解SFilter框架2 c/ k1 k* g; _1 p
5.12 终结者驱动框架与功能概述! r2 U8 `. s+ N" H! O' J
5.13 RWTBase框架与例程处理3 ?) C( H" Y D t
5.14 MBR保护与函数导出+ o; A, D( H1 V$ ]
5.15 RWTKrl驱动入口点执行流程7 z& d3 W3 n& i9 F/ O3 e: b
5.16 系统重启时RWTKrl保护配置的读取流程
- p- c) B( E4 x0 x s5.17 规则的数据结构及其运作方式
4 t: r4 D) [7 a1 i J! q- F5.18 GenericTable在驱动中的使用
: v+ N$ ?9 J/ `. b+ S" c5.19 威胁回调消息的运作流程! v2 u* [8 }/ U! a" D* o2 _0 r
5.2 WinDbg内核调试初步
: D( q, ^* ]3 h9 l* U; t* |5.20 _ExInterlocked_XX_List在项目中的使用
/ L) y& F$ L7 ]4 J( x5 X. @& I5.21 自我保护的运作流程
2 Q# z- Q" Z. O4 n5.22 Create分发函数的处理流程# B* [- Z% ^0 r' y0 j( n: L8 P; J
5.23 SetInformation分发函数的处理流程
: @0 G0 w$ H5 q5.24 其它分发函数的处理流程
7 O: G$ f1 ]% w0 a# w4 A5 N" m5.25 备份的核心逻辑与初始化
# G: Z( g8 ~% x( d+ N5.26 备份核心逻辑的具体实现0 Q7 e/ w9 H, j* b
5.27 获取备份信息的具体实现' |! J" s1 k h
5.28 备份接口与其它杂项说明! I+ K5 p9 `5 P" i" p! k9 ^
5.29 驱动部分的课后作业
) ^- \& c" M6 ^1 [" x5.3 WinDbg内核调试实践4 {( W# L L4 j8 V
5.4编写Windbg脚本来达成调试目的
% y) n. I0 G* W: u# ]5.5 使用Verifier验证驱动稳定性+ E, N( ~0 I% a! t6 m3 J! q. s6 S3 H5 |
5.6经典HOOK与异常捕获, O5 {9 C* u H) Y+ R H; @
5.7 安装HOOK的注意事项
+ S: j' h5 }3 U! l5.8 InlineHook的各种大法(一)
1 g1 X+ e8 `" C) o5.9 InlineHook的各种大法(二)
, Q; o0 H! h- K, O7 \0 E6.1 清除模块的初始化与还原点
! O- m" z" |$ M. D6.2 还原清除的运作流程
5 i( Q+ a0 i% F9 _$ V1 R& S' @1 O6.3 清除模块其它功能梳理与课后作业
7 z# I/ P/ Y5 P' H1 k; }0 Q6.4 守护模块的运作流程与课后作业
2 L, S: J$ j. Z8 `# o7.1 界面进程的几种启动流程
! b: d4 K+ ]- s9 y) E9 m6 h3 L7.10 界面的整体框架梳理* Q" A) L% B0 Z5 e- _
7.11 左边树形控件的布局与源码剖析* V% G7 w$ p) b; Z7 c0 i1 d$ l
7.12 摘要页的布局与源码剖析 t& c7 I/ i9 t9 V" r& Q
7.13 陷阱设置页的布局与源码剖析 z0 S2 L$ T, R" `' z. o* K, O$ C
7.14 备份设置与类型管理页的源码剖析
7 L. K: u" l4 h: o2 n1 q; G/ O7.15 文件保护管理页的布局与源码剖析
. R' ~, X5 V) W# {/ e( y3 U! u7.16 备份文件导出页的布局与源码剖析' \- Y- A/ G: E. d. z2 G# j
7.17 手动清除页的布局与源码剖析7 x! M: @8 `' D" R
7.18 清除日志页的布局与源码剖析, {4 `8 w; t6 ~$ b& c$ Y8 Z
7.19 威胁警报页的布局与源码剖析- R2 l! f. {3 g3 ?( h* r5 P
7.2 SOUI生成的框架代码剖析
! C+ N$ n2 o1 [! b5 z9 B1 z7.20 文件保护回调页的布局与源码剖析0 P/ ]8 t6 p! G) L0 v& R
7.21 其它页面的布局与课后作业$ \# G2 w9 Z% a1 A
7.3 SOUI中图片资源与对话框的使用方法
% @- A/ i3 Z. L7.4 SOUI的锚点布局与TabCtrl控件
9 y) `. G4 a1 ^+ `7.5 SOUI中编写自定义控件& s1 O6 g/ `) Y& c s' T
7.6 保护密码引导页的布局与源码剖析' V X3 c0 P. v0 a; D4 H+ H+ P# C
7.7 备份磁盘选择引导页的布局与源码剖析`9 r& \" d Z. J; l+ |/ s- G! ^$ E
7.8 备份文件上限引导页的布局与源码剖析
# n4 Y9 H, ^- h2 m( D7.9 其它引导页与第一次正式启动流程
b# ]* w$ G8 X( b8.1 卸载程序的运作流程!4 v" i# y" X% d, x# T- J/ ^
8.2 安装包的页面布局与杂项说明" q# ]( u8 ^/ }9 |, q' C" Q
8.3 安装包的运行流程与源码剖析
/ e& H2 G/ F2 I% q8 r- |) E: c5 }8.4 遗留问题与课程最后的话
B! `/ p8 Y1 {5 G6 Q f$ V
4 s) N: W# f- n$ N) C" D6 m% G
|
|