鱼C论坛

 找回密码
 立即注册
查看: 15907|回复: 21

[软件安全] 【进阶】《恶意代码分析实战》

[复制链接]
发表于 2016-11-25 21:49:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
T1jdyKFONcXXXXXXXX_!!0-item_pic.jpg_430x430q90.jpg

! ]" }& p: ~! [& F! `; y; H, n6 \3 T7 Y; T6 F( b) ?/ o
书名:《恶意代码分析实战》' }. H5 Y5 D9 }  P" f0 v
作者:迈克尔·斯科尔斯基 (Michael Sikorski),安德鲁·哈尼克 (Andrew Honig)
! k. q7 e8 V9 N- I译者:诸葛建伟,姜辉,张光凯
# v6 c3 t2 I0 o2 y- O; X5 e% |出版社:电子工业出版社
" E  T1 l5 ^7 X/ G7 w& a7 q7 E出版年:2014年4月1日(第1版)6 x- J* P4 n7 h! C& J1 j4 }
定价:128.00元
9 \1 L( q% P, r9 |) M5 B6 o装帧:平装" C' j  L- G' F
ISBN:97871212246833 A* N  v3 G# m! L/ O

7 K. T8 M6 o& n0 i; ^4 n购买链接:4 W. w4 ~% k7 G. E

8 I  k9 ^6 a& ]& o$ E; _; f8 e

