|
现在的网络在线教学会教你写驱动、写应用层代码、写界面、还会教你玩逆向、以及一些调试技巧。但在安全软件开发领域,却没有教程会教你从实际的项目角度去切入,如何灵活的应用这些知识,最终打造一款安全产品出来。它涵盖了通过对安全趋势感受选择方向,确定后分析威胁(分析大部分样本)归纳其共性后,进而推导出防御思路,单调的防御思路还不足以形成产品,此时需要思考还需添加哪些功能才能使其足够成熟,能够满足基本产品级要求。再对所有功能进行归纳划分,最后产生成熟的架构。再根据架构开始进行驱动、应用层、界面的代码编写,这中间踩过的坑,遇到的坎,都将为大家呈现。看到这里,估计你的心中也有点了然了。
' E- y6 I4 p9 z/ g% i6 y课程内容:
4 O7 ]" B9 U, a1 X" g0 Y6 V. C1.1 课程简介' x. @7 V/ }+ d7 `/ @7 r- q/ L
1.2 预备知识与学习方法, [6 J' a# ]* n- [1 _
1.3 勒索病毒流行原因分析$ b/ Z9 g) c# d, i8 N N
1.4 我的防勒索演进过程2 g2 g; ]0 N. U/ S6 y
2.1 功能的添加、细化与补充 d% g: b; S4 @8 D
2.2 细化功能的归类与整合
" g. {3 L0 y# T2.3 最终架构与核心流程
/ c5 I+ ] D0 m& k4 v2.4 终结者源码编译:$ Q6 r3 j2 }0 q W0 v
3.1 Windows服务程序标准框架讲解
4 ^3 r$ F7 y, }; b. M5 o G3.10 服务与界面通讯的初始化流程
* J; }0 K) Q5 d; E9 E; E( \3.11 通讯建立及配置更改流程讲解) V0 _+ b# e+ r5 }# H
3.12 威胁与无响应消息回调流程
" O; I9 m0 |# {+ R$ E3.13 心跳消息流程与关键点回顾
h) m1 J. r% v: ]3.14 诱饵文件与清除接口源码讲解
$ k0 e4 T: @: ]3 \3.15 驱动接口与杂项源码讲解
) M% k% P7 `2 g3 M. @! F) t! ?3.16 缺点分析与重构建议
9 M E F( S9 ]) k( F# [+ z! D3.2 Windows服务程序排错技巧8 n9 i5 D4 N i, r& N/ i; W
3.3 安全产品DLL导出表处理1 p0 J9 P/ Q- k/ \ X8 q
3.4 终结者接口、开发与阅读流程
* U: ^* M" ], ~$ r3.5 服务主线程与三种启动流程
; s. H. `6 d* w; }2 F3.6 配置文件的处理9 u7 u3 Z- Q* C) O. a* ]+ T+ t
3.7 核心配置文件类的源码解读
3 c! I0 n, L6 F; z3.8 服务创建进程之逆向工程
9 T$ l/ M, j( ~3.9 服务创建进程之扒后处理
4 S8 _- k$ [! i/ n) `) D X4 `4.1 驱动接口模块的初始化流程
: p, E3 f: |, G; j2 d& f9 h4.2 驱动握手算法与接口讲解+ ]! I. M* ~* S9 j! U0 E9 v
4.3 回调流程与接口说明
3 o; H# T+ M0 E2 m0 }) q5.1 驱动开发环境的选择与搭建 E, K+ K! v& V8 }% c, F
5.10 如何安全的进行HOOK卸载1 ^' W& K# B8 M8 C9 S
5.11快速理解SFilter框架4 x2 z( U0 w' v4 y( f
5.12 终结者驱动框架与功能概述, ~8 R: U, i1 G+ V
5.13 RWTBase框架与例程处理1 ~: Z4 t D2 B- ~% \
5.14 MBR保护与函数导出
: r( ^* I+ O {* F/ J- T5.15 RWTKrl驱动入口点执行流程
6 z" B# _) Y: N1 r2 E9 Q. f5.16 系统重启时RWTKrl保护配置的读取流程
6 ~: V% M1 p$ B$ Q5 {5 l5.17 规则的数据结构及其运作方式# I3 z6 r' ]1 u6 K' w
5.18 GenericTable在驱动中的使用' a, a& F& S& @2 Q( r6 K0 \. F
5.19 威胁回调消息的运作流程# s) T9 a2 A% b/ k
5.2 WinDbg内核调试初步! ^; j! T8 E, |( |! n C
5.20 _ExInterlocked_XX_List在项目中的使用
) ?4 G' |; S8 O+ i5.21 自我保护的运作流程
& i& y, E: E/ p% f0 X5.22 Create分发函数的处理流程9 B# ~: x0 u6 T. a
5.23 SetInformation分发函数的处理流程
0 ~ _9 K2 u: t, d7 E- Z5.24 其它分发函数的处理流程
- k- v l8 h( Z+ f0 z* Z* |& Q5.25 备份的核心逻辑与初始化
% |- W! v2 b! Q3 t" K$ l5.26 备份核心逻辑的具体实现
) T8 s- J, }4 [( l# S/ B5.27 获取备份信息的具体实现
! M' H; C2 |6 u4 n: j9 y5 U5.28 备份接口与其它杂项说明5 Q# q% y2 J9 s: \) a+ g7 u/ Y. { B
5.29 驱动部分的课后作业2 U. l9 H. j$ t7 j, \7 H
5.3 WinDbg内核调试实践
+ D3 s: j+ Y4 {. Y5.4编写Windbg脚本来达成调试目的
' Z3 u; O0 M, @; j2 p5.5 使用Verifier验证驱动稳定性* D4 k: \+ i4 N. p* A+ V9 s
5.6经典HOOK与异常捕获
) I5 T: S9 `) v* E0 z5.7 安装HOOK的注意事项
) o/ \6 z' g6 o2 c5.8 InlineHook的各种大法(一)
. H+ T$ k& G% k5.9 InlineHook的各种大法(二)$ p3 v& h8 N5 [4 p2 Q. b$ h9 E, ?
6.1 清除模块的初始化与还原点
# C* r) w6 B2 i. n! `* y9 O( w: L9 d6.2 还原清除的运作流程) x/ |9 F% D# K }1 E ]
6.3 清除模块其它功能梳理与课后作业
; _* d+ G; P, r0 r. e9 b* T. X6.4 守护模块的运作流程与课后作业
+ c! w4 ?$ V( H9 M* M5 b3 l9 d& [2 A7.1 界面进程的几种启动流程& m% A! P' R. e0 P2 H1 A6 G( r' ]
7.10 界面的整体框架梳理
( p9 P) g7 `# n+ ?7 V. J( o7.11 左边树形控件的布局与源码剖析
Y( O) g6 y2 t- Z H7.12 摘要页的布局与源码剖析9 {" k. y. H/ ] M( c8 n
7.13 陷阱设置页的布局与源码剖析1 ~9 ^& [2 {) L
7.14 备份设置与类型管理页的源码剖析
% u: E- y2 ]- W% ^8 n/ F& _7.15 文件保护管理页的布局与源码剖析2 H6 |7 J% H' M. B2 d6 ~
7.16 备份文件导出页的布局与源码剖析+ O+ ^$ P$ X7 X: Y+ H) U6 k' D) x
7.17 手动清除页的布局与源码剖析- a% n4 ]7 k) H: @3 g& `9 [
7.18 清除日志页的布局与源码剖析4 j7 p; k6 k0 y/ H
7.19 威胁警报页的布局与源码剖析
) ?9 p. k: F1 B- f. V/ L+ N7.2 SOUI生成的框架代码剖析
5 L; G$ U, b8 h; z. c7.20 文件保护回调页的布局与源码剖析
* N2 N" Z. G" O. O# V% G4 t; M7.21 其它页面的布局与课后作业
4 q$ ^+ V- R: k7.3 SOUI中图片资源与对话框的使用方法+ B+ }( t' E* c- g2 h
7.4 SOUI的锚点布局与TabCtrl控件6 \! L1 |) Y; k2 } v- d
7.5 SOUI中编写自定义控件- m5 H0 M: z ~; Z% }
7.6 保护密码引导页的布局与源码剖析0 D2 G* s" s8 D! g5 V3 l. Y
7.7 备份磁盘选择引导页的布局与源码剖析`3 S* P$ n: |2 Q! t( E
7.8 备份文件上限引导页的布局与源码剖析
+ f! c( n7 c7 v, t( C- Q0 e- Q7.9 其它引导页与第一次正式启动流程0 ^0 }# b/ X: R
8.1 卸载程序的运作流程!
- Y, }( G& P: O" F, i. K8.2 安装包的页面布局与杂项说明. A9 L! s: H7 K3 U
8.3 安装包的运行流程与源码剖析6 N# I9 l/ s4 \- Z
8.4 遗留问题与课程最后的话
" o/ J2 }- t, A- |4 V ' [* u N! K& u5 f. i
|
|