|
|
现在的网络在线教学会教你写驱动、写应用层代码、写界面、还会教你玩逆向、以及一些调试技巧。但在安全软件开发领域,却没有教程会教你从实际的项目角度去切入,如何灵活的应用这些知识,最终打造一款安全产品出来。它涵盖了通过对安全趋势感受选择方向,确定后分析威胁(分析大部分样本)归纳其共性后,进而推导出防御思路,单调的防御思路还不足以形成产品,此时需要思考还需添加哪些功能才能使其足够成熟,能够满足基本产品级要求。再对所有功能进行归纳划分,最后产生成熟的架构。再根据架构开始进行驱动、应用层、界面的代码编写,这中间踩过的坑,遇到的坎,都将为大家呈现。看到这里,估计你的心中也有点了然了。3 V. ]1 A& o7 v: n
课程内容:4 C+ Y R' \, }6 |; ?7 q* m" s q
1.1 课程简介* L( A7 U2 d+ ]) R- b; g
1.2 预备知识与学习方法
2 |% d) D P2 J2 `: G* d q1.3 勒索病毒流行原因分析
+ I9 g4 R" F; {1 ?1.4 我的防勒索演进过程' ]4 r- X) P3 W9 P$ E: J* h" u+ a3 t& u" b
2.1 功能的添加、细化与补充
3 W8 X1 I8 D# \: e9 L+ t4 N2.2 细化功能的归类与整合3 q7 ?1 `5 G. w. ~' p+ s% |
2.3 最终架构与核心流程
7 ~3 @: F6 E6 `5 c/ j2.4 终结者源码编译:8 ]7 t9 N3 ^' ^7 ]' q1 A
3.1 Windows服务程序标准框架讲解! V3 D0 f( s+ i& |. B; W, {# Q
3.10 服务与界面通讯的初始化流程
) Z% j/ M, `* n, v1 G4 |4 z3.11 通讯建立及配置更改流程讲解; [3 r& F7 h3 M5 L3 }
3.12 威胁与无响应消息回调流程; Q9 y0 x$ C$ m, S
3.13 心跳消息流程与关键点回顾
+ A& V8 _$ h: E8 {+ ], T3.14 诱饵文件与清除接口源码讲解
% m0 b3 g( i9 S# {+ M! `3.15 驱动接口与杂项源码讲解8 `9 J) Y- I2 r% a8 W, ^
3.16 缺点分析与重构建议
- X1 m$ ~, h# v k3.2 Windows服务程序排错技巧
; |8 l- {8 _ ?# a- ]3.3 安全产品DLL导出表处理( o6 L H6 f1 d# ~3 V: t; c1 u' w }# W) i
3.4 终结者接口、开发与阅读流程) _" j/ {8 m4 t! {: k j; Q" E8 P
3.5 服务主线程与三种启动流程+ |0 D L, o. D2 W: \5 ~/ t
3.6 配置文件的处理
; F! {; X: }/ c( {6 c- O3.7 核心配置文件类的源码解读
# `0 ~7 g: |4 H, W# Y; Y- z3.8 服务创建进程之逆向工程
+ K/ v4 a9 d4 W( @3.9 服务创建进程之扒后处理9 `- b, G( m8 V1 p! P: w
4.1 驱动接口模块的初始化流程4 {# j0 t9 Y( p: W
4.2 驱动握手算法与接口讲解
2 e e; j5 g o; M) Q M4.3 回调流程与接口说明" R& T { d) _
5.1 驱动开发环境的选择与搭建
{' E' H$ A! V0 L4 D5.10 如何安全的进行HOOK卸载
/ q0 Q4 D& z/ }& E5 W5.11快速理解SFilter框架+ j/ A( _, `$ ] |
5.12 终结者驱动框架与功能概述5 M. W! ?$ U: D) j
5.13 RWTBase框架与例程处理% ?2 U# ^3 [9 I8 X# @8 b
5.14 MBR保护与函数导出1 t8 f0 G; z+ Z6 X# M! \
5.15 RWTKrl驱动入口点执行流程
9 S0 f F# W3 t: D5.16 系统重启时RWTKrl保护配置的读取流程( R) `, {& r, n" H/ U
5.17 规则的数据结构及其运作方式
! I( j, U( ? x5.18 GenericTable在驱动中的使用
- J+ c' ~* `( p: V3 P5.19 威胁回调消息的运作流程 ]( x1 A& P t' v+ \6 @, U Q; D7 G
5.2 WinDbg内核调试初步& L4 e& f* ^% X# M, s4 Q# [
5.20 _ExInterlocked_XX_List在项目中的使用
4 J8 l9 [- ?" }5 ^# Z( G5.21 自我保护的运作流程
$ i& r. @& N' L" V! N0 G5.22 Create分发函数的处理流程
) a, ~! x& H4 A* j8 `3 B( W, h5.23 SetInformation分发函数的处理流程* x. p6 s8 T6 K) U$ f
5.24 其它分发函数的处理流程" T7 P7 f" d3 T7 y/ j) E
5.25 备份的核心逻辑与初始化
) t: g: b( j' S8 U( U2 k5.26 备份核心逻辑的具体实现
$ e! ?7 y# |! e, W) W5.27 获取备份信息的具体实现
6 h- M, Q& [+ a/ O% ^/ b' t5.28 备份接口与其它杂项说明
( j: t" H: Z, O: V5 `! }: o5.29 驱动部分的课后作业
/ t) M; P2 k- Z5 E5 F5.3 WinDbg内核调试实践* Z: s! j! l5 |/ W4 x0 _
5.4编写Windbg脚本来达成调试目的
( f" R$ q$ S1 n( t+ ?5.5 使用Verifier验证驱动稳定性
- M# z- D T7 Z* X1 n5.6经典HOOK与异常捕获
; ?, Q0 G( |# C5.7 安装HOOK的注意事项
8 j# b! ?* U; k* d& r0 I- u0 Y5 i5.8 InlineHook的各种大法(一)
6 |) e3 i8 R- ]5.9 InlineHook的各种大法(二)8 o: H+ V" b0 T) t
6.1 清除模块的初始化与还原点
! i3 ^" x) x/ N) A6.2 还原清除的运作流程
$ W! s( z3 ~ I8 u5 \3 F6.3 清除模块其它功能梳理与课后作业& D4 T; Z& a1 u9 u, f& G
6.4 守护模块的运作流程与课后作业- @1 E; @4 D# y; V5 D! {( d
7.1 界面进程的几种启动流程8 @+ g: Y' o2 z" j
7.10 界面的整体框架梳理
9 L0 ~5 ~0 r7 w2 K4 J j7.11 左边树形控件的布局与源码剖析
4 Z( L L6 B0 R# j; K% f# l7 g6 V7.12 摘要页的布局与源码剖析
! B6 Q/ \) ^4 f; f7 h1 F5 a7.13 陷阱设置页的布局与源码剖析
* q8 v$ @ O$ j6 }8 f6 a7.14 备份设置与类型管理页的源码剖析
# c7 j; O( O! q. a2 i& X+ p7.15 文件保护管理页的布局与源码剖析% _( _( v" z- T" u T/ a
7.16 备份文件导出页的布局与源码剖析! i2 ~/ t* j( a8 P1 |3 R
7.17 手动清除页的布局与源码剖析
7 Y; ? m7 ^. J0 y, I7.18 清除日志页的布局与源码剖析9 V1 Q7 l% }' ~: |
7.19 威胁警报页的布局与源码剖析- B1 C) \* S7 U; ?) M9 V! E
7.2 SOUI生成的框架代码剖析( ], q* V) z0 N! s, C K
7.20 文件保护回调页的布局与源码剖析- m" B0 Y" D+ {0 K' m' D2 {
7.21 其它页面的布局与课后作业
1 d: P4 s0 |& y0 |7.3 SOUI中图片资源与对话框的使用方法8 S* Y- n7 ^$ e6 n$ }( O3 u; v, L2 f
7.4 SOUI的锚点布局与TabCtrl控件
; X( r5 Y) E/ h) n7.5 SOUI中编写自定义控件# \1 |8 T# a3 K$ X
7.6 保护密码引导页的布局与源码剖析
& V5 f4 `% F B4 K1 H) `7.7 备份磁盘选择引导页的布局与源码剖析`; H+ i/ Q$ y: F9 W. V+ D
7.8 备份文件上限引导页的布局与源码剖析
( @! T! @. X# z/ l& a7.9 其它引导页与第一次正式启动流程
! y5 B1 k( ]9 h9 K0 F8.1 卸载程序的运作流程!2 T$ L% O+ Q! H5 v$ _
8.2 安装包的页面布局与杂项说明' C: H; J( n0 v8 O3 b* O
8.3 安装包的运行流程与源码剖析
+ O% `! v& A4 s6 q" ]8.4 遗留问题与课程最后的话) p s0 ^9 w! j+ R( Y
: V/ y( C) }, b
|
|