|
|
现在的网络在线教学会教你写驱动、写应用层代码、写界面、还会教你玩逆向、以及一些调试技巧。但在安全软件开发领域,却没有教程会教你从实际的项目角度去切入,如何灵活的应用这些知识,最终打造一款安全产品出来。它涵盖了通过对安全趋势感受选择方向,确定后分析威胁(分析大部分样本)归纳其共性后,进而推导出防御思路,单调的防御思路还不足以形成产品,此时需要思考还需添加哪些功能才能使其足够成熟,能够满足基本产品级要求。再对所有功能进行归纳划分,最后产生成熟的架构。再根据架构开始进行驱动、应用层、界面的代码编写,这中间踩过的坑,遇到的坎,都将为大家呈现。看到这里,估计你的心中也有点了然了。
+ s) y4 O: U# |, ^. w& Q1 f1 g课程内容:
7 Q: d8 y2 T; j% O. @) V1.1 课程简介
- S* w, L4 ^- T6 S1.2 预备知识与学习方法6 c5 x7 [3 `8 R ?+ u
1.3 勒索病毒流行原因分析
% o9 n$ |! r+ m9 A1 i& y7 p$ b1.4 我的防勒索演进过程4 A" N3 V* K0 @3 A
2.1 功能的添加、细化与补充
5 o! M3 P$ M% N+ z# t! y: [- ?2.2 细化功能的归类与整合' @# ?7 U, A% Z8 F
2.3 最终架构与核心流程; ]4 I$ Y: _, {# c
2.4 终结者源码编译:9 e) k& p$ o9 b
3.1 Windows服务程序标准框架讲解6 k7 H U9 b3 \
3.10 服务与界面通讯的初始化流程/ E( V" ]3 b! D
3.11 通讯建立及配置更改流程讲解" D/ g8 r$ U+ A: L% W' `, I
3.12 威胁与无响应消息回调流程
, J; C0 n0 |6 b7 E* I3.13 心跳消息流程与关键点回顾, I3 K* H- P A ~( c( r9 ?
3.14 诱饵文件与清除接口源码讲解/ m6 F2 N4 G! ~3 r' ~
3.15 驱动接口与杂项源码讲解
8 K! M: h+ H, b3.16 缺点分析与重构建议3 J( p. d- \& ^2 s
3.2 Windows服务程序排错技巧8 t/ n' D* O5 h6 P( O
3.3 安全产品DLL导出表处理
" o3 P+ P' X- Z a$ R3.4 终结者接口、开发与阅读流程
$ t1 C1 `/ d1 a1 K3.5 服务主线程与三种启动流程" [* o! V8 i( R* \' F8 P
3.6 配置文件的处理( J# V2 }6 i3 K0 q) n) o- r/ C
3.7 核心配置文件类的源码解读! e+ t# E5 c5 g5 [ | S1 Z
3.8 服务创建进程之逆向工程
1 e/ M7 `6 ?. d3 q" v# q& y3.9 服务创建进程之扒后处理
: H N4 Z- a7 ~& g! G! n4.1 驱动接口模块的初始化流程8 J ?1 W3 m n5 Y
4.2 驱动握手算法与接口讲解; D4 C4 [6 b! _& w* l3 M
4.3 回调流程与接口说明
" N4 x+ g$ E6 [5 }/ A T) k5.1 驱动开发环境的选择与搭建, D% \# k6 W, ^/ i z* \
5.10 如何安全的进行HOOK卸载
1 O3 h+ F# s5 K5.11快速理解SFilter框架) u' k6 j: }' Q7 u% A3 x
5.12 终结者驱动框架与功能概述
$ l4 I" K- [, z5 Q' q9 v, R1 c' J5.13 RWTBase框架与例程处理
; S6 [8 }. {+ }. }3 q. `5.14 MBR保护与函数导出; [. Q6 c/ F6 U, [! u. S
5.15 RWTKrl驱动入口点执行流程8 ?. L+ K Q: A; z; J U; V
5.16 系统重启时RWTKrl保护配置的读取流程
! [$ @' S" m" i3 Z3 M5.17 规则的数据结构及其运作方式
( u* T7 E) T: D5.18 GenericTable在驱动中的使用
5 W+ t9 p* [! k$ k5.19 威胁回调消息的运作流程- V; W. R7 _7 t/ z
5.2 WinDbg内核调试初步
1 Z, N/ }8 H$ M, S, R5.20 _ExInterlocked_XX_List在项目中的使用
9 J) E6 U9 T* I6 O5 G5.21 自我保护的运作流程
5 ~. J& E- x$ [! ^. g5.22 Create分发函数的处理流程0 L) W% P7 X7 V# x: v
5.23 SetInformation分发函数的处理流程) |1 {& j7 ~4 v
5.24 其它分发函数的处理流程
D/ ]7 ]5 I5 Z( q' R% h/ N$ A4 P2 `5.25 备份的核心逻辑与初始化
- c7 i1 b2 X8 D+ N5.26 备份核心逻辑的具体实现
4 r* T, ]/ _7 o5.27 获取备份信息的具体实现8 Y% Z' G, w9 k4 N4 m% w
5.28 备份接口与其它杂项说明
: ~# O3 ~% ]0 I. ?/ f( ] s5.29 驱动部分的课后作业
) X( h! \; o1 ^% P- z5.3 WinDbg内核调试实践
! a" m2 i) T% v: `2 J5.4编写Windbg脚本来达成调试目的5 J$ e0 B7 h0 r- I6 ~7 R2 o
5.5 使用Verifier验证驱动稳定性
6 T, P' \% C4 T7 N) P5.6经典HOOK与异常捕获
, |! ]( i5 \/ t: O5.7 安装HOOK的注意事项
# S" |% F* m/ @0 u9 u5 |5.8 InlineHook的各种大法(一)
# B7 T- l+ \2 ^. Q) w5.9 InlineHook的各种大法(二)- O. q+ V/ H: ^( Z9 G, F
6.1 清除模块的初始化与还原点
; O( p* F( C( I0 ?$ d* u* S0 l& L, r: W6.2 还原清除的运作流程" k1 j7 m: |( ~( {! f9 G
6.3 清除模块其它功能梳理与课后作业/ [* \# w; J! \6 |( \
6.4 守护模块的运作流程与课后作业* p7 }' f9 [! L8 F# t( ^ P1 z
7.1 界面进程的几种启动流程1 Y$ Y! A e% f1 O2 u4 P- t. X
7.10 界面的整体框架梳理& S' d! M( J+ i7 {
7.11 左边树形控件的布局与源码剖析
/ I1 F- S6 O% Y3 R1 @) c7.12 摘要页的布局与源码剖析) n2 r& c1 _9 Z' y8 u: f
7.13 陷阱设置页的布局与源码剖析
n- k C, G6 i/ ~2 I' S5 G7.14 备份设置与类型管理页的源码剖析- S( d- Q5 g6 h& E7 v- O4 D! M$ [
7.15 文件保护管理页的布局与源码剖析- C2 x: M% _' R: y5 B
7.16 备份文件导出页的布局与源码剖析5 J) d4 [! m9 u/ X. H- n ]3 f% H1 E
7.17 手动清除页的布局与源码剖析
4 H2 P" h& ^. c) G; q. [" w3 _# T7.18 清除日志页的布局与源码剖析
& }% R6 z$ C: o* r7.19 威胁警报页的布局与源码剖析
+ \1 u: |* a" N% M5 z* |7.2 SOUI生成的框架代码剖析1 ~0 j/ n. |6 f4 w5 e* s
7.20 文件保护回调页的布局与源码剖析5 k' g* _/ D) T1 e, N6 c
7.21 其它页面的布局与课后作业2 S8 |/ f) Q4 K( W* s; @
7.3 SOUI中图片资源与对话框的使用方法
- P2 `( |! T# w0 ^& A6 C: o K7.4 SOUI的锚点布局与TabCtrl控件* c8 p/ ~, W" V& N7 x# F3 K8 ~! L
7.5 SOUI中编写自定义控件
3 i: @5 {% [& Y: f7.6 保护密码引导页的布局与源码剖析
% B2 g1 g5 ^' h+ J5 n; [- u7.7 备份磁盘选择引导页的布局与源码剖析`
7 s& ~1 \; \: s6 d4 f/ J7.8 备份文件上限引导页的布局与源码剖析
4 r! v% P. G2 c5 O5 i7.9 其它引导页与第一次正式启动流程
& ^6 ^8 K; ^# s& o8 L! C/ A8.1 卸载程序的运作流程!
" V; i; Q' d/ R2 e8.2 安装包的页面布局与杂项说明
3 [& `- W3 ~3 l; k5 n$ l8.3 安装包的运行流程与源码剖析
1 \* Y8 P& o3 B* S$ ~8.4 遗留问题与课程最后的话
4 h! X/ X! s" W( d' i1 l" `5 a
; ~8 g" q$ q$ Z" s N/ x7 Q* M
|
|