|
|
现在的网络在线教学会教你写驱动、写应用层代码、写界面、还会教你玩逆向、以及一些调试技巧。但在安全软件开发领域,却没有教程会教你从实际的项目角度去切入,如何灵活的应用这些知识,最终打造一款安全产品出来。它涵盖了通过对安全趋势感受选择方向,确定后分析威胁(分析大部分样本)归纳其共性后,进而推导出防御思路,单调的防御思路还不足以形成产品,此时需要思考还需添加哪些功能才能使其足够成熟,能够满足基本产品级要求。再对所有功能进行归纳划分,最后产生成熟的架构。再根据架构开始进行驱动、应用层、界面的代码编写,这中间踩过的坑,遇到的坎,都将为大家呈现。看到这里,估计你的心中也有点了然了。! Q; A4 b4 a' L0 v5 b+ g
课程内容:, ?. s* g) L r! M4 Z
1.1 课程简介
7 v" A0 j- V/ k4 Q. }" N1.2 预备知识与学习方法7 |2 k+ ]* d7 g% H# k5 y( o4 d
1.3 勒索病毒流行原因分析
/ Y7 G; G8 D$ p3 C* M6 V1.4 我的防勒索演进过程
( `; s/ z" X+ q: f! a* N1 j4 N5 v5 _/ W* T2.1 功能的添加、细化与补充 w a2 H- A3 s6 k
2.2 细化功能的归类与整合* @, d+ g5 d. z7 o: R' z+ k' b; z
2.3 最终架构与核心流程
& z& a7 b$ i# U: |$ Q( y J2 i2.4 终结者源码编译:! F" w e5 q R9 q1 Y& ^
3.1 Windows服务程序标准框架讲解& S: F( y+ S1 U. S
3.10 服务与界面通讯的初始化流程
1 O3 x: G9 n* K# _' h* I# F3.11 通讯建立及配置更改流程讲解
6 ?! u2 ^ D% ~3 p3 L/ @% G3.12 威胁与无响应消息回调流程
; X5 A: E1 G4 E5 c C+ F; x8 k N3.13 心跳消息流程与关键点回顾) q) b6 F: [; _
3.14 诱饵文件与清除接口源码讲解
. O4 q9 ?( z" q* B) H/ v3.15 驱动接口与杂项源码讲解
' ]1 B! A% h& W! q3.16 缺点分析与重构建议
7 q- |& V \+ c1 ]3.2 Windows服务程序排错技巧+ k1 E9 }' _7 t, h
3.3 安全产品DLL导出表处理
( j8 x3 C7 n- [# h6 [ N, O3.4 终结者接口、开发与阅读流程
+ T* ]9 {# }4 X' ~; E* P& n5 t3.5 服务主线程与三种启动流程
- d: {2 `9 w" g) q S( m3.6 配置文件的处理; Q% O+ C% H+ Z7 Z% f" k5 Y
3.7 核心配置文件类的源码解读
- d V6 \3 W% U5 Y3.8 服务创建进程之逆向工程
) h" F, K3 z) O0 ~: w3.9 服务创建进程之扒后处理6 t k+ P: i* B3 s
4.1 驱动接口模块的初始化流程9 ~* h# P4 Q/ e) A1 G: J
4.2 驱动握手算法与接口讲解" d& v% H8 \$ a, }7 x
4.3 回调流程与接口说明& r# ?0 K- @: T
5.1 驱动开发环境的选择与搭建) l; R: \: e8 v, z8 i0 R! m( x
5.10 如何安全的进行HOOK卸载
. r8 s0 g9 h% _, w6 B! y5.11快速理解SFilter框架% F7 ?% k& ?( M5 n
5.12 终结者驱动框架与功能概述3 x. U4 Z0 M7 w2 K$ X$ U% P8 v; n
5.13 RWTBase框架与例程处理
! `1 z p* h& Y' W8 O- l5.14 MBR保护与函数导出
g, R, |" s5 Z5.15 RWTKrl驱动入口点执行流程
% t* {* W! {. u: u5.16 系统重启时RWTKrl保护配置的读取流程
) ?; Y* H% ? Y3 E" W5.17 规则的数据结构及其运作方式
" x5 p+ o3 T, ?. b v5.18 GenericTable在驱动中的使用, d# h% I' U5 @% t2 w9 ]+ i
5.19 威胁回调消息的运作流程
% b7 H: l8 E: M' N' J5.2 WinDbg内核调试初步. U$ j. z+ K: t4 h
5.20 _ExInterlocked_XX_List在项目中的使用
/ w" `2 s1 X3 C- o9 [. I5.21 自我保护的运作流程
6 A% B* e3 j" t7 t5.22 Create分发函数的处理流程' V0 @6 ~6 e" F* C% H. k
5.23 SetInformation分发函数的处理流程
. L4 Y; c7 u4 @/ h6 c5.24 其它分发函数的处理流程
' V& s2 q( u8 z; q X5.25 备份的核心逻辑与初始化
/ k% O3 b, W( l. p3 t7 \5.26 备份核心逻辑的具体实现
1 m! i+ m4 c" w; @1 o0 v5.27 获取备份信息的具体实现8 B' X. Y0 [$ V& \( ~( U
5.28 备份接口与其它杂项说明
6 Z2 P4 N# c- _6 L0 ?8 }0 \5.29 驱动部分的课后作业+ f* K4 d* `- J L* r
5.3 WinDbg内核调试实践
, H: \+ \1 X7 Y0 [5.4编写Windbg脚本来达成调试目的! c( Z, i! B& L2 f3 i7 d
5.5 使用Verifier验证驱动稳定性# j9 u' a) P5 @# Z7 A. {0 T" F K
5.6经典HOOK与异常捕获& L7 j% b# X* M9 x: [% ?- y
5.7 安装HOOK的注意事项
6 i! _) b/ ]! _! ? b3 u5.8 InlineHook的各种大法(一). s- a- X. i# y3 ]
5.9 InlineHook的各种大法(二)
" N# J) \+ ?- Z6 ^/ ^* q n% U6.1 清除模块的初始化与还原点
+ L" r; f; p& A ~ r8 n4 C6.2 还原清除的运作流程$ G# ~' [8 @: Y+ }* Z
6.3 清除模块其它功能梳理与课后作业: k& t" `, q# e& R* P
6.4 守护模块的运作流程与课后作业
( k+ K: b9 R6 B4 n- F( Y7.1 界面进程的几种启动流程1 g- B* u6 F' ?: R2 _% I4 |$ |
7.10 界面的整体框架梳理: x* U+ I0 C* x3 B
7.11 左边树形控件的布局与源码剖析
' H; f, Q$ A" t# t `7.12 摘要页的布局与源码剖析( Q; @' U/ u3 q6 a0 r9 \
7.13 陷阱设置页的布局与源码剖析
- E) ^- i$ h5 U% L; \+ j; r7.14 备份设置与类型管理页的源码剖析9 C$ Q& v" j1 M! w8 E$ G$ s
7.15 文件保护管理页的布局与源码剖析
5 d4 ]3 Z0 l5 J: M7 l+ B7.16 备份文件导出页的布局与源码剖析% W8 f& r7 w6 q, M" o5 y
7.17 手动清除页的布局与源码剖析
: a8 f* L; w* A }% b7.18 清除日志页的布局与源码剖析
7 g( a/ h2 K- j' a1 W h) N% ~8 P7.19 威胁警报页的布局与源码剖析
/ D9 Y' z7 V" K7.2 SOUI生成的框架代码剖析# W/ B- T6 ^3 y- ^$ ]6 |
7.20 文件保护回调页的布局与源码剖析1 z+ V4 f0 X* `- W; j7 _4 w1 C4 C Q
7.21 其它页面的布局与课后作业
4 v! Z$ t& ^0 a, d( h- u4 E7.3 SOUI中图片资源与对话框的使用方法4 m" ~ j! X- q) M. V
7.4 SOUI的锚点布局与TabCtrl控件+ z7 V; C! N( {) Y1 }% v* N- p
7.5 SOUI中编写自定义控件
K1 g1 `1 v1 e+ ]" m! `6 ~# G6 A7.6 保护密码引导页的布局与源码剖析8 \* d+ g- J6 O. m( {$ h
7.7 备份磁盘选择引导页的布局与源码剖析`7 a7 R+ Z- k2 a u8 Z
7.8 备份文件上限引导页的布局与源码剖析
$ s/ z% V1 u$ Q4 O4 u+ ~7.9 其它引导页与第一次正式启动流程3 @& P# v5 }3 X0 A# Z7 q
8.1 卸载程序的运作流程!$ o" T+ v" {2 _2 D$ D
8.2 安装包的页面布局与杂项说明
8 x( E6 X& g* L% h8.3 安装包的运行流程与源码剖析
0 h( m8 u0 K# o3 R2 B8.4 遗留问题与课程最后的话
) D# J8 m) Y! t! e) t % S) S9 c3 B0 e5 W
|
|