|
|
现在的网络在线教学会教你写驱动、写应用层代码、写界面、还会教你玩逆向、以及一些调试技巧。但在安全软件开发领域,却没有教程会教你从实际的项目角度去切入,如何灵活的应用这些知识,最终打造一款安全产品出来。它涵盖了通过对安全趋势感受选择方向,确定后分析威胁(分析大部分样本)归纳其共性后,进而推导出防御思路,单调的防御思路还不足以形成产品,此时需要思考还需添加哪些功能才能使其足够成熟,能够满足基本产品级要求。再对所有功能进行归纳划分,最后产生成熟的架构。再根据架构开始进行驱动、应用层、界面的代码编写,这中间踩过的坑,遇到的坎,都将为大家呈现。看到这里,估计你的心中也有点了然了。, R; [' Q- U4 `9 d
课程内容:! I6 @8 g( C# P
1.1 课程简介# d. Z: i/ r! V: U ~5 }" A
1.2 预备知识与学习方法
' ?" X- x2 J- I5 [1.3 勒索病毒流行原因分析
2 ~6 V7 E: V+ H4 b* _ M; K( r! c1 U1.4 我的防勒索演进过程
4 r# ^' \4 P: r# G0 ]0 M2.1 功能的添加、细化与补充1 C. | A6 T6 a" u5 _* O! k7 b! A
2.2 细化功能的归类与整合
; }6 V% p! ?( k# E0 m6 k1 ^+ v2.3 最终架构与核心流程+ I# _2 g3 t1 a0 i
2.4 终结者源码编译: g" V7 b% H% X$ C( d
3.1 Windows服务程序标准框架讲解) F- K# S* S' a8 I" e1 z) W. M0 v
3.10 服务与界面通讯的初始化流程
6 s8 o6 {7 N- i- Y3 g3.11 通讯建立及配置更改流程讲解
- i3 J4 l' f5 |" y6 A! X% w: k" o. J Z3.12 威胁与无响应消息回调流程
1 a; j& h6 b5 a( }# @' N3.13 心跳消息流程与关键点回顾
6 `( a9 T3 J" X/ S3.14 诱饵文件与清除接口源码讲解
8 y2 X0 f1 ]9 N3.15 驱动接口与杂项源码讲解
: p$ \" K8 u; L! R+ J/ ^. Q5 c6 \* X& r3.16 缺点分析与重构建议
3 L+ s2 c& @! b( Y: w3.2 Windows服务程序排错技巧
2 Y# y+ _ C' H0 z+ x( C3.3 安全产品DLL导出表处理
( W a4 N9 y3 ]1 ~7 C5 H3.4 终结者接口、开发与阅读流程
/ U! Y5 C( w( T; ]) ^0 }3.5 服务主线程与三种启动流程
: d- F9 @7 y4 f3.6 配置文件的处理1 T- Y2 l* p# J
3.7 核心配置文件类的源码解读0 J+ N6 g4 f# I% r, O6 G9 \% G
3.8 服务创建进程之逆向工程 w- ?) w" l. W5 B# Q
3.9 服务创建进程之扒后处理; H7 V, J B3 z' _8 V& s; \
4.1 驱动接口模块的初始化流程
. t9 _: S$ _. S8 v3 d. `, E4.2 驱动握手算法与接口讲解; m! G @: t+ @6 r7 Z3 n3 l0 O4 P
4.3 回调流程与接口说明
! N; v5 a1 z U1 }5.1 驱动开发环境的选择与搭建
9 P& E& a3 ]4 x& Y5.10 如何安全的进行HOOK卸载
9 P# e, t# R3 I8 j5.11快速理解SFilter框架& T. \7 L3 K0 s
5.12 终结者驱动框架与功能概述: O9 L+ k! e8 L# L, h3 B' ?9 S* x
5.13 RWTBase框架与例程处理
! I6 u1 p8 f' {. W* W) D5 W( g1 ? y( i5.14 MBR保护与函数导出
' H% x0 s+ T1 o7 F( _' P; h# a5.15 RWTKrl驱动入口点执行流程$ n& n# p9 [/ Z6 B# k
5.16 系统重启时RWTKrl保护配置的读取流程
" o$ g2 r( v' c; _5.17 规则的数据结构及其运作方式
5 _- F$ t3 f% B- U: w2 x+ \- d* v5.18 GenericTable在驱动中的使用. P' m5 A# m1 q2 V" R
5.19 威胁回调消息的运作流程2 k0 `! U0 K2 f4 J
5.2 WinDbg内核调试初步# |6 w, t. m7 G. J. K' Z, W6 v N
5.20 _ExInterlocked_XX_List在项目中的使用
l. A' u7 i0 {; P5 M5.21 自我保护的运作流程
3 z9 J& C$ A/ X |7 r: E( @5.22 Create分发函数的处理流程: q( @9 l' T! H1 V) A
5.23 SetInformation分发函数的处理流程& a- g- q O4 l" i+ s: j, \/ l
5.24 其它分发函数的处理流程
* a( i" _/ Z, J0 D$ d: f0 @, ~5.25 备份的核心逻辑与初始化
% i$ M0 K% V& b5.26 备份核心逻辑的具体实现
7 Y# S# z! P8 B2 q) L5.27 获取备份信息的具体实现
5 T5 C, o8 m, v7 x$ ~5 o5.28 备份接口与其它杂项说明0 [, W$ E7 ^/ @" f" p4 P4 h; W
5.29 驱动部分的课后作业: k+ k0 o- N% F" o ?% W6 I
5.3 WinDbg内核调试实践* i1 |7 }) Y0 ~
5.4编写Windbg脚本来达成调试目的* ~6 Z7 H/ P% f: B/ V! l
5.5 使用Verifier验证驱动稳定性
2 t' [' F6 G6 ]& N. r4 g5.6经典HOOK与异常捕获9 |) m! H% c( l7 B! h
5.7 安装HOOK的注意事项
; D4 v* S y B1 L" j0 m! N5.8 InlineHook的各种大法(一)$ {7 i3 ^0 E3 H/ h
5.9 InlineHook的各种大法(二)# ]1 {0 D- M w1 ?5 _* }4 y% E
6.1 清除模块的初始化与还原点
% [) m- t7 C+ u6.2 还原清除的运作流程3 j1 m f' z+ v3 q9 z5 L9 L
6.3 清除模块其它功能梳理与课后作业 A, p4 O e2 ]% ^) x. ~' s
6.4 守护模块的运作流程与课后作业
; L& A2 t8 q& R+ K" x7.1 界面进程的几种启动流程. m6 z! }) Z8 D! d. q3 A
7.10 界面的整体框架梳理
9 C6 a! X" n. J) [' x& }7.11 左边树形控件的布局与源码剖析
% i9 }8 z/ i7 ]) Y7.12 摘要页的布局与源码剖析4 X; S; d- H+ q9 f+ |
7.13 陷阱设置页的布局与源码剖析1 h2 H$ j4 E* U! i0 G, d/ J* v
7.14 备份设置与类型管理页的源码剖析0 f: Q( |) e" e/ j
7.15 文件保护管理页的布局与源码剖析, p1 f% L9 b# O: V
7.16 备份文件导出页的布局与源码剖析3 e( r; L; @7 w5 d% K
7.17 手动清除页的布局与源码剖析
) {; d$ D/ w7 \ W9 I- }9 l7.18 清除日志页的布局与源码剖析
1 ^" r% O8 ]+ \$ v7.19 威胁警报页的布局与源码剖析/ h& @ _# N% _& H; ~
7.2 SOUI生成的框架代码剖析
6 T" ?% P8 r2 G5 e7.20 文件保护回调页的布局与源码剖析% ~' Z0 S( J+ H9 i/ r% J9 M
7.21 其它页面的布局与课后作业
) R8 `' `9 e, `1 w( P7.3 SOUI中图片资源与对话框的使用方法/ R9 d" ~! e, D5 ?: O
7.4 SOUI的锚点布局与TabCtrl控件5 h2 n/ `. ]! `7 } y, |; V
7.5 SOUI中编写自定义控件
0 a- C& G/ E( ]. @' i7.6 保护密码引导页的布局与源码剖析
+ P* M2 j3 { w2 A( J4 r7.7 备份磁盘选择引导页的布局与源码剖析`7 ]/ `; C' E! p& j) |
7.8 备份文件上限引导页的布局与源码剖析
7 v5 }$ H- q0 d) r4 i6 w1 c7.9 其它引导页与第一次正式启动流程
, h) O9 _1 S. \+ m L( _8.1 卸载程序的运作流程!( I& s- |7 k g) Z% | G- W$ ~ W ^
8.2 安装包的页面布局与杂项说明/ A; x p' g! x
8.3 安装包的运行流程与源码剖析
% S! Y% c% W9 O7 c8.4 遗留问题与课程最后的话
7 }2 O2 ]) P1 G M" U( x4 q $ u9 S( G1 ^8 J
|
|