|
|
现在的网络在线教学会教你写驱动、写应用层代码、写界面、还会教你玩逆向、以及一些调试技巧。但在安全软件开发领域,却没有教程会教你从实际的项目角度去切入,如何灵活的应用这些知识,最终打造一款安全产品出来。它涵盖了通过对安全趋势感受选择方向,确定后分析威胁(分析大部分样本)归纳其共性后,进而推导出防御思路,单调的防御思路还不足以形成产品,此时需要思考还需添加哪些功能才能使其足够成熟,能够满足基本产品级要求。再对所有功能进行归纳划分,最后产生成熟的架构。再根据架构开始进行驱动、应用层、界面的代码编写,这中间踩过的坑,遇到的坎,都将为大家呈现。看到这里,估计你的心中也有点了然了。. B7 i( y1 y! ^) c% |; U( \$ ]. c
课程内容:8 E! g/ Q/ T% l( V' |, W. `
1.1 课程简介
2 p2 A: x% x$ ?8 |- M1.2 预备知识与学习方法& Q2 H7 e/ l: g' j- F0 i
1.3 勒索病毒流行原因分析
: M, |) o5 D5 N7 F. j5 I$ @! [% X1.4 我的防勒索演进过程
# h5 ]0 W F( V& b1 T2.1 功能的添加、细化与补充, j7 G) S3 |. f& h% N& B" A, {5 ^
2.2 细化功能的归类与整合
; M: |" B* p7 U2.3 最终架构与核心流程. g9 D" R; n) n; q6 {) o1 C1 D
2.4 终结者源码编译:' T7 B5 k* B: ~# a. k! `& V
3.1 Windows服务程序标准框架讲解
1 Y! g6 K/ W8 h- X3.10 服务与界面通讯的初始化流程
. K7 y8 V. m5 \% L# Q3.11 通讯建立及配置更改流程讲解
, ]( e9 C; Q |; N9 [8 j, A' x3.12 威胁与无响应消息回调流程
2 p+ v# z7 G9 G4 p/ g3.13 心跳消息流程与关键点回顾& T# s: r$ G+ `# ?
3.14 诱饵文件与清除接口源码讲解/ z! Z8 L) B8 b7 w' X5 T# k+ r* L
3.15 驱动接口与杂项源码讲解+ B0 H, _8 K0 Z, w
3.16 缺点分析与重构建议. a) w9 P7 k& ~- x* \" P4 z, m% G
3.2 Windows服务程序排错技巧: g# O; w! U2 i1 C8 J& H
3.3 安全产品DLL导出表处理
. C- D' K$ s: {& x3.4 终结者接口、开发与阅读流程
" _- t0 J5 ~0 n8 y4 z3 B3.5 服务主线程与三种启动流程) S* R, u% B2 c: D
3.6 配置文件的处理% A( }# A8 @8 k
3.7 核心配置文件类的源码解读$ i9 c* K. b( S) U2 E; j" ?: ~
3.8 服务创建进程之逆向工程
) r4 Q) p. c7 O, A& |+ z3.9 服务创建进程之扒后处理- a( R/ J% J0 n* U* `
4.1 驱动接口模块的初始化流程
" Q9 W; Y3 f' p# c( S$ f6 B6 E3 f4.2 驱动握手算法与接口讲解
4 s7 b9 c1 S! Q- ~% U4.3 回调流程与接口说明
4 ?5 | `2 o- z$ k; j5.1 驱动开发环境的选择与搭建
9 H, _1 R5 d7 ~2 r1 x. N& M5.10 如何安全的进行HOOK卸载" ?; |7 V' q# j0 l5 r1 s
5.11快速理解SFilter框架. v# s: [1 q, q, D& _( U
5.12 终结者驱动框架与功能概述
/ S# }+ G9 [! i( f8 _5.13 RWTBase框架与例程处理
- G( z1 L0 X" } w1 O/ s5.14 MBR保护与函数导出) l# o8 {+ n3 z1 a- ~+ M+ F$ N! D- A
5.15 RWTKrl驱动入口点执行流程, T; R+ u/ l Q) q& ^% h' ^
5.16 系统重启时RWTKrl保护配置的读取流程
: K) k7 ?& ?; |% A7 |* J: R/ [5.17 规则的数据结构及其运作方式
7 _# I p/ q: L/ V% A3 X5.18 GenericTable在驱动中的使用' I7 O( l1 u- H6 o$ d/ C
5.19 威胁回调消息的运作流程$ A* Z* _% L( x. q. M+ V( F
5.2 WinDbg内核调试初步8 N5 k ]( T. D0 G
5.20 _ExInterlocked_XX_List在项目中的使用8 m' z% l" Q4 T7 u
5.21 自我保护的运作流程
3 ?' Q1 Q! q. {, J6 z6 ]: ~5.22 Create分发函数的处理流程0 i! p0 B: n+ w8 N2 |+ \2 I
5.23 SetInformation分发函数的处理流程
; [: O4 [. M8 Y$ c, v5.24 其它分发函数的处理流程8 M9 e- ~1 v6 q: a: v, U
5.25 备份的核心逻辑与初始化3 R2 a5 L5 q$ \9 z
5.26 备份核心逻辑的具体实现) y s! i$ i; h/ ~4 }2 f; Z( c! F* i
5.27 获取备份信息的具体实现
2 q& R9 R* P+ b4 p$ ]6 n, B5.28 备份接口与其它杂项说明) O; J" I5 a0 J$ a
5.29 驱动部分的课后作业
( |! i$ \9 B0 d4 L1 h3 h5.3 WinDbg内核调试实践$ M: {3 r6 z7 v; o' A
5.4编写Windbg脚本来达成调试目的
; j2 ~/ o8 S8 y1 g5.5 使用Verifier验证驱动稳定性2 y4 ~* E; N0 {7 n
5.6经典HOOK与异常捕获$ Y! |5 N2 `+ H$ ~
5.7 安装HOOK的注意事项" L5 s& V5 p7 N+ f1 \
5.8 InlineHook的各种大法(一)
- z8 ]5 g. v8 d) Q7 w5.9 InlineHook的各种大法(二)) o i& K3 `4 Z
6.1 清除模块的初始化与还原点
$ R. Y0 V0 e$ P/ T2 T5 F6.2 还原清除的运作流程
. n3 O2 B k$ e" e6.3 清除模块其它功能梳理与课后作业
; Y4 f. H( P; V W% I6.4 守护模块的运作流程与课后作业: p1 Z4 N) ^( D4 Q3 D& w1 b& j4 T" h
7.1 界面进程的几种启动流程
5 g/ P b5 w2 i* u7.10 界面的整体框架梳理
( c0 P4 @9 }3 r y7.11 左边树形控件的布局与源码剖析
9 J; B# Z! s3 K) a J7.12 摘要页的布局与源码剖析5 w& T' `$ q$ F1 u+ x1 M. G0 D
7.13 陷阱设置页的布局与源码剖析
+ |4 |6 x; z2 b, ~ e. _7.14 备份设置与类型管理页的源码剖析6 K2 H; ?# G/ w; W' m$ `/ b
7.15 文件保护管理页的布局与源码剖析# F! I3 `( Q5 C( f+ P+ h# F
7.16 备份文件导出页的布局与源码剖析8 b* T1 ~; O; @1 ?
7.17 手动清除页的布局与源码剖析2 X3 c5 u; e/ J3 B
7.18 清除日志页的布局与源码剖析
" b* D: X5 x7 k4 z* w) Q2 O7.19 威胁警报页的布局与源码剖析/ G4 a1 V' @; g* v
7.2 SOUI生成的框架代码剖析( ~% M* ~3 d* n4 H) t5 P9 b
7.20 文件保护回调页的布局与源码剖析) U4 A! z2 L/ T
7.21 其它页面的布局与课后作业
5 i7 U- d4 J0 L3 A7 r7.3 SOUI中图片资源与对话框的使用方法8 i p5 W0 c1 O) Z# W h& O
7.4 SOUI的锚点布局与TabCtrl控件% e9 K9 g( M2 b7 J' _
7.5 SOUI中编写自定义控件
! d- L+ \: v5 p7.6 保护密码引导页的布局与源码剖析
U' J/ G( ]9 b2 f" T# M$ Y7.7 备份磁盘选择引导页的布局与源码剖析`" d7 o# e; P4 H; U1 f6 ?' s/ \# ~
7.8 备份文件上限引导页的布局与源码剖析
+ e: V* P( n8 H( e2 M7.9 其它引导页与第一次正式启动流程0 `! W; ? S: ?6 ^+ z
8.1 卸载程序的运作流程!
2 B# Q, Y' H" Z! ]* I, h8.2 安装包的页面布局与杂项说明
! \( S: F3 E4 d8.3 安装包的运行流程与源码剖析3 y# S: S4 k: v# _2 ]2 R3 `
8.4 遗留问题与课程最后的话
3 A0 P9 O' c& M/ Z3 ] 1 ~+ N. Q8 I# M; w" d
|
|