|
现在的网络在线教学会教你写驱动、写应用层代码、写界面、还会教你玩逆向、以及一些调试技巧。但在安全软件开发领域,却没有教程会教你从实际的项目角度去切入,如何灵活的应用这些知识,最终打造一款安全产品出来。它涵盖了通过对安全趋势感受选择方向,确定后分析威胁(分析大部分样本)归纳其共性后,进而推导出防御思路,单调的防御思路还不足以形成产品,此时需要思考还需添加哪些功能才能使其足够成熟,能够满足基本产品级要求。再对所有功能进行归纳划分,最后产生成熟的架构。再根据架构开始进行驱动、应用层、界面的代码编写,这中间踩过的坑,遇到的坎,都将为大家呈现。看到这里,估计你的心中也有点了然了。
1 ^ e" d8 H9 V& D/ i* I3 a: ~9 c课程内容:% y# w& ^6 i+ a% c& Y) S: u
1.1 课程简介
8 ?, Q: w; O6 N6 i* I9 v; x1.2 预备知识与学习方法+ n+ d3 y6 W, D5 C. h
1.3 勒索病毒流行原因分析5 M3 P) m6 F6 N0 n' ^
1.4 我的防勒索演进过程
" ], Z9 \+ R7 i5 [& J2.1 功能的添加、细化与补充
# A; y4 t8 t1 K9 a/ S* p2.2 细化功能的归类与整合
/ a& k' H( [' f. {( z3 {2.3 最终架构与核心流程
1 A# i: T1 [% ]. H2 y: k; y( ?2.4 终结者源码编译:
! ~! X1 a( e) T% c5 H. X! m3.1 Windows服务程序标准框架讲解3 U3 j/ [7 x! Z
3.10 服务与界面通讯的初始化流程( h. H0 @9 x$ ^: B
3.11 通讯建立及配置更改流程讲解
, @* P% e/ N! } }8 G+ J% j3.12 威胁与无响应消息回调流程+ l |4 Y" v$ [- m% L
3.13 心跳消息流程与关键点回顾
0 \3 @! w; [' V, A3.14 诱饵文件与清除接口源码讲解
0 y% q- A* x! r. P2 q3.15 驱动接口与杂项源码讲解
8 y! Z- I% P" H- M4 r3.16 缺点分析与重构建议4 [0 a% ~. M# v# Y# K3 S. x
3.2 Windows服务程序排错技巧- D5 X) ~; ~/ m" Y
3.3 安全产品DLL导出表处理
7 h: |: q) J1 C4 ^3.4 终结者接口、开发与阅读流程
( H# ~1 p: T% I% k0 @9 b3.5 服务主线程与三种启动流程% y" ^9 E6 a( E* {; a& k
3.6 配置文件的处理. ~; x0 c7 B1 |; m- H* w0 a: m
3.7 核心配置文件类的源码解读7 `0 ?5 ^* l o$ A
3.8 服务创建进程之逆向工程
7 F7 w" T2 H* o3.9 服务创建进程之扒后处理
G R8 l8 C; G3 x* J* ^4.1 驱动接口模块的初始化流程9 Z3 L' l$ G1 m1 I7 O3 J
4.2 驱动握手算法与接口讲解
; X! @5 V1 W/ S7 O. S0 _4.3 回调流程与接口说明; n" e+ P. Y0 t: D/ g
5.1 驱动开发环境的选择与搭建# j0 m" Z' n. G# _+ U9 q
5.10 如何安全的进行HOOK卸载
. W* f( }) e7 r' d2 p9 h8 r5.11快速理解SFilter框架
/ V) _8 p% Q: u2 H9 m1 X5.12 终结者驱动框架与功能概述; Y& g6 A2 }/ s" e
5.13 RWTBase框架与例程处理1 U4 e8 {! P. a/ W% e
5.14 MBR保护与函数导出; r+ j; G- c4 \7 A. y* |6 M
5.15 RWTKrl驱动入口点执行流程( l7 T4 C% ` c1 h T; h( B: G
5.16 系统重启时RWTKrl保护配置的读取流程# q" t R3 z" i: W7 T
5.17 规则的数据结构及其运作方式0 a/ q. }" J" K: I& y, U0 e; u
5.18 GenericTable在驱动中的使用' L; D' k2 O6 i2 @0 P3 @1 N
5.19 威胁回调消息的运作流程
7 R. ~% W" t5 J* v5.2 WinDbg内核调试初步6 t1 ?% A/ c3 W# z
5.20 _ExInterlocked_XX_List在项目中的使用0 w7 a2 n, s% v0 n: F& y/ C0 q3 S1 F
5.21 自我保护的运作流程$ p; Q1 D, r% X8 ?. |2 s9 d
5.22 Create分发函数的处理流程! `4 V. i% L) w; ~* c5 L* j4 q: Z
5.23 SetInformation分发函数的处理流程& h* l, d% n3 f
5.24 其它分发函数的处理流程
5 U7 f+ U" y) t) n9 P' z ~5.25 备份的核心逻辑与初始化5 ] R$ x* U: _- C9 G; W
5.26 备份核心逻辑的具体实现: q4 D6 ]) `. `/ k7 M a
5.27 获取备份信息的具体实现1 l; }4 ~) S. l( r2 l9 W3 J
5.28 备份接口与其它杂项说明' x" \" _7 G( w$ j' l
5.29 驱动部分的课后作业
6 _9 R) W1 F2 D# U* s4 V% q5.3 WinDbg内核调试实践
" |+ \, n# {) ]( M, J5.4编写Windbg脚本来达成调试目的
/ H. m( E* X' R/ h" J1 f" w, w2 g5.5 使用Verifier验证驱动稳定性& Y* F1 F" _. Y$ y. t' @
5.6经典HOOK与异常捕获
% p9 R5 l2 D; y+ u$ C% A5.7 安装HOOK的注意事项
# w& Q) l+ }" q1 T, X* w4 {$ T# `5.8 InlineHook的各种大法(一)& A5 V/ J3 ~3 v* a2 `( x2 t
5.9 InlineHook的各种大法(二)) G L2 q7 C+ w6 @
6.1 清除模块的初始化与还原点
0 p' }" Y# g, v. J" X- U6.2 还原清除的运作流程) N6 S0 _ k* U7 ?
6.3 清除模块其它功能梳理与课后作业1 c2 t0 c0 x' c
6.4 守护模块的运作流程与课后作业
; m. n! ?# {, Y7.1 界面进程的几种启动流程1 G5 ?8 h% a7 P) |% F
7.10 界面的整体框架梳理
6 l# l f" c/ S L, @$ G D7.11 左边树形控件的布局与源码剖析
3 u% m! `, ~2 O- b* }5 R7.12 摘要页的布局与源码剖析2 C9 v, T: {; _( d( {3 p8 m$ C
7.13 陷阱设置页的布局与源码剖析
- q% {0 m2 E( C, l7.14 备份设置与类型管理页的源码剖析7 c; U9 ^) l5 |0 Z( p' y2 R
7.15 文件保护管理页的布局与源码剖析2 ^+ y, B$ z. b( |# u. V& N- k/ v4 J
7.16 备份文件导出页的布局与源码剖析
% k) a* ~ R: p0 m8 Q% e$ C5 F7.17 手动清除页的布局与源码剖析
; i/ k8 g9 r) V7.18 清除日志页的布局与源码剖析% G6 T- R9 D/ c0 m$ h0 C
7.19 威胁警报页的布局与源码剖析
: m% w& Z2 ~+ Y" w0 m/ L8 w7.2 SOUI生成的框架代码剖析; v( r: A) a) i" [0 \4 g
7.20 文件保护回调页的布局与源码剖析
; s4 w" B4 k* N' h5 q, E7.21 其它页面的布局与课后作业
. f" ]. x; l6 t: k2 `. z7.3 SOUI中图片资源与对话框的使用方法5 z- `+ {; T5 U
7.4 SOUI的锚点布局与TabCtrl控件* u: O1 P. {! d2 o
7.5 SOUI中编写自定义控件1 b, t3 E% H' X, |
7.6 保护密码引导页的布局与源码剖析0 J6 |. W: R3 q
7.7 备份磁盘选择引导页的布局与源码剖析`/ _, b0 E6 d/ j( D1 R. J
7.8 备份文件上限引导页的布局与源码剖析
M9 {7 j+ t7 q: k/ a7.9 其它引导页与第一次正式启动流程5 K! ?/ d3 r0 H$ k1 L k
8.1 卸载程序的运作流程!
( {" U7 J( {1 C. ]! H" E5 C8.2 安装包的页面布局与杂项说明
$ `- \: Y" a# i) N8.3 安装包的运行流程与源码剖析- w" o0 J; }/ v7 f B% C% r, I
8.4 遗留问题与课程最后的话
" ]1 L# U' z# ]2 ]- m8 K4 G $ ?5 T A/ @, ]# ~: ?# V
|
|