0 E! t$ Z7 I9 L0 w7 r+ _亚马逊 -> 传送门7 J" N4 E5 F8 ]0 u
) V+ M; z, h* i
当当网 -> 传送门8 @! ^$ N7 }6 T
$ G0 p- K: E, {1 e3 g
京东 -> 传送门* D; x7 d. \, \( I- M0 M
4 @6 r8 A- Y: g( Y; {* ~0 R
天猫 -> 传送门/ V/ N. N" V9 \' O* b/ s6 _
8 W( p' e. U# j
2 p( g" h6 X8 L& [3 A, |) z
内容简介:8 J% S( W/ o4 d( s$ X

& g- [- @2 N. K3 Z0 Z( |7 X4 @  @

. s. [/ I* I1 a: C' u/ e《恶意代码分析实战》是业内公认的迄今为止最权威的一本恶意代码分析指南,《恶意代码分析实战》也是每一位恶意代码分析师都必须作为指导手册珍藏的案头必备。: ^7 P3 V' f/ A

" ]/ Z. E/ N; J8 d7 Q3 V3 y! d《恶意代码分析实战》既是一本教材,也是一本动手实践的指南。不仅教会你如何分析恶意代码(技术指导),而且配了大量的实验练习、案例、答案以及详细的分析过程,同时还包含了所有用作案例的恶意代码样本,提供了丰富、安全的学习环境。
) C+ c# U% e+ C6 V, H- @) I0 l6 r
7 ~$ `# c- K. H# I4 K针对初学者:本书的技术内容、实验作业可以帮你渐入佳境;# T& C4 \8 M7 M5 D. Z2 b5 P
针对中级读者:本书大量的分析实践会直接带你进入更高的级别,臻入化境。
8 X/ N2 @! J0 I( R
; h/ P  B. p: y6 z% F目录:: v9 [8 O2 z; \, e
1 y, I6 w, a1 t1 E$ k# O, C  s7 O7 q6 |


$ p1 u1 ~; m/ w) O, A) h第0章 恶意代码分析技术入门17 A2 F. @; \+ f' ?: z  [, _

4 i- @5 \- @3 D0.1 恶意代码分析目标1; [3 a( l: O: o( k( }. h0 h" s
0.2 恶意代码分析技术24 K; S4 Y/ A: M6 }0 G
0.2.1 静态分析基础技术2' }! F) [% H$ }
0.2.2 动态分析基础技术28 Z; X0 v+ E0 [1 ]; M, r
0.2.3 静态分析高级技术2
0 H6 ]9 X+ F! U0 ^- B* Y- c0.2.4 动态分析高级技术2
* f% h$ C" e/ z0.3 恶意代码类型3
. B1 U: S3 n' f7 {9 H0.4 恶意代码分析通用规则4& a6 U  n% D; w, V( _

% Q+ J* k. s9 e- D# j4 K5 N# n& i. @% z% u& [/ F; b1 _/ L
第 1 篇 静态分析
* u* y, L: P, x3 ?
3 k8 A& R6 T% A! x" X8 A; h) b0 W第1章 静态分析基础技术 6) F3 F$ P8 l2 ?0 F) i- q
! E. p% S9 V6 S/ Y/ w: q4 K  m9 F
1.1 反病毒引擎扫描:实用的第一步6& V1 W6 f# I6 F% W
1.2 哈希值:恶意代码的指纹7$ W; l% J2 Z3 O
1.3 查找字符串7
: s% a+ f3 o, O3 C1.4 加壳与混淆恶意代码9# K2 x8 G6 G$ g: [) D4 D4 I7 y9 u. a' a
1.4.1 文件加壳10* s3 k0 n6 \4 @. X0 y1 ]( n+ B
1.4.2 使用PEiD 检测加壳10$ f1 U( l1 w1 _0 n
1.5 PE 文件格式11
5 U8 R* w3 p' n/ S8 w1.6 链接库与函数12
# z( K7 u7 P, [. ]& K# F1.6.1 静态链接、运行时链接与动态链接12
8 q5 X: [" E' I# z1.6.2 使用Dependency Walker 工具探索动态链接函数13# T! I+ e* j- V5 |" _
1.6.3 导入函数14
2 J: j2 r1 v5 U' E8 u* ?9 A1.6.4 导出函数15
. L% c, Y6 o% E# h9 N4 ]5 F) g1.7 静态分析技术实践15
! k' G* P! ?% B/ ^# M/ H1.7.1 PotentialKeylogger.exe:一个未加壳的可执行文件15. D5 e8 \. }# I6 Q4 r) f: ~
1.7.2 PackedProgram.exe:穷途末路18  N* U, N. E; A( C9 g; I
1.8 PE 文件头与分节184 t+ t/ }% n- S. Y
1.8.1 使用PEview 来分析PE 文件19
( j" a" C  U& h1.8.2 使用Resource Hacker 工具来查看资源节22
! U3 R6 [2 D# z( x- C1.8.3 使用其他的PE 文件工具23, c" f7 {9 y. r6 q. t# j
1.8.4 PE 文件头概述233 p5 ~5 D1 T2 J7 S5 E
1.9 小结24
3 j  p# K* _0 F% ]" o; r1.10 实验24& }- C& E2 r# N* Q2 F! ]4 Z
5 I0 q/ C" b% T$ e
第2章 在虚拟机中分析恶意代码 27
0 F. k6 g3 F8 m- j1 M& v* i. X
, c0 ~; H! V  \# o- u1 u2.1 虚拟机的结构27: Z7 S/ W7 }; y" p* k4 }6 m$ I
2.2 创建恶意代码分析机28
6 P, _; e, c2 O! z6 Q: `8 G2.2.1 配置VMware29  Y# C' @: z4 W
2.2.2 断开网络30
' `. h- H0 y  I: z8 `& t2.2.3 创建主机模式网络30
; b- R+ F3 z' _2.2.4 使用多个虚拟机301 C! F3 o5 N) b1 T$ f- Z
2.3 使用恶意代码分析机31! F5 u- {4 n; C* w4 p% D
2.3.1 让恶意代码连接互联网31
5 J8 [6 a7 u2 A* |. M' ]: T2.3.2 连接和断开外围设备327 L; G0 p2 ~0 U) |2 Q4 D* `8 X
2.3.3 拍摄快照32
* s2 y- j$ y, o2.3.4 从虚拟机传输文件33! [, ?# _9 q, V* J; k. q
2.4 使用VMware 进行恶意代码分析的风险34
; C# R8 u! J: i: v  v2.5 记录/重放:重复计算机运行轨迹34
8 o& X1 G+ ?5 \* a0 x' S/ a2.6 小结35  B6 n/ p0 J. `% h5 p
' `& _8 \# i4 ~7 ?1 ?
第3章 动态分析基础技术 36

" G0 A" \8 A9 y8 q- [) Y; g' m$ h" v( p, C3 G
3.1 沙箱:简便但粗糙的方法362 U% Q% U5 f$ p) M9 K$ h
3.1.1 使用恶意代码沙箱36$ f4 e( M2 c0 l. `! Y& @: X
3.1.2 沙箱的缺点373 P5 X: M7 p# _* N
3.2 运行恶意代码38
. a2 C7 ]8 _. k9 h; c! _$ |3.3 进程监视器39* m( A1 P, \8 g- f- f- E2 j
3.3.1 进程监视器的显示40
) F$ V  X. S! F* l# ?* P3.3.2 进程监视器中的过滤414 R9 ~- R3 Z; o8 y
3.4 使用进程浏览器(Process Explorer)来查看进程43
6 X+ l  _6 n" b% C& N" B- ]0 P3.4.1 进程浏览器的显示436 k7 H2 ]" [% G" C1 g3 _
3.4.2 使用验证选项44  z5 k8 y8 F1 m
3.4.3 比较字符串45. o/ H) c" u) k! n4 a. l' F
3.4.4 使用依赖遍历器(Dependency Walker)45$ {, X4 j+ B3 r* Z
3.4.5 分析恶意文档46
6 ]0 U  @( K0 o' D2 P3.5 使用Regshot 来比较注册表快照46
0 {% e3 W; H6 e9 g5 b9 }; E# @5 U3.6 模拟网络47
8 D; K- }2 I- R3 ]% o- {7 a/ P+ X3.6.1 使用ApateDNS47
9 q6 i% O% a- n, ]2 Q3.6.2 使用Netcat 进行监视485 R. c( N, b* [! r
3.7 使用Wireshark 进行数据包监听49
1 S( ~- p4 l5 i8 y3.8 使用INetSim514 ]1 R7 k7 j/ w1 o$ z5 q0 [- G
3.9 基础动态分析工具实践52
, A1 l6 ?3 c$ z5 k( s9 ~3.10 小结552 d7 w4 T0 d7 J7 U+ `) S) m
3.11 实验56* a* u$ i5 A2 V& r$ r

! U  q& a# K( ^! `9 f* {% @3 c% Z) Y% R
第 2 篇 静态分析高级技术篇
4 X1 h+ R4 Y2 u6 |8 n, T
- w& f9 T' [9 m* p" z第4章 x86 反汇编速成班 600 w- q. g# o6 L, T7 x+ r, m
9 k3 V7 m' E/ H& p9 R9 r: ~
4.1 抽象层次60' X, G" A+ A' O
4.2 逆向工程621 i  E% `% u9 |# ^6 q
4.3 x86 体系结构62+ Z# F. Y6 ~' t
4.3.1 内存63* n: `; ^. Z8 E+ P' p1 ?- V
4.3.2 指令64) f2 w7 g) ^; G0 K' \* o# W2 V
4.3.3 操作码和字节序64
! T( ]7 w6 O/ y5 X" Y% q4.3.4 操作数65+ {) T/ K" D  C8 V3 _# U& O3 |
4.3.5 寄存器65
3 b) w& G* _3 C" A1 `: x" V4.3.6 简单指令672 V4 J8 \" Q' _* X  Z
4.3.7 栈70
1 ^( J2 X$ e, i+ [: l3 A4.3.8 条件指令732 s& \* u9 a" D+ W
4.3.9 分支指令73- ^# d3 u  _4 [
4.3.10 重复指令74
3 z  P7 o" R5 O. J9 l4.3.11 C 语言主函数和偏移761 {% a8 J4 D0 N' X0 x: Z
4.3.12 更多信息:Intel x86 Architecture Manual77
- L3 x/ L3 J" [6 f; K4.4 小结787 ^7 t0 Q/ ?' j- x2 L, N" B5 h

8 G3 c- r' u/ z第5章 IDA Pro 799 T; T8 h. y) i
7 H" ~3 V0 `4 x2 f3 m, k
5.1 加载一个可执行文件79* s7 V  c: s3 \4 m: ~
5.2 IDA Pro 接口812 f- p$ x& G' p& ~1 {* I
5.2.1 反汇编窗口模式81. t4 X/ P' G  [0 v- d" N
5.2.2 对分析有用的窗口83  G# N, Z0 l4 ?7 Q; ~, F2 K
5.2.3 返回到默认视图834 D* v$ P' e# ~4 r7 `
5.2.4 导航IDA Pro 83
% G  W7 T. {+ ^# U4 W5.2.5 搜索85
( A6 v$ B6 q/ B5.3 使用交叉引用86% a, @. I3 [8 `2 I) N  Y6 z
5.3.1 代码交叉引用87+ @, Z- Q4 S9 }# a- P; p1 x
5.3.2 数据交叉引用88
: q+ ?: l! `) c3 n, e5.4 分析函数88
8 o0 P( r4 c/ i# B; T0 B5.5 使用图形选项89" o" Y, P( `% p7 K
5.6 增强反汇编91
: C# s& N7 U' S1 B* K% l5.6.1 重命名位置910 v  N1 z8 z. w* X
5.6.2 注释92' A' K" c/ M! u8 `; e
5.6.3 格式化操作数92
7 {7 \4 w8 @% L* Z5.6.4 使用命名的常量936 Y, q' ~* p% Z+ ^; \
5.6.5 重新定义代码和数据949 B* a- k" z* M1 @. u$ ^
5.7 用插件扩展IDA95
7 o/ x0 P$ M1 K( \0 s5.7.1 使用IDC 脚本96
9 v  B* t. i0 B1 _% G8 q5.7.2 使用IDAPython979 Y* b6 k+ @2 e" g+ l! S
5.7.3 使用商业插件97
6 @1 Z0 ~6 z& Y5.8 小结98  U5 ~3 f0 c1 L- d  x, i
5.9 实验98
: N: t; w$ P3 J7 t+ M' ]% [$ R6 [6 M7 Y; ]3 t% O7 s4 \+ L; X
第6章 识别汇编中的C代码结构 100

& |+ C9 T- q( K
9 b/ K/ B; b- g+ y6.1 全局与局部变量101* w1 o* }4 B' n; S6 S3 F& v8 Q% a
6.2 反汇编算术操作102
8 P' G0 J" A, h  d1 J, Y6.3 识别if 语句104
* W$ z0 Z3 `& Z& h  @2 ?( @6.3.1 用IDA Pro 图形化分析函数105: H' H3 S0 F- n5 b
6.3.2 识别嵌套的if 语句106
% @3 T- F; q( D3 G6.4 识别循环107
3 [+ W4 o- j8 S1 ]  j6 x, ?1 C2 H6.4.1 找到for 循环107
1 c  U7 o5 x" v! h6.4.2 找到while 循环1098 H3 ~4 W5 K2 K3 ]
6.5 理解函数调用约定1107 d" Z' A; ]. u# M
6.5.1 cdecl110) \% j: \2 i3 X% R. C& {! u8 x/ d; a' o
6.5.2 stdcall 111
, O, _- O6 p! h# o' t$ ~6.5.3 fastcall 111
5 s/ S: S/ u+ F0 i) Q! {! e6.5.4 压栈与移动 111
& x2 M: m8 \' `6.6 分析switch 语句1120 l& c* K& h1 ?
6.6.1 If 样式112
  F! I' j4 M& u! s) q% L4 p6.6.2 跳转表114
" o& e8 }$ [0 r- k. B6.7 反汇编数组118
) L" ?4 L* ^0 A: N6.8 识别结构体119
4 _3 E/ x  u0 ]& o6 l0 S* ^6.9 分析链表遍历121
) @) i7 B: c* s6.10 小结1233 i8 |; e" y  v3 R+ r+ a
6.11 实验1231 S' o9 ]# T$ R* H. l( w4 I- g

' r5 s* l9 ]. e% g' W3 Q( _+ f% }. [第7章 分析恶意Windows程序 126

  H( I/ L' M, H# j5 H
- G7 N6 h# U8 j+ W, C7.1 Windows API126
$ Y2 B6 R" u0 Z3 P) y) Q  Z; D7.1.1 类型和匈牙利表达法126- g0 g7 `+ v8 j' r3 ^" {
7.1.2 句柄127; q  {7 v! M4 ~
7.1.3 文件系统函数127( {' Y/ M! e( e
7.1.4 特殊文件128* o: ^3 ~  ]4 `) A
7.2 Windows 注册表129
. G& f2 O4 k; j% P+ w7.2.1 注册表根键130
& q  S7 t$ m! Q7.2.2 Regedit1316 L& [6 G# E* |1 E' _# ]  I
7.2.3 自启动程序1317 |' |7 ~6 B/ V! c- K
7.2.4 常用注册表函数1311 ]4 ~7 H9 e, ?; C
7.2.5 练习分析注册表操作代码132
8 [* \% y' Z4 ]' {1 a. U  `7.2.6 使用.reg 文件的注册表脚本133
1 R! T( j9 f7 d2 ~7.3 网络API133
! B2 l7 r' Q' I& _* Z7.3.1 伯克利兼容套接字1347 D! f9 O. V1 ^
7.3.2 网络的服务器和客户端134
# W, v. E4 q4 g% G' Z7 I# k7.3.3 WinINet API 135
$ ?) E; L  I7 ]7.4 跟踪恶意代码的运行136: v! f8 c4 h( p  t1 |
7.4.1 DLL136
6 X4 _$ Y  x" z5 ]/ N7.4.2 进程137
2 f/ j6 {, S5 K9 v) U4 q% r4 W7.4.3 线程139
  D) E7 \( ^+ i$ @. M7.4.4 使用互斥量的进程间协作142
& K  }* H7 u- H% o3 K7.4.5 服务143
5 h. b) o& p2 n7 L4 Y1 C  h0 a. N7.4.6 组件对象模型145
, P5 f0 ]4 I7 y! I2 `* X1 m6 |7.4.7 异常:当事情出错时147. C# A+ X; y2 W7 A( P% \& q
7.5 内核与用户模式148! b0 g9 Q8 S9 c
7.6 原生API149+ j& S1 S0 Q* Z6 k8 I
7.7 小结151) f) q- @$ \, D3 A2 F1 F
7.8 实验151- h# F3 V9 O& D9 C2 l1 C! r6 Q( K4 d

+ M& q: z2 R( M  ?7 v/ |
8 ~1 n) f" y" N; J第 3 篇 动态分析高级技术篇% n2 {5 [% }4 D( d& J% T( m

2 |# n, E. d# e# x0 j: [第8章 动态调试 154

) X% g- ]! t" x, O- _' ]: E# k# Y2 D1 X8 _
8.1 源代码级与汇编级的调试器154
; W5 Q  s7 |: L  O+ m( w$ d8.2 内核模式与用户模式调试1555 n' ~1 o, k+ q8 l! v
8.3 使用调试器1551 V! H: d2 {8 L
8.3.1 单步调试155
- y$ Q4 R/ d5 J, L8 q8.3.2 单步跳过(Stepping-Over)和单步跳入(Stepping-Into)1560 c. q6 j3 [2 e* W$ ?7 L, v3 h
8.3.3 用断点暂停执行157
3 H, C6 w* e% N7 t+ k$ k; [7 o* w8.4 异常161
' a+ Z# d* j( V1 V. q6 G8.4.1 首次和二次异常处理162$ c8 C' z, p6 i! _  \2 K
8.4.2 常见异常162
0 g9 C" \6 s0 T/ O. M8.5 使用调试器修改可执行文件1631 w  h) h! h1 f8 c
8.6 修改可执行程序的实践163+ `1 q  h. ^1 Z0 s
8.7 小结1646 P6 T% {0 w- t, H% L6 x- Z
3 e' }8 x. z6 s; }4 v7 m
第9 章 OllyDbg 165

% k1 Q; E! f8 q- Z$ I5 ?9 [/ ~3 H
+ N; S7 m/ n0 @% `8 o; k: U9.1 加载恶意代码165
' T3 \: H* {& U9.1.1 打开一个可执行文件1652 c0 x- a7 p0 G1 Q/ I8 z$ c" r9 ]
9.1.2 附加调试器到一个运行程序166
: d0 ~2 i5 O* H/ {" T9.2 OllyDbg 的接口1670 O& E9 x' q& @3 l- j
9.3 内存映射1686 j) U8 c9 U8 U2 p
9.3.1 基地址重定位169
  C" s  p- m& L1 o3 A  S) h# C9.4 查看线程和堆栈170
- |! S3 W6 B, g9.5 执行代码171/ b2 h- e& T6 ?: U, U
9.6 断点172
: k1 r; p0 r7 s, P9.6.1 软件断点173
* y( ?( I, l' e1 }6 o  i9.6.2 条件断点174
& F1 i+ N8 I" b( [$ \9.6.3 硬件断点175
/ ]3 {4 P, g% v8 J; H& l; q: r9.6.4 内存断点175
& A9 b2 x( M/ F( Y9.7 加载DLL176* q  z  Q7 {8 y7 F; v& A
9.8 跟踪177' ?/ h- H% |( N8 u6 y' q
9.8.1 标准回溯跟踪177
2 S2 m  X* M3 K+ X: l6 `9.8.2 堆栈调用跟踪178
% |8 P0 N7 {/ p* \9.8.3 运行跟踪178
" S! v' D) g: l8 ^7 K! n# I9.8.4 跟踪Poison Ivy178
% K4 G1 A; J$ V9.9 异常处理179
7 \  ~+ Q  z* l' i4 |. |9.10 修补180
4 J6 w0 J( @' v+ D' J/ m9.11 分析shellcode181
. X' I# q$ o' \5 L3 L0 {9.12 协助功能182
# Q, g1 i) `; m8 c9.13 插件182  o8 A( F6 c2 i4 A( e  U4 V# }
9.13.1 OllyDump183% ]$ x# t& P: |# L
9.13.2 调试器隐藏插件183# I9 z* K6 g- A1 }' w
9.13.3 命令行184: Y/ f% o! A8 K  S$ y4 y7 P
9.13.4 书签1850 ^5 k. I' l* @. u* b
9.14 脚本调试185
$ W  E8 V$ x. z* i2 B, @/ x. H9.15 小结186
% ^+ P& V) z, N. C+ t) Z! H9 o9.16 实验187
1 u' K4 H9 J6 D7 d
* d0 k: i; [  J7 h+ m7 S2 m9 y第10章 使用WinDbg 调试内核 189" h! h5 {* Z. H0 t$ E5 K
, U( d- L8 n0 v5 ~  k6 H
10.1 驱动与内核代码189: ~) Z9 o$ t' ~. @# }. X
10.2 安装内核调试191" T! g' R% O8 {  z5 U% j
10.3 使用WinDbg193+ ]) G7 r, K+ S; F
10.3.1 从内存中读取1942 I2 K2 _& u' X9 I$ j  K) o8 |
10.3.2 使用算术操作符194
: U1 k, K: r$ n6 o$ g; J( J10.3.3 设置断点194$ Q. I; F5 R6 }( n# c
10.3.4 列举模块195
8 k/ \) K( k2 {8 q% n: H10.4 微软符号表195/ \( `! x1 }* L
10.4.1 搜索符号195
- E4 o/ s9 o2 E/ P' o10.4.2 查看结构信息1965 s- X7 G5 s. [
10.4.3 配置Windows 符号表198* `5 l; O* p+ S  i# J9 {
10.5 内核调试实践198
3 X- S8 _2 F" m7 I) u# x10.5.1 用户空间的代码198  q9 O$ G! d, o3 U' J! R
10.5.2 内核模式的代码200/ t% B2 u6 K4 U! X. H# }$ [' L4 Y
10.5.3 查找驱动对象203. K9 l% u( K" S
10.6 Rootkit204& I. D8 e2 e: d
10.6.1 Rootkit 分析实践205
) K$ w: J: Q0 [10.6.2 中断208$ w$ L# D2 K( I4 V: x- _: F5 A0 `
10.7 加载驱动209+ l- Q! ]' f1 w- [* @
10.8 Windows Vista、Windows 7 和x64 版本的内核问题209
. M, Q$ {' v: o2 C10.9 小结210
/ x! e9 x3 H* m- ~10.10 实验210
  Z7 m+ |$ O1 x, z1 }
/ b. k+ L9 O4 |8 ?, R' T& A
7 t2 T0 I, |- Y7 a, ~$ o$ ~2 o" U第 4 篇 恶意代码功能篇) P9 G; a* I6 c9 k

: a, ~) M# p0 o, a% W第11章 恶意代码行为 214
% R" F; j6 m- s8 F! }& x
* v, s4 X$ m! a, U  n11.1 下载器和启动器214
" B& s" G8 n! g3 |) B# ~  \8 N" }. h11.2 后门(backdoor)214$ l7 d6 d: }, }5 g) E7 X
11.2.1 反向shell215, c' u$ w( p; y, ~+ x9 V7 g
11.2.2 远程控制工具216$ g/ k+ e$ @2 I6 t
11.2.3 僵尸网络216
0 O" u, F* ~/ [2 @5 y11.2.4 远程控制工具与僵尸网络的比较2174 }6 \1 w6 U8 e& o2 V3 t( q
11.3 登录凭证窃密器217
, T- A& J0 R% B1 y) C9 q11.3.1 GINA 拦截217: J! ]0 [% X, ?7 k3 E
11.3.2 口令哈希转储2187 I0 ^7 N- Y4 V  T
11.3.3 击键记录221
7 {1 x4 w. u  R& H11.4 存活机制223/ Y" Y( F$ [5 e
11.4.1 Windows 注册表223  p7 N# `+ y$ {8 W
11.4.2 特洛伊木马化(Trojanized)系统二进制文件2258 U- O2 Z0 E3 ~* V
11.4.3 DLL 加载顺序劫持227& N8 `# N  }, b; B5 }
11.5 提权228
8 }6 x; G% {: ^' w+ h1 j11.5.1 使用SeDebugPrivilege228
+ U5 \# q1 S5 Y( ~4 ?. z6 R11.6 隐藏它的踪迹——用户态的Rootkit229
! j1 _2 E& g2 s$ m$ J11.6.1 IAT Hook 230
* m. q7 M3 m. G* u11.6.2 Inline Hook 231
) n3 u3 g# Q' }" f11.7 小结232
5 A5 @! d9 y; T& V! G$ Y0 R11.8 实验2324 D& L# T% }  z- k7 k; V

6 U. g, z& y, H: o4 d第12章 隐蔽的恶意代码启动 234& M+ u: C6 s2 K3 @
5 l9 [% H5 a. ^, e2 G. R
12.1 启动器(Launcher)234
: o5 k0 J6 Y! p6 ]+ k12.2 进程注入2349 a# a. F3 o( B7 s. V# e
12.2.1 DLL 注入235- D& {# [6 L; l8 D# J0 c
12.2.2 直接注入237  p! \7 P. d2 h% e. t: K
12.3 进程替换238, o2 e& v. u/ f5 r# u
12.4 钩子(Hook)注入240
0 W4 H7 {2 l4 ?( @; d12.4.1 本地和远程钩子(Hook)240
. [% p1 F5 K4 X7 }1 s12.4.2 使用钩子的击键记录器241' p: d2 O2 e- u5 l$ {
12.4.3 使用SetWindowsHookEx 241
# |* o8 k% |- a- @+ H12.4.4 目标线程2419 r- y4 C& G  P6 h$ V
12.5 Detours 242$ k% h* Q+ M" j  m. x
12.6 APC 注入2434 ]$ ]- ]9 {9 a: {: p
12.6.1 用户模式下APC 注入2449 A/ Q9 K4 G  B' Y
12.6.2 内核模式的APC 注入2458 n3 N; A  X; u7 u! q0 _) o' S, r
12.7 小结246
  H) @7 g& Y/ n) H8 ?2 |/ k12.8 实验246/ ~- @' X" }1 g" P+ @7 d
# x6 p. b1 m& i2 R, _' u. A6 x
第13章 数据加密 248* `7 y* f! }- p9 a" b3 Z9 }* N

; v( ~7 U3 O0 z# E0 E13.1 分析加密算法的目的248
, ?% _4 \& T4 G! Y, z, T, }13.2 简单的加密算法248
/ [( s: X. {6 N8 ?13.2.1 凯撒密码249; `- g! W& S! m0 v+ Q
13.2.2 XOR249
' Q( E7 ?5 e' a3 i7 [# K: `. x' x% Q13.2.3 其他一些简单的加密策略2549 L, u, Q9 G  r& _$ Y# n% |6 Q
13.2.4 Base64255  C1 S3 r' ^+ i& ?5 y( q
13.3 常见的加密算法258
' S7 Q0 `0 y6 o, o+ x: U13.3.1 识别字符串和导入259
$ S/ _9 F8 O: t# V: F" X3 e13.3.2 查找加密常量259% a8 a5 m0 T* Y) d7 n4 B
13.3.3 查找高熵值内容2610 X5 j7 p4 n0 D3 M* _, A, L; z2 {7 x
13.4 自定义加密2626 P+ d( h* T' b0 g9 U8 D- j, }6 G
13.4.1 识别自定义加密263
" Z- z1 @2 l: N' H& D13.4.2 攻击者使用自定义加密的优势2658 G! @- z6 M9 ]- j( S- \
13.5 解密265% t& z& z+ ^" O2 @% l, }
13.5.1 自解密265
& B! h) v* _) e& h- k' |13.5.2 手动执行解密函数266
0 J6 _& q2 f) ~$ _13.5.3 使用通用的解密规范267
9 O) s( x) X9 S7 o+ L4 F: b13.6 小结270" a4 M+ f3 q& {  i' l
13.7 实验2714 B0 L4 l: u& x5 Y! p

8 Y  q, }3 n! x/ [- B% j第14章 恶意代码的网络特征273
* ~  _- I& h# X. j
9 L8 O/ V- @* ]' d14.1 网络应对措施273- A% w# d' u8 O3 j/ z
14.1.1 在原始环境中观察恶意代码2736 G2 _9 h- z4 C% g  L3 |- Q
14.1.2 恶意行为的痕迹274
5 s3 C4 K! T# E, |3 C14.1.3 OPSEC=操作安全性2753 x7 X3 |% V) R
14.2 安全地调查在线攻击者275. Y6 |" i" ]/ c  y9 k
14.2.1 间接性策略275; e3 K+ P0 a+ K* j$ U
14.2.2 获取IP 地址和域名信息276- L& A3 o* K2 H8 K& n
14.3 基于内容的网络应对措施278
9 S( B% _( e7 p% c14.3.1 使用Snort 进行入侵检测278
3 X4 F$ j: ]1 N' M3 \) N# C14.3.2 深入观察279' G7 b1 X8 L( ^  u' T
14.4 结合动态和静态分析技术282' l6 @) v4 ^7 Y8 l0 R3 N
14.4.1 过度分析的危险283
: o# t9 r, }4 T' Z9 O14.4.2 在众目睽睽下隐藏283
2 O! I# s, v- c' I/ [" _7 r0 y14.4.3 理解周边代码286
7 |; A' t/ A: C. F14.4.4 寻找网络操作代码287
* U. @0 J% i) }& S5 i0 a$ K$ I/ }14.4.5 了解网络内容的来源288+ H6 J* t: |9 e6 c( z
14.4.6 硬编码数据 vs. 临时数据289
0 O; `# n7 Q" e9 D: h3 @14.4.7 确定和利用编码步骤289  \! f1 u- m. I" \$ n6 U
14.4.8 创建特征291) l; }' u" ]  ]. O3 q0 I
14.4.9 分析解析例程292
7 I( R0 ~3 W$ k14.4.10 针对多个元素294' v) x. p4 ~( ~
14.5 了解攻击者的意图295
, m4 f( F, K$ J4 j) j9 Z14.6 小结296
- a3 ~' Q) a' q3 ]3 Y3 |, {. t14.7 实验296
' I$ R5 x- f% c5 d+ m% {4 ~$ f4 v& Y; m  j' Y' ?

- ]4 r% y9 I. e3 A4 b0 P" I: L( y第 5 篇 逆向工程- e- @' I: u* d- S. N; l
: n; n; D) S- O  O% y
第15章 对抗反汇编 300
! X, X; t- o2 V. f. L; _4 e% a7 \# r5 Z# N# f
15.1 何谓对抗反汇编技术300+ v) k: {0 v$ d: L# D2 a8 @$ R
15.2 挫败反汇编算法301% F' Z) Z1 h; N: c% g0 \
15.2.1 线性反汇编302; X/ m- [" E2 P1 e
15.2.2 面向代码流的反汇编303
5 N3 D$ x# S2 Z5 J* c! q15.3 对抗反汇编技术306
) l) U1 J8 K. m0 g+ ?. ^  K15.3.1 相同目标的跳转指令306
1 l( C; s- W( h# r+ j; t15.3.2 固定条件的跳转指令307% E' R$ K$ n) R# M
15.3.3 无效的反汇编指令308
; N& U6 p7 x" t) k15.3.4 用IDA Pro 对指令进行NOP替换311
6 l: k$ p/ d  y; Z. l0 R15.4 混淆控制流图312
" [( [6 s+ S" s, `( c2 k! z  q15.4.1 函数指针问题3126 P! t2 a$ `0 o: f
15.4.2 在IDA Pro 中添加代码的交叉引用313
7 a& z; Z# f6 O9 |. @; C" ~6 l" m15.4.3 滥用返回指针313
/ E! a/ [$ z' ^( z  K6 \$ e) k15.4.4 滥用结构化异常处理3159 i- x# t! c, E
15.5 挫败栈帧分析317! M  ~# B5 |" v( {- @* b2 t
15.6 小结3202 U# X6 g+ C' m6 O
15.7 实验3207 l2 R& Z, k, t8 v
5 c- s! _: D, n! b: ?/ }
第16章 反调试技术322, @5 j; H$ @8 V/ q
" m* z& A  j- q, [' J- c
16.1 探测Windows 调试器322
/ @5 e) N! l1 L0 o6 U: d, `16.1.1 使用Windows API322
( \! ~$ ~6 m3 i6 W16.1.2 手动检测数据结构324. a$ f* ]4 J  s6 g
16.1.3 系统痕迹检测326
3 @2 G" x0 a  n$ w16.2 识别调试器的行为327  h6 g& y1 S/ V9 ?
16.2.1 INT 扫描3277 N0 u8 t! B* |# r( o
16.2.2 执行代码校验和检查328
; }  W6 z5 W& d+ L0 X" u16.2.3 时钟检测3289 i0 o% B6 j+ ~, t% F+ N2 x
16.3 干扰调试器的功能3303 S& K' i' G: `
16.3.1 使用TLS回调330
/ ?' F0 f! p  I& }16.3.2 使用异常332
( ~/ \0 C" E* F4 I7 {* R' C16.3.3 插入中断333% w7 M5 W- L4 E; F
16.4 调试器漏洞334& n9 \) Y8 ^7 G/ I/ t  g7 Q, R
16.4.1 PE 头漏洞334
, o, R4 c2 L+ a; ^16.4.2 OutputDebugString漏洞336
; ~3 u: x$ Y6 L! k# T16.5 小结336
- V' k: K+ w+ W- o9 g16.6 实验336
8 c/ C: n! E9 o7 O
$ q/ y4 @9 E) a! n0 Y; B( F! O+ @第17章 反虚拟机技术 338
+ y. G0 ~+ i' r# N) J  Y6 N1 q1 x; T: b4 r
17.1 VMware 痕迹338/ L. n6 p+ l. T: E7 e
17.1.1 绕过VMware 痕迹的探测340
6 R% D# C( X5 i. \% A17.1.2 探测内存痕迹3429 K, D. X, Q$ y/ v  s: m
17.2 查找漏洞指令342
7 G3 L2 @% `2 J5 J; I1 |17.2.1 使用Red Pill 反虚拟机技术343
. t  F+ R5 W7 }1 K& Z, @- |- P# A17.2.2 使用No Pill 技术344  a* i$ C& `3 k( W
17.2.3 查询I/O 通信端口344
! m' l# w/ Q" i6 g/ Q5 k17.2.4 使用str 指令345* d. w4 Q; Z2 @7 l- @, k2 i
17.2.5 反虚拟机的x86 指令346
2 K3 U* J/ @1 [- ~7 h3 u' i9 l; C17.2.6 在IDA Pro 中高亮显示反虚拟机代码347, O) R5 e* P4 B6 T
17.2.7 使用ScoopyNG3475 i0 R2 f# i# }+ C1 q
17.3 调整设置348) z) j) [$ E9 C' U
17.4 虚拟机逃逸349
7 j; S6 E, z6 s" r$ `2 e- a& n8 L+ S17.5 小结349
- @- W9 v. Q9 J  U; u! S17.6 实验349
  Y. b: V0 _# n. R/ j5 G  A/ Q, O9 Z: d
第18章 加壳与脱壳 352
8 l& W( [' m5 y4 R
3 [; |3 E3 h; `0 ?; Y1 w4 n18.1 剖析加壳352
, M, V# w1 D6 y8 o1 t, S18.1.1 脱壳存根353
; M5 T2 j/ j. Q7 ]& y: c18.1.2 加载可执行文件353
7 u" o0 \. ?$ @+ Z- v5 M18.1.3 解析导入函数表353: Z8 E+ ~2 f. \# V, X: N+ x, l
18.1.4 尾部跳转354* c- o5 e$ v3 e9 d- r6 f
18.1.5 图示脱壳过程354
, h6 g% L" E4 O3 P: m5 c- I18.2 识别加壳程序355
/ g( G7 W( |+ @$ u' `+ z18.2.1 加壳程序的标识355
  m( F& w1 A  J9 }$ ]" z" ~$ p18.2.2 熵计算356
' ^9 E% A! ]- Y* Y18.3 脱壳选项356
* ~1 G2 p0 N+ X& ^' R18.4 自动脱壳356
; i4 N) X* J: l3 ?4 J/ b8 o4 o8 _18.5 手动脱壳357$ ?% A- g" w! a7 A, r
18.5.1 使用导入重构器重构导入表358$ P4 r, h- c9 T9 Y7 z# H4 ?  {
18.5.2 查找OEP359) K" V' M. t5 c7 V, q  h' @
18.5.3 手动修复导入表363- z7 ~% t4 {: ]- P: v
18.6 常见壳的技巧与窍门364  G2 `# F0 t1 a1 Y/ k1 a8 D
18.6.1 UPX 364/ r4 A2 Y; w; n3 t
18.6.2 PECompact 365
; d' h2 b  V9 p$ L18.6.3 ASPack365) G1 D" j+ O& Q5 x) k- v4 Q' n
18.6.4 Petite 365) P) M6 b$ p7 T$ D, _. l+ z3 z$ r
18.6.5 WinUpack 366# ]. M9 j- e+ j) }( I
18.6.6 Themida3676 L/ J: u3 |: c/ B% q! v* T
18.7 不完全脱壳情况下的分析368# Y7 K2 m4 e5 o/ R. z2 l' r
18.8 加壳DLL 368% d% i/ p( I% f
18.9 小结3696 }3 U# i" v& v2 A4 T! q- h& R$ W1 b
18.10 实验369
5 R1 W: C4 p/ I
8 u! o+ w4 b+ Q+ l6 Y
' }. g' s' d( j" h' `( J. ?- S第 6 篇 高级专题
' K1 B1 G7 Y/ m" h" E) o% A" x8 [. D( Z, Z" V4 R
第19章 shellcode 分析 372: }5 N. [9 b+ ^2 I& O! R: I
! @8 [) u" P9 J; i5 p
19.1 加载shellcode 进行分析372
5 `- F; y7 @, n6 T% j19.2 位置无关代码373: A% ~" D) z# s8 s3 H1 N5 l
19.3 识别执行位置373% q% j2 c/ K& N# t
19.3.1 使用call/pop 指令3748 l/ ]: a& `' j. |- U
19.3.2 使用fnstenv 指令376
; v4 D8 {2 T( r, D' o4 \! C19.4 手动符号解析377# P9 r' m0 ^1 K. U" U8 `# `
19.4.1 在内存中找到kernel32.dll378
) w3 K& u- Q% _% }19.4.2 解析PE 文件导出数据3803 W1 m( {4 b" ]' p4 z* P5 n6 E$ R2 f- J3 x
19.4.3 使用散列过的导出符号名382& _- K2 ?/ W% m6 [% ]! \6 M
19.5 一个完整的Hello World 例子383
' ~3 |7 v/ g) Y7 P/ S! T# O19.6 shellcode 编码3850 Q$ S* Y5 D8 q( E
19.7 空指令雪橇3877 @+ Z, t' }' e4 W) z& M
19.8 找到shellcode387/ |  |3 k( o" f% h0 V
19.9 小结388
: ]" d0 r: t4 z9 H19.10 实验3898 A5 C$ a# r, A* w- A) U
1 F7 ~! Y) |! B
第20章 C++代码分析 3913 `4 w' L2 B+ |9 `

2 y. {& b1 R$ h7 }! H20.1 面向对象的编程语言391
8 u3 n' |* Q/ `2 s( N+ W8 g' N+ Z20.1.1 this 指针392& J0 W9 L2 v  O8 Y2 o+ l* j
20.1.2 重载与修饰394' M4 J6 g4 Z$ N
20.1.3 继承(Inheritance)和函数重写(Overriding)395
% Z/ _. H3 w$ ~9 j# L: Z( Q20.2 虚函数和非虚函数396* ]$ f' @) x! j- t) v
20.2.1 虚函数表的使用398
4 P- |7 ~/ M& t! b20.2.2 识别虚函数表399, @4 g8 e/ T" U. F& v
20.3 创建和销毁对象400; n9 N% g6 ]3 [& ]! R- V
20.4 小结4019 ]' i! C3 j7 Z& Z4 q
20.5 实验401
3 r6 |& O5 v" [2 A' x$ Q" t3 _! l8 g% l2 L1 V5 d7 k$ m: t
第21章 64 位恶意代码 403. x& U4 @9 q2 x! U
" u$ c. k5 j5 p  E% l8 U
21.1 为什么需要64 位恶意代码403, ^& b: j' K. P6 S: j
21.2 x64 架构上的差别404
; U; R2 b- _6 q; b8 m21.2.1 x64 调用约定和栈使用上的差别406
3 r& Y8 {* B$ N1 F21.2.2 64 位异常处理408
9 T& v5 L; X7 O% h9 H& G: R21.3 在Windows 64 位上的Windows 32 位408
) j/ ]8 {+ R" B/ m21.4 恶意代码功能上的64位提示409
5 J7 V: X2 I0 k) f2 h' s6 ?4 L+ o# Q21.5 小结410
9 b6 H. h* o! X21.6 实验410
- }" f* R& M- U  h8 J7 G
! v  O( i- Z; f7 @% V/ S- Z8 r附录A 常见Windows 函数列表 412
2 L1 U' \. Z1 R& W9 P: D- `8 N% ~; w
附录B 流行的恶意代码分析工具列表424: E/ y* R9 L& Y
  R: y: \* O0 G0 C1 v; P; }6 p8 v6 V
附录C 实验作业参考解答435
  O7 E" L# X, b* j8 b5 d& d6 r0 Z; g8 i
附录D 致青春,基础软件开发的中国故事 6918 n! [) o* j" u. J" Q6 j9 z
0 t! t% U" k! b
附录E Syser 操作入门 6955 ?7 r& h4 _7 B/ d5 z& `1 D3 ]

3 A5 \& B& w5 p1 ?4 _1 E2 {
/ v2 E( B% H$ [& k+ B" V
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-11-26 00:13:53 | 显示全部楼层
すごい
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-26 08:26:25 | 显示全部楼层
二楼,甲鱼兄要出恶意代码课程吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2016-11-26 09:51:22 | 显示全部楼层
什么编程语音写的?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-7 17:41:36 | 显示全部楼层
鱼蛋代码 发表于 2016-11-26 09:510 z( H4 r" k* _! K- y
什么编程语音写的?
+ t, P- c" ]& q6 H- H8 v! x
什么时候出病毒查杀实战
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-17 18:04:42 | 显示全部楼层
路过
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-26 21:17:30 | 显示全部楼层
看看路过
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-18 10:19:29 | 显示全部楼层
感觉很高大上,但语言学的一般般还有待提升勒
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-6 19:25:19 | 显示全部楼层
好想学呀,可惜看书看不懂呀~!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-18 17:34:37 | 显示全部楼层
感觉很厉害
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-31 11:38:15 | 显示全部楼层
感觉好厉害
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-12 20:45:30 | 显示全部楼层
good book
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-21 20:18:16 | 显示全部楼层
好书,详细
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-5 17:28:05 | 显示全部楼层
看着就挺难的,应该先熟悉工具
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-6 20:41:26 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-4-2 12:01:35 | 显示全部楼层
要做一个很牛逼的程序员,网络安全方面有所建树,完了给国家做贡献
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-7-8 21:57:05 | 显示全部楼层
路过
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-11-10 16:51:09 | 显示全部楼层
新人报道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-24 10:45:23 | 显示全部楼层
好牛逼的书啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-28 09:37:50 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-21 19:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表