|
现在的网络在线教学会教你写驱动、写应用层代码、写界面、还会教你玩逆向、以及一些调试技巧。但在安全软件开发领域,却没有教程会教你从实际的项目角度去切入,如何灵活的应用这些知识,最终打造一款安全产品出来。它涵盖了通过对安全趋势感受选择方向,确定后分析威胁(分析大部分样本)归纳其共性后,进而推导出防御思路,单调的防御思路还不足以形成产品,此时需要思考还需添加哪些功能才能使其足够成熟,能够满足基本产品级要求。再对所有功能进行归纳划分,最后产生成熟的架构。再根据架构开始进行驱动、应用层、界面的代码编写,这中间踩过的坑,遇到的坎,都将为大家呈现。看到这里,估计你的心中也有点了然了。# F# c! G7 [7 u5 M6 z3 V
课程内容:# O/ ]* @, N. N( @ m
1.1 课程简介- }: O" A( R1 p) j7 Z
1.2 预备知识与学习方法2 T; ?/ G/ n: _
1.3 勒索病毒流行原因分析
+ O" `2 j: q' [" N5 S$ E; v1.4 我的防勒索演进过程
& H- [6 b: z, h" ^0 Z% z2.1 功能的添加、细化与补充
8 p/ H# p5 x; M8 q8 c3 C2.2 细化功能的归类与整合 V: x& w7 @5 t7 n0 ^; B) R
2.3 最终架构与核心流程- Z+ y7 P. Z5 [2 Q1 \1 ?# V$ _
2.4 终结者源码编译:
, E; g- x- H: | A& G3.1 Windows服务程序标准框架讲解' B* f; E0 |* w2 H
3.10 服务与界面通讯的初始化流程4 u4 k" o% w, O1 O
3.11 通讯建立及配置更改流程讲解
2 U1 u8 Y/ @7 k2 s3.12 威胁与无响应消息回调流程 o% Y$ _! u5 n7 z4 Y
3.13 心跳消息流程与关键点回顾; d$ h$ s% j' S) T- C
3.14 诱饵文件与清除接口源码讲解) O( [3 w8 \( ?. f8 h* t: {
3.15 驱动接口与杂项源码讲解
8 l/ q# C0 K- H' T3 f3.16 缺点分析与重构建议
7 U' g7 x) r6 f+ Y; {3 x3.2 Windows服务程序排错技巧
8 f, z; h. ^( @6 t$ t3.3 安全产品DLL导出表处理" j/ |- q. j L, E6 m; N& J( {
3.4 终结者接口、开发与阅读流程) G3 C, _, x8 k* A% Z U
3.5 服务主线程与三种启动流程7 o0 e! {% ^5 s$ \2 e# q& Z
3.6 配置文件的处理! Y/ O* h9 A1 U; @
3.7 核心配置文件类的源码解读
; X3 d8 C0 N. _, a1 W1 P3.8 服务创建进程之逆向工程$ t2 t6 N& v7 T0 X2 q
3.9 服务创建进程之扒后处理9 A& i. R6 u8 ?. l: N
4.1 驱动接口模块的初始化流程
3 h# |. r0 w) z# x! B4.2 驱动握手算法与接口讲解
7 I% g1 Q+ N4 G: d. V% a# t* z4.3 回调流程与接口说明8 Q% J8 n6 X+ q# k; p
5.1 驱动开发环境的选择与搭建" O0 u4 q; `6 j% h. I
5.10 如何安全的进行HOOK卸载
1 O. b5 d# K" ] @3 {- F5.11快速理解SFilter框架0 ~ @: s0 V2 U/ w3 l% | Y
5.12 终结者驱动框架与功能概述9 t D1 q N- a2 w
5.13 RWTBase框架与例程处理
9 }8 ?0 a! A* s% c: V5 {" s& O# r5.14 MBR保护与函数导出
: B/ t2 R' e5 A' F3 u X1 o5 x7 M5.15 RWTKrl驱动入口点执行流程$ v9 [% X" O9 Q8 H2 A
5.16 系统重启时RWTKrl保护配置的读取流程, h* l$ k1 [8 w$ }8 \& ^
5.17 规则的数据结构及其运作方式
8 f T1 Z0 M% H5.18 GenericTable在驱动中的使用
0 m) j5 }0 N! i! |* J5.19 威胁回调消息的运作流程$ |3 i h% r2 N
5.2 WinDbg内核调试初步8 e0 f8 ?9 ?. w/ a+ N
5.20 _ExInterlocked_XX_List在项目中的使用2 x( I$ h9 A3 `& W4 j# y( I+ I
5.21 自我保护的运作流程( y& R* U5 C/ C' e( q' |( j+ G1 ]
5.22 Create分发函数的处理流程/ r- ]+ O% w- n4 k8 w( Z
5.23 SetInformation分发函数的处理流程
% v: V) i) P6 s9 i5.24 其它分发函数的处理流程
( T) G, O$ Q4 o% y5.25 备份的核心逻辑与初始化
+ c/ ]% H! A% p/ r2 i5.26 备份核心逻辑的具体实现% u% }5 E9 q# \$ t6 w2 o. t$ Z
5.27 获取备份信息的具体实现, H! q1 A+ D3 ?# m
5.28 备份接口与其它杂项说明
I# X1 z+ b0 `6 e3 I5.29 驱动部分的课后作业$ O6 O7 i/ I7 g6 l$ F
5.3 WinDbg内核调试实践
- R( |3 C3 R- K8 O7 S5.4编写Windbg脚本来达成调试目的5 k; Z% p8 q: p1 H- p8 e; }
5.5 使用Verifier验证驱动稳定性
4 Y8 T( `; m w5.6经典HOOK与异常捕获+ I! m& I3 ~/ q. k% R" ]
5.7 安装HOOK的注意事项
) ?2 E& ~. a! ] S5.8 InlineHook的各种大法(一)
* \6 s" E% U9 v9 w3 e- ?5.9 InlineHook的各种大法(二)2 @: z2 u5 I+ `: ?: l9 Z V
6.1 清除模块的初始化与还原点/ W8 J- h# k* J- @. h9 B
6.2 还原清除的运作流程
2 K" T8 H/ [7 G. `# Q' Q6.3 清除模块其它功能梳理与课后作业: B! z% y0 X6 {& c9 C) x: L
6.4 守护模块的运作流程与课后作业
% U2 U8 l0 d! q9 i2 {; F% M# s7.1 界面进程的几种启动流程
E# f9 f1 H. B- ~: T+ `0 R7.10 界面的整体框架梳理/ r1 t5 [* B( P1 g1 @% p
7.11 左边树形控件的布局与源码剖析6 o; |: v$ O( F7 m i
7.12 摘要页的布局与源码剖析0 I* B7 w8 X& |, j" R
7.13 陷阱设置页的布局与源码剖析9 N2 D8 ?- y# D5 P( Q+ Q f. k
7.14 备份设置与类型管理页的源码剖析
+ x% d# l* y( d' j% f7.15 文件保护管理页的布局与源码剖析
! ~( f/ B( e! a0 S7.16 备份文件导出页的布局与源码剖析& [" d0 w' p0 a- R% G% C
7.17 手动清除页的布局与源码剖析0 @8 J( |; `$ H. v# k* g+ s+ z4 j
7.18 清除日志页的布局与源码剖析 N" ^+ f1 R6 b- X
7.19 威胁警报页的布局与源码剖析) |; L) _& O) G8 G8 a- n
7.2 SOUI生成的框架代码剖析% G; f, {9 E$ J) G
7.20 文件保护回调页的布局与源码剖析
0 b7 C9 r4 @8 N# F3 M7.21 其它页面的布局与课后作业6 {5 _' Q% i3 V3 }
7.3 SOUI中图片资源与对话框的使用方法
6 ~2 z- }9 ~8 B: f b# e7.4 SOUI的锚点布局与TabCtrl控件: w$ u8 U# Y/ C c5 X5 S
7.5 SOUI中编写自定义控件% h) q, w7 @2 p% z, O, u
7.6 保护密码引导页的布局与源码剖析
& k2 D( [. G$ x y# d+ h; Q5 y2 O7.7 备份磁盘选择引导页的布局与源码剖析`
, [4 I: M5 x# n* b# z) S* ]/ P7.8 备份文件上限引导页的布局与源码剖析7 E) t& h$ X6 n8 k! s: D; O
7.9 其它引导页与第一次正式启动流程
$ W- N1 Z+ q4 D0 t) _1 R$ T8.1 卸载程序的运作流程!/ i0 m' K; i; K2 c2 m3 E0 i
8.2 安装包的页面布局与杂项说明 n: |+ J7 n! L$ s y1 }
8.3 安装包的运行流程与源码剖析
8 U( S# C9 M" |' \+ S8.4 遗留问题与课程最后的话
8 p( U( l3 `( x( F . T9 }# y' v# D: ]& S
|
|