|
现在的网络在线教学会教你写驱动、写应用层代码、写界面、还会教你玩逆向、以及一些调试技巧。但在安全软件开发领域,却没有教程会教你从实际的项目角度去切入,如何灵活的应用这些知识,最终打造一款安全产品出来。它涵盖了通过对安全趋势感受选择方向,确定后分析威胁(分析大部分样本)归纳其共性后,进而推导出防御思路,单调的防御思路还不足以形成产品,此时需要思考还需添加哪些功能才能使其足够成熟,能够满足基本产品级要求。再对所有功能进行归纳划分,最后产生成熟的架构。再根据架构开始进行驱动、应用层、界面的代码编写,这中间踩过的坑,遇到的坎,都将为大家呈现。看到这里,估计你的心中也有点了然了。
4 N H# [0 O- @' y, k; ]5 I课程内容:
. D- x( q8 |, z2 ^- L& C1.1 课程简介, _, g W4 {3 R! ?
1.2 预备知识与学习方法
' a& F5 J4 G$ h' C3 V( F1.3 勒索病毒流行原因分析
( X4 V9 J8 U6 K9 `1.4 我的防勒索演进过程
, K) |% ~7 {: Z# G2.1 功能的添加、细化与补充
2 r- d2 _, B) j- ~7 V4 b2.2 细化功能的归类与整合6 c& V1 ^; h+ N" C5 R ^: v7 ^
2.3 最终架构与核心流程, J2 H" V$ l) A1 @
2.4 终结者源码编译:
0 o. J2 K7 B! N* I7 ?" n @3.1 Windows服务程序标准框架讲解: x! w- a+ w# Q! ?
3.10 服务与界面通讯的初始化流程
% P$ ^& v& s. m1 e/ t3.11 通讯建立及配置更改流程讲解 U! f' X& m8 Y6 R" E0 U
3.12 威胁与无响应消息回调流程 @0 p+ k" F/ N. W; Q1 G2 b
3.13 心跳消息流程与关键点回顾7 ~8 g9 U; h7 U# A
3.14 诱饵文件与清除接口源码讲解
9 y7 n4 {4 O! i( N: I8 ?" e1 j3.15 驱动接口与杂项源码讲解; \) n& m3 N, a0 y- I
3.16 缺点分析与重构建议9 [5 M* ]8 Q3 e/ u1 c
3.2 Windows服务程序排错技巧
8 O) r2 Z5 |# F, o5 T; J3.3 安全产品DLL导出表处理" ?' x+ M% f$ T
3.4 终结者接口、开发与阅读流程: e& e: R# e' r0 [4 J; l
3.5 服务主线程与三种启动流程
+ U4 b7 v/ _. e% z' A# \3.6 配置文件的处理# R8 z- e8 X, Q; N" m+ d
3.7 核心配置文件类的源码解读
7 I1 l3 u% n2 t [3 a2 E: m) \3.8 服务创建进程之逆向工程
3 d- H, Q/ A0 k: O0 v3.9 服务创建进程之扒后处理1 E1 U/ Z0 A( g$ n, x0 c
4.1 驱动接口模块的初始化流程
3 l; T2 b$ [- N* p" ]* T+ f4 K4.2 驱动握手算法与接口讲解4 ~1 z: o; j. A. w" B
4.3 回调流程与接口说明2 a( C+ ^9 m. q! y; a- C9 U8 n+ F
5.1 驱动开发环境的选择与搭建7 n, v) ~$ a& V3 G& \7 Z, [; O% i
5.10 如何安全的进行HOOK卸载* W/ h7 H2 G' l# k3 s
5.11快速理解SFilter框架, E0 @2 j" Y/ z9 s: ~7 ~
5.12 终结者驱动框架与功能概述+ f u: n9 H' Y+ m9 b* ~8 l9 R4 O
5.13 RWTBase框架与例程处理$ y1 l* B& _) h- }- _
5.14 MBR保护与函数导出
: p- s# N; E. c5.15 RWTKrl驱动入口点执行流程
2 D1 j. D. W. S5 Q* w& q5 H5.16 系统重启时RWTKrl保护配置的读取流程
: u5 _5 K9 G- G, G5.17 规则的数据结构及其运作方式4 e& v& [1 O8 G3 A8 u9 }
5.18 GenericTable在驱动中的使用
$ W4 x% w1 X/ N, b+ Q5.19 威胁回调消息的运作流程
7 M" e# `/ V( L: a* A4 D4 M6 f; @5.2 WinDbg内核调试初步
! ^4 h' }& H0 ^+ y, l @+ A5.20 _ExInterlocked_XX_List在项目中的使用' N8 `. V, G' e7 v2 k8 t
5.21 自我保护的运作流程
* d; ~- l9 T/ M5.22 Create分发函数的处理流程- C/ ]+ q) s4 Z& w d# G
5.23 SetInformation分发函数的处理流程
$ G" I! v6 B) F$ L# b# Z5.24 其它分发函数的处理流程
) X1 n6 j6 `$ {, z" X) T5 H5.25 备份的核心逻辑与初始化, ]3 ^& i6 c$ m' [4 X
5.26 备份核心逻辑的具体实现
9 e, Q4 D, G- e* ~5.27 获取备份信息的具体实现7 z0 Z6 u- W" D/ U2 t9 D
5.28 备份接口与其它杂项说明
, y0 T4 W; E2 r) `6 C. S& Z6 n5.29 驱动部分的课后作业8 d( J. F: H3 |5 P1 k9 D. Q
5.3 WinDbg内核调试实践( R. D* d6 p: R) G5 F `6 V
5.4编写Windbg脚本来达成调试目的% W; J( e/ {, V# x9 Q7 n6 i( |7 E" ]
5.5 使用Verifier验证驱动稳定性6 H6 `6 H5 p9 Z* n
5.6经典HOOK与异常捕获
; w J7 o- l3 c# ]5 w5.7 安装HOOK的注意事项
$ o( @0 p0 [5 ?$ S5.8 InlineHook的各种大法(一)* Q+ c# f: s7 R& G
5.9 InlineHook的各种大法(二)
9 U- d/ [/ e/ g8 i2 C6.1 清除模块的初始化与还原点6 x2 Z) ]; I4 E; x- V
6.2 还原清除的运作流程
& s$ N3 W: |+ P) d6.3 清除模块其它功能梳理与课后作业
. I1 Q( z) u$ \9 o w5 n6.4 守护模块的运作流程与课后作业2 a9 j5 ^5 c E& ^
7.1 界面进程的几种启动流程
, a3 N J& Y' D& h: |3 f7.10 界面的整体框架梳理
' m$ F$ h& V" C8 N4 H7 A9 j# P7.11 左边树形控件的布局与源码剖析: G" e g& P, f
7.12 摘要页的布局与源码剖析
! d5 ]3 o1 h' E! i. C2 S. o7.13 陷阱设置页的布局与源码剖析
4 q$ M# l# k7 r7.14 备份设置与类型管理页的源码剖析1 p) m7 L7 b0 r, s5 { M
7.15 文件保护管理页的布局与源码剖析
# T Z9 a2 ?& u- C( Q7.16 备份文件导出页的布局与源码剖析" f" i% e5 @8 a6 ^0 s! q# i
7.17 手动清除页的布局与源码剖析$ V+ u! a* e' z; u
7.18 清除日志页的布局与源码剖析7 Z7 y% ?8 A4 q8 ]! k+ |' s- \
7.19 威胁警报页的布局与源码剖析
5 B: P; s; a7 a, {" D3 j$ O7.2 SOUI生成的框架代码剖析
' H- J/ J E) m" j b' c( r7.20 文件保护回调页的布局与源码剖析
8 D% B' N, b8 ~# q m; v0 E7.21 其它页面的布局与课后作业9 q# W5 y( L2 D3 }2 U) a% v, \
7.3 SOUI中图片资源与对话框的使用方法8 W# T2 i) g, ]
7.4 SOUI的锚点布局与TabCtrl控件8 ]/ j3 C2 f* o$ M( ]: D
7.5 SOUI中编写自定义控件# U. A6 r! d+ q. M* a
7.6 保护密码引导页的布局与源码剖析
: ~ N% V% b3 N3 K8 ]7.7 备份磁盘选择引导页的布局与源码剖析`; `& u; ]9 w* K8 P5 ~( ]6 a
7.8 备份文件上限引导页的布局与源码剖析& {8 n9 w' F) Q3 C
7.9 其它引导页与第一次正式启动流程$ N* m7 ~4 J9 b- ]+ _7 W d
8.1 卸载程序的运作流程!
$ U/ [- X2 }$ M5 M% Y, z8.2 安装包的页面布局与杂项说明6 \$ }( G' Y) a$ M3 D
8.3 安装包的运行流程与源码剖析
7 Y s& K/ m5 E8 E) x5 k0 b$ N8.4 遗留问题与课程最后的话
; R, ~7 Y+ d4 P6 [2 |+ V1 w y N' `: ?( h6 N& ?: N; Y# F2 `
|
|