|
|
现在的网络在线教学会教你写驱动、写应用层代码、写界面、还会教你玩逆向、以及一些调试技巧。但在安全软件开发领域,却没有教程会教你从实际的项目角度去切入,如何灵活的应用这些知识,最终打造一款安全产品出来。它涵盖了通过对安全趋势感受选择方向,确定后分析威胁(分析大部分样本)归纳其共性后,进而推导出防御思路,单调的防御思路还不足以形成产品,此时需要思考还需添加哪些功能才能使其足够成熟,能够满足基本产品级要求。再对所有功能进行归纳划分,最后产生成熟的架构。再根据架构开始进行驱动、应用层、界面的代码编写,这中间踩过的坑,遇到的坎,都将为大家呈现。看到这里,估计你的心中也有点了然了。
i8 v) H- m5 E2 }) m& z课程内容:
0 E* P) U- g# i- O4 P$ z& w4 g0 X1.1 课程简介
1 E S! f* D8 ?1.2 预备知识与学习方法
0 N- V9 n# `& O* T8 ]1.3 勒索病毒流行原因分析
4 {; H" X8 N* s a* d1.4 我的防勒索演进过程
: c: u. d& D9 v0 G' t2.1 功能的添加、细化与补充( W k0 X4 w* e% S$ S
2.2 细化功能的归类与整合- f" d; `& x, z4 T! |! C4 ?
2.3 最终架构与核心流程
, \' M& v1 ]7 j2.4 终结者源码编译:% Q9 i& g* J: M$ ?* S
3.1 Windows服务程序标准框架讲解
8 r W {8 W6 _3.10 服务与界面通讯的初始化流程
: @ m! R8 {, U n& _8 v7 E6 I7 r3.11 通讯建立及配置更改流程讲解
0 k( {+ B* @/ P' z y, Y3.12 威胁与无响应消息回调流程
/ |: Z0 p. O1 X# |2 I3 S6 [. Q6 ?3.13 心跳消息流程与关键点回顾; m% q; k' I* P+ w0 j! A1 ]: Z; P
3.14 诱饵文件与清除接口源码讲解. @; o* B, W8 o5 O( ?( ^+ n
3.15 驱动接口与杂项源码讲解
/ C8 w: g$ W2 P3.16 缺点分析与重构建议
$ B( h* \+ `7 d3 a3.2 Windows服务程序排错技巧
" Q) G& N' q \* U' b7 G V2 r3.3 安全产品DLL导出表处理
# x8 H4 I3 C: P j/ a3.4 终结者接口、开发与阅读流程
+ J% K0 V& t6 I5 g3 Y, I5 ~, o8 \6 v3.5 服务主线程与三种启动流程
+ l; X+ N3 l+ Y8 I3.6 配置文件的处理
4 t' v+ F1 Z, ?4 A! `8 J3.7 核心配置文件类的源码解读! L# d! c, g; r& J7 O% c) I
3.8 服务创建进程之逆向工程
. `$ m& J$ ? Z9 O0 a3.9 服务创建进程之扒后处理
# j2 E3 ~: [1 i% x% C4.1 驱动接口模块的初始化流程
# x. K$ x. g" F/ r( w4.2 驱动握手算法与接口讲解
+ E6 r4 R8 |9 u0 R! }0 R" V$ F4.3 回调流程与接口说明$ F5 x0 L T- |& f$ o
5.1 驱动开发环境的选择与搭建
% d' u: F6 B5 E5.10 如何安全的进行HOOK卸载" r9 J% I4 b5 K7 f; @2 Y
5.11快速理解SFilter框架) m3 x% s1 v w$ a7 Z
5.12 终结者驱动框架与功能概述0 L" F" s4 r: R' z) w
5.13 RWTBase框架与例程处理 ^3 @' k: A' t* f. J% c
5.14 MBR保护与函数导出9 L+ s" ]! z' i1 O. b1 U
5.15 RWTKrl驱动入口点执行流程
: m# u {! A. V+ `9 j5.16 系统重启时RWTKrl保护配置的读取流程
* E: Z+ `) L8 |3 P! P5.17 规则的数据结构及其运作方式% `0 d' \- i/ c0 H9 J0 d+ W1 e
5.18 GenericTable在驱动中的使用
, u2 I+ I6 Z! b5 Q* _7 C" J5.19 威胁回调消息的运作流程 O+ x5 P* ~0 l5 L( N/ |8 B9 v
5.2 WinDbg内核调试初步
! \! j. m$ S: N5 `+ n5.20 _ExInterlocked_XX_List在项目中的使用' G1 u' R: Q3 q* }
5.21 自我保护的运作流程0 t/ j. s4 w; [' O
5.22 Create分发函数的处理流程) Q; o6 f9 t' z. r; r
5.23 SetInformation分发函数的处理流程2 ~& i8 W/ J q
5.24 其它分发函数的处理流程
1 M/ b: A; b4 w2 l' Z$ Z5.25 备份的核心逻辑与初始化( W! Q9 Q3 {; G: T. W3 u
5.26 备份核心逻辑的具体实现% w$ B& D/ w) [3 G! _. A
5.27 获取备份信息的具体实现
7 H4 D$ H- ~! b! U5 X0 R+ ~5.28 备份接口与其它杂项说明 j7 w. q/ G! E) M
5.29 驱动部分的课后作业
& j* [" |- J @5.3 WinDbg内核调试实践2 \3 c& w0 n3 @6 M! `: S8 H7 b* D
5.4编写Windbg脚本来达成调试目的 j! n$ c+ E( f
5.5 使用Verifier验证驱动稳定性5 E0 f! m, p' f! L' e2 E
5.6经典HOOK与异常捕获( p- D' ?% o4 ~/ J- J2 m! ]- B, N; E
5.7 安装HOOK的注意事项
_) b+ G8 q8 H& X' T8 m1 n$ c7 K" N5.8 InlineHook的各种大法(一)3 h* P7 I4 _8 r: \( T) k( P$ i3 \" k
5.9 InlineHook的各种大法(二)+ `$ u2 @/ ~1 [: u9 ^
6.1 清除模块的初始化与还原点2 J% s* x6 w+ M4 ]7 \4 d
6.2 还原清除的运作流程
* f1 g1 _/ v* M5 a ?6.3 清除模块其它功能梳理与课后作业
& R) ?& u5 O6 W6.4 守护模块的运作流程与课后作业: {9 S9 g1 m' {' r$ a: ~
7.1 界面进程的几种启动流程; x& W- z) v+ K' [3 W6 E
7.10 界面的整体框架梳理7 t1 ]1 |7 D5 U' J/ V
7.11 左边树形控件的布局与源码剖析# K% G* G- w/ D: s$ P. d. C
7.12 摘要页的布局与源码剖析
4 w* Z/ D9 P1 n) d# z+ H7.13 陷阱设置页的布局与源码剖析) `6 z/ j: N8 l9 b
7.14 备份设置与类型管理页的源码剖析
4 x: J% k( l* K$ h) A- O7.15 文件保护管理页的布局与源码剖析0 r g5 e5 `7 i7 Z% X
7.16 备份文件导出页的布局与源码剖析4 W+ i' U1 z% k
7.17 手动清除页的布局与源码剖析, v! e$ B. S8 A9 N; S- A
7.18 清除日志页的布局与源码剖析
, I, G) i' w5 c* A7.19 威胁警报页的布局与源码剖析
7 \0 i! R3 ~' ~! C7.2 SOUI生成的框架代码剖析
/ s" o: G+ K; ]7.20 文件保护回调页的布局与源码剖析 n: k5 P4 k; W
7.21 其它页面的布局与课后作业
" \/ T5 X4 Z4 E6 U7 a: s# G) q7.3 SOUI中图片资源与对话框的使用方法
& B3 \6 _+ l0 _& o7.4 SOUI的锚点布局与TabCtrl控件; H. i; m4 S. v* a, H8 K _
7.5 SOUI中编写自定义控件: M2 E, S% |8 K) g$ y/ B0 d7 O% F4 O
7.6 保护密码引导页的布局与源码剖析/ j" z. i1 D8 m; y- I8 J9 }6 v
7.7 备份磁盘选择引导页的布局与源码剖析`$ L4 G% W [- K7 Z0 N7 e5 j7 d, o
7.8 备份文件上限引导页的布局与源码剖析$ Z1 a+ l1 V) F3 \1 }
7.9 其它引导页与第一次正式启动流程8 `) o7 B+ c* Z( E& }0 \
8.1 卸载程序的运作流程!6 t5 X' q. s6 _3 b( G1 O
8.2 安装包的页面布局与杂项说明
9 [" @& Y2 [' E$ r' o& ~, ]8.3 安装包的运行流程与源码剖析
& ~( t# }' b9 q2 A0 h! e/ C* M8.4 遗留问题与课程最后的话
5 h$ O6 C) d; o2 `5 [1 w- ^ 5 b) o# j, q0 j. Y( P3 t) j
|
|