|
|
现在的网络在线教学会教你写驱动、写应用层代码、写界面、还会教你玩逆向、以及一些调试技巧。但在安全软件开发领域,却没有教程会教你从实际的项目角度去切入,如何灵活的应用这些知识,最终打造一款安全产品出来。它涵盖了通过对安全趋势感受选择方向,确定后分析威胁(分析大部分样本)归纳其共性后,进而推导出防御思路,单调的防御思路还不足以形成产品,此时需要思考还需添加哪些功能才能使其足够成熟,能够满足基本产品级要求。再对所有功能进行归纳划分,最后产生成熟的架构。再根据架构开始进行驱动、应用层、界面的代码编写,这中间踩过的坑,遇到的坎,都将为大家呈现。看到这里,估计你的心中也有点了然了。- Q7 T" i& k* s" [- s+ m+ p9 c p# V
课程内容:
6 ~4 H9 b+ L. k/ R5 S, _1.1 课程简介, b& H! R, w- Y1 Y
1.2 预备知识与学习方法
; y, s/ |" ]9 q0 p* j+ E5 L) a1.3 勒索病毒流行原因分析
" R/ ~# t- N* S: J1.4 我的防勒索演进过程
- j( Y" X1 P+ s9 N* W+ U! @2.1 功能的添加、细化与补充' P7 |9 k! M4 x2 d# g
2.2 细化功能的归类与整合
0 \+ E! e6 j+ z# B7 j0 w7 z1 ]2.3 最终架构与核心流程# G4 D7 U( i$ v; n! j, |" [' P; O) a* Z
2.4 终结者源码编译:
% |. ]5 _* S1 c# O) Y8 z3.1 Windows服务程序标准框架讲解0 t) @) v/ {& [6 u/ R' ~
3.10 服务与界面通讯的初始化流程
1 W, y" D/ n4 n/ Z0 X" y7 k- c3.11 通讯建立及配置更改流程讲解
( I) a0 o$ v7 M n% T3.12 威胁与无响应消息回调流程5 e9 Z8 c: h$ H2 m) Q' \1 j
3.13 心跳消息流程与关键点回顾3 O3 y: B" D- k3 ~) q/ }
3.14 诱饵文件与清除接口源码讲解
4 b5 c( i3 {7 v3.15 驱动接口与杂项源码讲解
- g2 ]. E$ t& [5 M7 |+ G2 E3.16 缺点分析与重构建议" p+ O" ^/ n& `0 n8 h
3.2 Windows服务程序排错技巧
3 y) g. m4 c# k- H3.3 安全产品DLL导出表处理
% Z. p! }/ P; _& u6 Z3.4 终结者接口、开发与阅读流程
' N( Q$ L. m5 X2 N/ u! N5 W3.5 服务主线程与三种启动流程
7 X2 ?* w) `' H4 _+ E4 c" Q3.6 配置文件的处理6 ?* Y, Y6 ^2 U' D
3.7 核心配置文件类的源码解读4 V" Y, E) _: @! u
3.8 服务创建进程之逆向工程' ~3 k( \6 l, F9 c! a# ^8 Q
3.9 服务创建进程之扒后处理
2 z. e& M% \: q% a, [6 S4.1 驱动接口模块的初始化流程
I& V4 g; W/ T- i4.2 驱动握手算法与接口讲解
; {' A6 h" W2 W% s. U5 Z4.3 回调流程与接口说明
+ B' L+ @0 ~* ]% Z. p9 ~# c9 V5 W5.1 驱动开发环境的选择与搭建4 a" [2 F1 m+ K
5.10 如何安全的进行HOOK卸载
8 w; G) j+ u& j0 j e/ E5.11快速理解SFilter框架9 c+ j' _3 P+ Y% E
5.12 终结者驱动框架与功能概述
; N+ \$ U4 W g! W( Q" k* N1 }5.13 RWTBase框架与例程处理
6 _- u* n' S9 N8 ^5.14 MBR保护与函数导出; H' X6 E! \& y& ]9 ~
5.15 RWTKrl驱动入口点执行流程% @, D8 K/ W* c M( {
5.16 系统重启时RWTKrl保护配置的读取流程1 ~5 f' L+ l+ \0 k: u& @
5.17 规则的数据结构及其运作方式
( M. t; r& ^1 c( B3 `. @0 d, i5.18 GenericTable在驱动中的使用6 R* c% {" A2 O( ]8 y
5.19 威胁回调消息的运作流程& E. G s4 x& `
5.2 WinDbg内核调试初步
/ D+ \8 T/ I; a% h5.20 _ExInterlocked_XX_List在项目中的使用
" K1 b# g4 Z# o- s0 B6 B4 w5.21 自我保护的运作流程" z4 L4 Z/ c$ I- u. x8 a
5.22 Create分发函数的处理流程
) A( A& l3 k4 M2 {5 @7 B5.23 SetInformation分发函数的处理流程2 |2 X2 v+ U8 U) M6 I8 g0 f
5.24 其它分发函数的处理流程+ i3 J( O6 I& D; n
5.25 备份的核心逻辑与初始化1 {% k6 K) k6 a! F' Y
5.26 备份核心逻辑的具体实现
r& y- L2 l3 ?$ I9 M8 p5.27 获取备份信息的具体实现
2 M0 i% Y2 A; j2 J6 Q0 W7 Z8 U1 ]. D5.28 备份接口与其它杂项说明
9 z& T) u% ^- G5.29 驱动部分的课后作业
/ M; {6 O" ~. j0 ^' S, d: q5.3 WinDbg内核调试实践
6 Q. p) D1 j3 k8 i4 q5.4编写Windbg脚本来达成调试目的
! x( C- Z# O R' P8 E F- p5.5 使用Verifier验证驱动稳定性
/ O. d5 |4 f( y% t0 ^+ H% t4 f5.6经典HOOK与异常捕获: P& ^- e' z1 u0 l7 X/ X4 L
5.7 安装HOOK的注意事项7 p. k& ]# f2 y9 i ]8 B. \" q8 d
5.8 InlineHook的各种大法(一)
4 d: h9 c8 T4 j# }8 ^) X, M5.9 InlineHook的各种大法(二)( g$ L N+ x: t) c8 S
6.1 清除模块的初始化与还原点
$ n7 {, }5 m% _% X* `& Q. h) W4 I6.2 还原清除的运作流程
/ B6 k8 }2 _) W, d, R6 Z6.3 清除模块其它功能梳理与课后作业; F l% Y) R2 s. L
6.4 守护模块的运作流程与课后作业
& g* h& q5 I" \% W. e/ p& H* E* D7.1 界面进程的几种启动流程
2 z) P, G2 k6 m7.10 界面的整体框架梳理
1 x' U( F! s$ b C7.11 左边树形控件的布局与源码剖析8 {2 F# k" ~/ {
7.12 摘要页的布局与源码剖析% D B( k3 ?; F4 |7 I) b
7.13 陷阱设置页的布局与源码剖析
: W% N" C+ f7 W- B+ T. ]7.14 备份设置与类型管理页的源码剖析
' [- D. r8 D2 \7.15 文件保护管理页的布局与源码剖析! A S) x8 ^) L
7.16 备份文件导出页的布局与源码剖析; P- {+ |2 x/ n/ j, G& }' E9 i9 H
7.17 手动清除页的布局与源码剖析
+ g( g2 A9 c% e* u7.18 清除日志页的布局与源码剖析9 o, {) W8 `5 y8 U
7.19 威胁警报页的布局与源码剖析
$ p( d K3 t: w& w7.2 SOUI生成的框架代码剖析
4 }6 `- t( L! b P( A& Z# P7.20 文件保护回调页的布局与源码剖析6 o+ b+ U7 D$ B' z8 Y$ c
7.21 其它页面的布局与课后作业
; Q( |7 C. E- h# F" q ~3 c7.3 SOUI中图片资源与对话框的使用方法
0 f! y4 r" o* N3 Q- k0 G+ E3 u7.4 SOUI的锚点布局与TabCtrl控件
8 D8 C2 {+ L9 h$ F; [4 F( \7.5 SOUI中编写自定义控件
0 H$ C8 y- n6 K7 a! N; d7.6 保护密码引导页的布局与源码剖析0 a4 f' S, }0 K5 Q* b
7.7 备份磁盘选择引导页的布局与源码剖析`' r; ?( L* y( ~3 b( I) X
7.8 备份文件上限引导页的布局与源码剖析
0 u& v _7 W* n0 f# F' h" f, i7.9 其它引导页与第一次正式启动流程
* ~2 E/ u6 z8 l5 J+ X9 Z/ c( O) M, r8.1 卸载程序的运作流程!
% _4 D6 E) C" p* H9 z3 X8.2 安装包的页面布局与杂项说明" M' ^; O/ j: E
8.3 安装包的运行流程与源码剖析0 k( a' n' ^- D# T0 p
8.4 遗留问题与课程最后的话) ~, r$ h( X5 |, q3 M7 e* z" G0 L
. Z" u6 v2 v; c! i' _' p
|
|