|
|
现在的网络在线教学会教你写驱动、写应用层代码、写界面、还会教你玩逆向、以及一些调试技巧。但在安全软件开发领域,却没有教程会教你从实际的项目角度去切入,如何灵活的应用这些知识,最终打造一款安全产品出来。它涵盖了通过对安全趋势感受选择方向,确定后分析威胁(分析大部分样本)归纳其共性后,进而推导出防御思路,单调的防御思路还不足以形成产品,此时需要思考还需添加哪些功能才能使其足够成熟,能够满足基本产品级要求。再对所有功能进行归纳划分,最后产生成熟的架构。再根据架构开始进行驱动、应用层、界面的代码编写,这中间踩过的坑,遇到的坎,都将为大家呈现。看到这里,估计你的心中也有点了然了。+ F$ P# V4 L, V
课程内容:
5 M \3 ]/ ^" [$ y4 Y6 i1.1 课程简介* b" ^" V% k2 W4 V5 O
1.2 预备知识与学习方法
7 ~$ E( i) h; h _, w1.3 勒索病毒流行原因分析+ w7 U: Z( }. G4 V# T
1.4 我的防勒索演进过程
, R2 r; O: ^! }2.1 功能的添加、细化与补充
. u- h3 [/ b7 }$ @5 Y* Q2.2 细化功能的归类与整合
8 z; i# z! S" d2.3 最终架构与核心流程
3 M0 @! w D+ Q2 C( m5 w1 f2.4 终结者源码编译:
5 r4 i' \( j! F( j6 c6 r9 ?) ]$ ~3.1 Windows服务程序标准框架讲解7 R2 j0 }, a' m1 D6 D
3.10 服务与界面通讯的初始化流程
7 C' E& M% g; V, j1 @- Y$ `3.11 通讯建立及配置更改流程讲解
; C) A5 _$ Z1 F5 {/ `$ }6 _+ i3.12 威胁与无响应消息回调流程% C% a6 O3 N3 \' W
3.13 心跳消息流程与关键点回顾
3 ]) k" X! d, U5 l0 I3.14 诱饵文件与清除接口源码讲解% K6 T2 {" i+ T1 w' g% V
3.15 驱动接口与杂项源码讲解
0 z7 p7 u$ a; h7 F, Z3.16 缺点分析与重构建议% z- }8 }* @: ]# Z$ e- f
3.2 Windows服务程序排错技巧6 ?4 @9 ?5 u# `$ m
3.3 安全产品DLL导出表处理
9 X: [* l) |- W' S. X" _3.4 终结者接口、开发与阅读流程
: V5 a& C1 B% l0 f3.5 服务主线程与三种启动流程0 }4 d8 D6 K. D- V; Q
3.6 配置文件的处理6 A+ e$ C) D; j. n5 n
3.7 核心配置文件类的源码解读
* X% H( f+ I: t3 T, a: P' Q3.8 服务创建进程之逆向工程
3 `" X# c: B' ~) F( E3 ?7 C) i3.9 服务创建进程之扒后处理
& H3 U* t6 Y' t" C4.1 驱动接口模块的初始化流程
* N1 y( r7 I# \4 c4.2 驱动握手算法与接口讲解
" n$ G, n8 N! @4 B5 j4.3 回调流程与接口说明
4 [/ R, e- x/ x3 V- r4 A- f. f3 P$ F5.1 驱动开发环境的选择与搭建- N0 i4 h. H0 y" z
5.10 如何安全的进行HOOK卸载: L: b5 B1 s0 ?# l% p0 ?
5.11快速理解SFilter框架
2 k" L: B- b) ^9 ~0 \; e7 u6 p5.12 终结者驱动框架与功能概述
: }1 ~4 ]6 t6 }7 ^5.13 RWTBase框架与例程处理; a: b" T* w2 B9 A* O4 s( @! n
5.14 MBR保护与函数导出, E, k; i5 L' t& G
5.15 RWTKrl驱动入口点执行流程' J, y; G+ m* {8 |* `) {
5.16 系统重启时RWTKrl保护配置的读取流程
* f3 ~( N* B% f+ t4 k5.17 规则的数据结构及其运作方式! F0 g7 R; `# y3 `6 j& Q& `, B: A
5.18 GenericTable在驱动中的使用
$ I d) o9 n+ d5.19 威胁回调消息的运作流程
( [ g! |7 C/ [- _8 N+ a: c( L5.2 WinDbg内核调试初步+ P: [% L) e! ]
5.20 _ExInterlocked_XX_List在项目中的使用4 O% |5 I( ^9 G
5.21 自我保护的运作流程
; T/ B" L- ?. n7 f& m2 W5.22 Create分发函数的处理流程
& \8 G9 e3 e0 E# x1 ^2 p! }5.23 SetInformation分发函数的处理流程
) L- f1 J. R$ T: w" g* s2 \% ?5.24 其它分发函数的处理流程
( s4 C9 o5 \) `! P7 v8 p; Z( V5.25 备份的核心逻辑与初始化
* E# T+ G* b3 B( R5.26 备份核心逻辑的具体实现# e, X3 t6 B. C2 {3 a7 v1 O
5.27 获取备份信息的具体实现
7 |: }5 q* r3 K7 H' B5.28 备份接口与其它杂项说明7 U. g9 A9 K$ f* }5 k1 d
5.29 驱动部分的课后作业4 F. _& I4 ^" u, F& \* C
5.3 WinDbg内核调试实践: b! E' M! c$ R* l- W
5.4编写Windbg脚本来达成调试目的- G# I2 m" h' H9 y+ O
5.5 使用Verifier验证驱动稳定性
6 N4 E& a c/ @9 V$ j' Q) \5.6经典HOOK与异常捕获# [- F5 T% {7 l" {) O ?$ d
5.7 安装HOOK的注意事项
# g+ F% n6 f( V" |- d% G8 U X5.8 InlineHook的各种大法(一). l3 w+ a# [: ?5 |
5.9 InlineHook的各种大法(二)# m& I4 c+ H; @3 ?
6.1 清除模块的初始化与还原点
* \; d3 X+ A5 b8 j6.2 还原清除的运作流程
9 Z- h$ q9 Y% ?6.3 清除模块其它功能梳理与课后作业. q6 C q+ a, x, z. Q, i+ ?
6.4 守护模块的运作流程与课后作业* x! v9 S" j. S! `
7.1 界面进程的几种启动流程 a+ X' M" u F5 _
7.10 界面的整体框架梳理
, }6 _0 j+ N& z, k- n# q. G- m" D7.11 左边树形控件的布局与源码剖析
, `( C X0 L J3 S' P$ ^0 [7 j7.12 摘要页的布局与源码剖析
/ y) p% y: y- A D; `7.13 陷阱设置页的布局与源码剖析& }$ u' @1 |; w7 q! G$ O- X; k
7.14 备份设置与类型管理页的源码剖析9 m) w; Y* `, d) M' d# ?
7.15 文件保护管理页的布局与源码剖析- Z$ `. R/ b! y3 o& ~
7.16 备份文件导出页的布局与源码剖析9 [/ N/ w. d `
7.17 手动清除页的布局与源码剖析; A* X- \$ h: q1 c: H: T0 q
7.18 清除日志页的布局与源码剖析
; H8 P. k q+ |- `( ?& e7 @ _+ G7.19 威胁警报页的布局与源码剖析
) P/ E8 F$ a5 Q: v% ?8 B7.2 SOUI生成的框架代码剖析0 y( V1 c6 e9 n+ P% G
7.20 文件保护回调页的布局与源码剖析
N* ~( X6 X( ^; d3 l: @/ L) e7.21 其它页面的布局与课后作业
. X+ A" G( g" n4 A8 y2 G7.3 SOUI中图片资源与对话框的使用方法
& K3 |) t7 \1 H, O8 F7.4 SOUI的锚点布局与TabCtrl控件8 W) J1 b* o' V8 I( Y- p& Q1 i
7.5 SOUI中编写自定义控件2 V2 ^4 b9 |5 ?; X1 a; P+ S% w
7.6 保护密码引导页的布局与源码剖析
$ [: j q# m: {9 K7.7 备份磁盘选择引导页的布局与源码剖析`
7 l& \# ^& W* m: B' O# }7.8 备份文件上限引导页的布局与源码剖析# S5 @& { e0 ?. C5 z4 X
7.9 其它引导页与第一次正式启动流程. n7 L, f3 Z# N, Y! `: p8 o% X0 n) s
8.1 卸载程序的运作流程!
# u0 N0 [8 q* o. m2 J0 c# A7 u5 Q8.2 安装包的页面布局与杂项说明( [' L; u# X. q4 U
8.3 安装包的运行流程与源码剖析* g V5 V1 n: H3 T' Y6 j7 Z# T
8.4 遗留问题与课程最后的话$ m9 F1 X& I" [
9 a; a2 [6 x5 s' r# c
|
|