鱼C论坛

 找回密码
 立即注册
查看: 14999|回复: 20

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

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

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

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

x
T1jdyKFONcXXXXXXXX_!!0-item_pic.jpg_430x430q90.jpg
' W/ f: P4 b7 L, _& q$ p
' b, D, j/ I1 c$ m( T5 m' n& w+ h1 z
书名:《恶意代码分析实战》
! z% v, Q9 N/ @7 ^+ v作者:迈克尔·斯科尔斯基 (Michael Sikorski),安德鲁·哈尼克 (Andrew Honig)
0 @3 K6 [4 E9 t! y8 I译者:诸葛建伟,姜辉,张光凯
  J1 m& x# H" r  y0 i% o8 p出版社:电子工业出版社- s. x' w( S" U: }0 @+ C4 W' K/ ~
出版年:2014年4月1日(第1版)+ @3 D# k. F. n1 z
定价:128.00元- T- C. S' E- t- t2 M
装帧:平装, r, `% D; u0 T4 I- R/ _
ISBN:9787121224683& ~  t3 N# e& I3 K0 F

' G  x- g; f9 T1 Z购买链接:; U  v0 }  j7 W$ }! e; l/ K  h% F: S

9 v! C6 d& L8 ]: E; Q

; l* D8 w1 |9 U) }6 {$ T亚马逊 -> 传送门8 ^) v( \* e3 ?7 b

2 G% r7 Y2 S# f% V& |当当网 -> 传送门
* \0 b- P& i& O: }
# c1 O* t/ ^' q. T京东 -> 传送门3 f0 ~& g* a8 B0 `+ b( Q
4 V# j  }" J* y/ h$ S1 S2 q
天猫 -> 传送门! Y5 D: B$ ^8 I" G+ Y

3 w  R$ ]6 m7 g9 I) |; ^) V
- Z' @% u5 q6 ]3 g内容简介:
+ E9 m. Q/ J! X& O/ H
5 z6 V6 w; X' t# M9 p

4 X! E, U9 P# V! Z8 f* g) W* O/ E《恶意代码分析实战》是业内公认的迄今为止最权威的一本恶意代码分析指南,《恶意代码分析实战》也是每一位恶意代码分析师都必须作为指导手册珍藏的案头必备。5 R+ ]6 V- ?* O% S; G

" e$ i& T6 q3 A2 \6 X, e《恶意代码分析实战》既是一本教材,也是一本动手实践的指南。不仅教会你如何分析恶意代码(技术指导),而且配了大量的实验练习、案例、答案以及详细的分析过程,同时还包含了所有用作案例的恶意代码样本,提供了丰富、安全的学习环境。
* y' V6 ?4 M$ V( a7 g' k' q. N* @6 Z$ d" O* ]
针对初学者:本书的技术内容、实验作业可以帮你渐入佳境;
6 q5 ^2 c+ t; [) U针对中级读者:本书大量的分析实践会直接带你进入更高的级别,臻入化境。; i- b0 O0 f; x4 G* O' O$ H! v$ }, y

& w6 ~$ }0 [% p/ V, Y/ ]6 R目录:; ?- X! Y. A/ f7 P- q! d) Y

& r! n/ D; O6 q( j+ v/ i* J

1 b/ r9 r' ^: q& f# R; p2 h0 s第0章 恶意代码分析技术入门1
; T, y* E  B* f4 [
0 h) w7 A! Z- u2 G2 s! {& E, o0.1 恶意代码分析目标1
# D' T5 v! C+ W% ?( G0.2 恶意代码分析技术2  ?8 V5 S" U% ~( w  k4 O0 Y) y" B: [  `
0.2.1 静态分析基础技术2
+ H1 D; b* m8 v5 ~$ N0.2.2 动态分析基础技术2" {* r' F! }  h  \5 }- o
0.2.3 静态分析高级技术2
* B3 _! H2 e/ {" e0.2.4 动态分析高级技术2
# S3 p- a1 l# l  Y2 K* T+ G% R5 p# k0.3 恶意代码类型3, d, _6 x+ B! p) ]* z. j; K( F4 c
0.4 恶意代码分析通用规则40 h9 i2 e# O1 S3 m

7 z0 r) R* u8 b/ L% E, f& A9 E4 j* [4 t1 t4 x- O/ a
第 1 篇 静态分析4 @: T, Y& A9 ?- u8 P
4 I/ }0 v- x  T
第1章 静态分析基础技术 6
+ W1 h3 P8 ?4 i, c- G
" A  _, ?  Y4 v  \
1.1 反病毒引擎扫描:实用的第一步6
  {( I/ f5 i2 I& r' R5 q) o1.2 哈希值:恶意代码的指纹7
7 h+ }7 |+ B7 B* ?' Z1.3 查找字符串7  K8 w4 t" r$ T: G7 {
1.4 加壳与混淆恶意代码9
' i! @8 C( h9 p, T# `3 @" k* o; j* Q1.4.1 文件加壳10! B7 U# d/ M: e* ]0 e0 N- L9 l
1.4.2 使用PEiD 检测加壳10
2 O1 _9 ~* W+ q6 j+ k, B1.5 PE 文件格式11
# I2 @+ u, Y; q; C1.6 链接库与函数120 p$ j+ x9 |  G) @
1.6.1 静态链接、运行时链接与动态链接12
& D8 F, |3 f. q" A$ j" {1 V% C1.6.2 使用Dependency Walker 工具探索动态链接函数13
6 c( l6 V8 c! c8 M1.6.3 导入函数140 m& |9 |$ H5 s7 N& T
1.6.4 导出函数15% L0 f6 g, a) T& R+ w' Q& F1 F
1.7 静态分析技术实践15
0 S% D) d8 B# i' V( z) N1.7.1 PotentialKeylogger.exe:一个未加壳的可执行文件15+ C, |' l5 `) N# b. M
1.7.2 PackedProgram.exe:穷途末路18, z0 q8 V% P/ `3 Q
1.8 PE 文件头与分节182 y3 B- L: \& S& |7 j" K
1.8.1 使用PEview 来分析PE 文件19. i8 b$ r# \. h  m4 Z4 s
1.8.2 使用Resource Hacker 工具来查看资源节22" b; T' k# A# A; j+ T/ d5 {1 y
1.8.3 使用其他的PE 文件工具23& h. ?$ q" G3 @. k
1.8.4 PE 文件头概述23) Z) l; |4 T7 n9 T, L. P
1.9 小结24
) Q, h! C0 o7 a. f2 G" V8 [1.10 实验24. C' }7 M' }2 i# a

9 c& E5 p: H( z" z& _第2章 在虚拟机中分析恶意代码 27
% k: ?9 |# }! t1 v' X$ F; j
- Z# J$ }0 M( Q1 k0 s$ g$ }. n2.1 虚拟机的结构27- A) U9 i! E  B1 T
2.2 创建恶意代码分析机28
8 h$ `9 f4 y( t1 _7 B! J: S! Y2.2.1 配置VMware29
3 ~8 i, {+ v1 {8 X2.2.2 断开网络30* n" q) j+ `# Z9 y
2.2.3 创建主机模式网络307 L- x* Z$ ^1 K0 ~. I' u: _: W% u3 U
2.2.4 使用多个虚拟机30, e1 f5 B" e2 z
2.3 使用恶意代码分析机31
) k$ [* h. v9 r. s, i, u9 B; h% a2.3.1 让恶意代码连接互联网31& H* D$ {/ ]2 _( s
2.3.2 连接和断开外围设备326 M: S# w9 b  ~6 e# @) D
2.3.3 拍摄快照32
1 o* E: w# J5 e: P7 D) C2.3.4 从虚拟机传输文件33
% S) z( ]  b4 `1 V9 l' I! m# o2.4 使用VMware 进行恶意代码分析的风险34) k# p* F1 [- U: p3 c7 e( W7 f
2.5 记录/重放:重复计算机运行轨迹34  t- s1 Z7 i0 }( F' [6 ]
2.6 小结35
/ j+ n. I0 u# C* u/ b
3 b5 Q( e5 B- c+ s第3章 动态分析基础技术 36
3 J' B7 [, `* f8 A+ b. v8 S+ z
' O( j* J/ m( w2 i
3.1 沙箱:简便但粗糙的方法36
! q5 h" L6 p0 E* [3.1.1 使用恶意代码沙箱36
  H+ W* p/ X2 p' y1 \* t2 p' z3.1.2 沙箱的缺点37
0 D6 x7 A- @; p3.2 运行恶意代码38& n/ l7 q9 \  @5 U  w; E  {
3.3 进程监视器394 J' L# r( O3 _, ]. W
3.3.1 进程监视器的显示405 R# l% n2 [. @4 r0 ~! u
3.3.2 进程监视器中的过滤414 M8 M) P: w8 g, Z9 K: f" E
3.4 使用进程浏览器(Process Explorer)来查看进程43
/ o& g1 Q: c. n2 Y& Q4 o! u3.4.1 进程浏览器的显示43
4 E5 h+ u1 i7 J# q! Z6 x3.4.2 使用验证选项44+ `: R5 K; ?* f# b8 G8 r% T
3.4.3 比较字符串45
" x! W6 z8 G, a# n3.4.4 使用依赖遍历器(Dependency Walker)455 ~9 n* Q) `+ p1 B' J2 t
3.4.5 分析恶意文档46
. Z9 ]6 ~4 Y2 v, g" r3.5 使用Regshot 来比较注册表快照46
+ g4 u- ^5 g0 }/ K+ R% w2 ?' \3.6 模拟网络47$ Y  r$ z! B! j- c; E
3.6.1 使用ApateDNS47* P4 A1 T! T" B/ ?
3.6.2 使用Netcat 进行监视488 B; b0 c9 v  R4 k: i" w
3.7 使用Wireshark 进行数据包监听49
8 A* }; Q8 }/ m! q3 ]$ R; ^3.8 使用INetSim51
  C; w+ \' M3 N3.9 基础动态分析工具实践527 K' o: g; {1 y. i7 C
3.10 小结551 h$ @% D4 a4 _5 p/ w# K
3.11 实验56: Y1 w5 \8 g" R7 v

4 Z& }$ j( \4 `, W7 g; \% S0 S, c( D! n8 D
第 2 篇 静态分析高级技术篇
1 G; M3 o7 V% S5 ?. E
- P0 Y% J! h8 s第4章 x86 反汇编速成班 60# r. y* j- b: ?( i

, e, t5 u3 Y8 k( X+ W4.1 抽象层次603 S& w/ n& r* p: ~
4.2 逆向工程62# }" C" X0 Q, E( J
4.3 x86 体系结构62
/ A  \# l$ ^- b' \4.3.1 内存63" |) d$ D7 f6 l
4.3.2 指令64
% v$ U- l$ N2 Q& h- f4.3.3 操作码和字节序64
& Y* n& b& t/ r  S4.3.4 操作数65! A# S' W& `2 n
4.3.5 寄存器656 n3 @* C% a' v8 t( P# T! \; w. L5 y
4.3.6 简单指令67. C  m, k0 y! Z
4.3.7 栈70
: S, r1 @2 [- a* S/ p) G/ \4.3.8 条件指令73
# k& o7 \# N5 J* ^4.3.9 分支指令733 z9 Z0 ]( M) |& t6 R: }
4.3.10 重复指令74
4 ^' p8 `' u) P. U$ I1 ~% x  }) X7 u- L4.3.11 C 语言主函数和偏移76
+ m% `, \5 W! J) \% R8 J( [4.3.12 更多信息:Intel x86 Architecture Manual77$ I0 N6 G9 T: {! \! X
4.4 小结781 \5 o" \, b9 O( w$ A1 \5 H( u

4 j- f# k- r8 ^, E  Q第5章 IDA Pro 79
& d" w& |6 j& W8 f$ t
. M9 _  L; k1 g5 P8 x, A5.1 加载一个可执行文件79
2 E% m. O! c( ~" Y) V  t/ H  v5.2 IDA Pro 接口81
+ J0 F9 s3 \& i5 [) i5.2.1 反汇编窗口模式81) J) e( d) E, d" N- G- V
5.2.2 对分析有用的窗口83
$ j- A' q1 o' U! u& H5.2.3 返回到默认视图834 ]7 K, W% P$ n5 u/ R" y
5.2.4 导航IDA Pro 83" i" J0 S$ ~3 i0 w5 _" m
5.2.5 搜索85' L) \4 C% j: l' K
5.3 使用交叉引用86
% {! q6 X5 S/ D! K5 N5.3.1 代码交叉引用87, y% S5 S; \& c; N; @, W
5.3.2 数据交叉引用88
3 s$ l2 K% o2 \: R# e$ a3 U2 V8 _5.4 分析函数88' r$ V# y1 U1 C; E' R% I
5.5 使用图形选项89! Z5 V: G; |8 [! }- k
5.6 增强反汇编91
- I6 g8 N* j6 Y! {( U5.6.1 重命名位置91. m8 V$ I6 c8 u0 D
5.6.2 注释92
+ U, l( M! u; W! T& W5.6.3 格式化操作数92$ h4 M. U3 y) m
5.6.4 使用命名的常量93
$ E  H8 v$ Q. w+ \+ J5 T; E) P5.6.5 重新定义代码和数据94" o/ P; O; O: c* R" N. R
5.7 用插件扩展IDA95
# u: S7 n; B/ u# Q3 }5.7.1 使用IDC 脚本96" K  \- z7 o9 Q: J$ @
5.7.2 使用IDAPython97$ d6 r* n+ n4 _9 X2 J- L
5.7.3 使用商业插件97
3 F) i$ k4 t) h: w) Y( H" s5.8 小结98
3 T( u) ]# ~4 H, }5 d5.9 实验987 G( e* ?7 l+ u4 a* S% ?

; J3 j: I9 ^$ Z7 N) t& F第6章 识别汇编中的C代码结构 100

, W: Y. U3 D6 J8 K2 i  w, l
$ V3 o4 `; G9 ^- D- _. n6.1 全局与局部变量101) w: [" O; c' z1 \; R+ j6 v
6.2 反汇编算术操作102% U) E  c' @3 A) u) q7 E
6.3 识别if 语句104
( H4 ]! q0 p& n. t6.3.1 用IDA Pro 图形化分析函数105" C+ A  s/ |, [5 c* e
6.3.2 识别嵌套的if 语句106
9 s% w$ O3 {# y6.4 识别循环107
  C% y0 x+ J0 q+ c) T6 m6.4.1 找到for 循环107/ B- z+ v5 @7 p5 k, S
6.4.2 找到while 循环109& \/ ]8 \& {, W# |, n# [& Z, j$ q
6.5 理解函数调用约定110; b. x2 }4 m# F: \( S* {# W6 j
6.5.1 cdecl1107 f" c8 z, v6 z  V9 h6 p
6.5.2 stdcall 111$ M9 i1 Y! \) ]$ [. g, Q: _% x7 v
6.5.3 fastcall 111
& ~0 Y# |" y  p8 T6.5.4 压栈与移动 1115 k& z3 k0 H; l
6.6 分析switch 语句112
3 Y# L) ?6 @3 p9 I; @0 e6.6.1 If 样式112
6 W$ |" r/ M+ f" Q# Y; P6.6.2 跳转表114
$ ]4 F2 z' i$ f' o, k6.7 反汇编数组118
7 b- \3 ]  G8 z& Y; I$ [8 z! J6.8 识别结构体119
3 S; M3 n5 V9 ~6.9 分析链表遍历121) Z9 [! u9 e" Q; W" m
6.10 小结123
; [4 ~. d9 x/ P0 w. v6.11 实验123, `+ v' J+ j6 y. l9 i
) \: ]$ {  k6 h
第7章 分析恶意Windows程序 126

0 }9 `. b$ z7 R( F1 O6 F& h) |4 E3 O  n. a! s+ ?
7.1 Windows API126& I  @5 p/ e& C( _& G% R
7.1.1 类型和匈牙利表达法126: e+ ?0 \! q% c
7.1.2 句柄127/ F. k8 r) x$ [: N$ Z! m/ f
7.1.3 文件系统函数1271 i4 k- k( W2 ?; H
7.1.4 特殊文件128
) \8 `' u; w$ {- q" F3 J7.2 Windows 注册表129
! ~4 n, {" @1 {, G9 E$ H- V7.2.1 注册表根键130
3 P0 _) T/ w+ n$ O4 @% r7.2.2 Regedit1311 e! |; x7 K& }# x( O4 Q$ G
7.2.3 自启动程序131  ?  U! J9 m8 c% R' e
7.2.4 常用注册表函数131
* w8 B$ W4 z+ L: k& x3 R7.2.5 练习分析注册表操作代码132
+ O, g4 `  p* N4 k$ C4 U: Z+ j7.2.6 使用.reg 文件的注册表脚本133, R2 m, B. H8 ]4 Q4 Q
7.3 网络API133
. V+ p4 }8 R5 i* {0 Q& M$ `3 ^8 ^7.3.1 伯克利兼容套接字134
2 m0 j- O) u1 i/ c1 X* k  D7.3.2 网络的服务器和客户端134$ z& A& c& i& c: b9 u: X2 N
7.3.3 WinINet API 1359 D# e! l3 ~6 }  |. c2 {( E
7.4 跟踪恶意代码的运行136
' ~4 ?0 j6 R( F" r$ i: _" n7.4.1 DLL136$ g4 N% m6 ?% u
7.4.2 进程137/ ]$ E! Z5 f3 G. K
7.4.3 线程139: L1 D, q. Z# @0 M4 W
7.4.4 使用互斥量的进程间协作142
3 |. n5 g, g, x( N( V7.4.5 服务143% \: S+ B% C& F
7.4.6 组件对象模型1453 j% L3 Y+ w/ Z8 v# T9 h: K
7.4.7 异常:当事情出错时147( ?( W/ [$ {1 q2 i
7.5 内核与用户模式148
! U( d& C* d, O  r9 F, U7.6 原生API149, K* c% ]: U5 [$ _
7.7 小结1517 k4 l- g1 j. A  V0 n5 O/ ?
7.8 实验1510 ^% x% d/ S. S% \/ V" y1 J3 ?
; O7 H6 x; g+ E" j% I3 ?
4 L$ ]9 x7 I0 A$ X
第 3 篇 动态分析高级技术篇
% q9 W) G( H1 V  m' H4 s
  u4 r6 e2 _# O( k$ t5 y& |第8章 动态调试 154
$ |& K, k* n/ Q7 ]

7 b& t8 _6 a+ Z3 k. w8.1 源代码级与汇编级的调试器154* t+ P, l$ {% b- c
8.2 内核模式与用户模式调试1556 F4 N7 [* x9 I) N1 Z% Y" U+ Y" U
8.3 使用调试器155
2 n" ~6 j9 d8 _8.3.1 单步调试155
: G: T, }# ]! P$ y8.3.2 单步跳过(Stepping-Over)和单步跳入(Stepping-Into)156
0 d7 j4 e/ }0 p6 }7 w2 S8.3.3 用断点暂停执行157
/ H% Z% A2 _7 b  Y2 {3 u8.4 异常161* N- K5 n+ P6 Z: \2 w- w
8.4.1 首次和二次异常处理162  b, `6 T6 S& Y4 j+ B
8.4.2 常见异常162+ G! g: U% j6 ^
8.5 使用调试器修改可执行文件163
5 u8 G# E8 u0 p7 ]3 G0 w5 P2 B8 N8.6 修改可执行程序的实践163
6 T4 S* l! w  l( m8.7 小结164: a# N$ l+ }( t0 a; E& H0 X: L
: F  [- A  c6 D
第9 章 OllyDbg 165
' J6 S$ p% I, n5 a# d& w

: V* ~- K6 G/ l- g/ i9.1 加载恶意代码165
. \* Z8 p3 d: @6 }0 x+ D" ^4 g! C9.1.1 打开一个可执行文件1657 i* s6 U. l' R, z6 I0 q" N4 [
9.1.2 附加调试器到一个运行程序166
3 d$ U9 H; g2 {) q# F9.2 OllyDbg 的接口1672 @& L4 q8 m- C9 z0 W1 `
9.3 内存映射168- U" K% W" N  ?+ ~5 C5 y- O
9.3.1 基地址重定位169; b$ M( ~& I7 d5 g7 ?8 x! E; X
9.4 查看线程和堆栈1707 N1 E1 w& k. F' ^+ U
9.5 执行代码171
' K* o2 ~$ U5 K1 N9.6 断点172$ N. c8 P: Q: F2 R0 U7 p
9.6.1 软件断点173) z. S* `: w  w8 a& ]2 f& ~
9.6.2 条件断点1747 S0 s5 W3 f( j) P5 f! s
9.6.3 硬件断点175
0 R: H& X4 i3 _5 v2 `, c* @$ A9.6.4 内存断点175' \' |1 x- p* {0 V5 _
9.7 加载DLL176
! }/ U+ \  F, A  J9.8 跟踪177" @! `+ p. X6 W6 t9 `
9.8.1 标准回溯跟踪177
' `3 E3 m0 P$ o8 }, A% z9.8.2 堆栈调用跟踪178
1 q6 s' u2 k& l: @6 }: V' N. e9.8.3 运行跟踪178
% s0 N/ |" K, E4 F9.8.4 跟踪Poison Ivy178
% c9 P4 z8 X. o' }( j9.9 异常处理179
$ i8 D; x4 I5 O: N0 X  H6 e9.10 修补1803 @5 S) a! I7 p2 n9 Q  U. S0 v
9.11 分析shellcode181
& B" m+ L/ }# [1 R0 e3 M9.12 协助功能182- {$ `  F3 p; b! A8 ]3 N1 L
9.13 插件182
$ O$ R0 Z( G) u' L# w! S9.13.1 OllyDump183
, q3 d# {* m6 e0 t2 `6 f9.13.2 调试器隐藏插件183: B- @3 W, n4 P# A% I/ `$ f
9.13.3 命令行1848 U& C  J$ T8 G' [3 J& g
9.13.4 书签185
5 a1 ~  F5 U0 ?9.14 脚本调试185
8 i2 U. Q/ L  K; H  d9.15 小结186' D: Z- l/ C$ G6 N. F+ u
9.16 实验187
: W& R3 u! i$ `
/ B3 e: ]; w. L' z3 k第10章 使用WinDbg 调试内核 1890 ]% c. u  X, g/ K/ H
$ R2 {2 n# D( S' a& V
10.1 驱动与内核代码189
: @# ^* c) U/ t. d7 a8 a! f: t  ^10.2 安装内核调试1913 e# ~. b# B7 S( y- }1 t8 z$ _- o, i
10.3 使用WinDbg1935 B. B$ a% N+ ^& r
10.3.1 从内存中读取1940 h9 i& g& @& c) ~
10.3.2 使用算术操作符194
  C" b; ~1 a# I$ {8 j  x  @! i10.3.3 设置断点194: F* F, B) z, w0 O  n0 M+ b' b
10.3.4 列举模块195
5 g4 ^$ P: W2 x( ?5 d, d10.4 微软符号表195& d: q; ?: z5 t6 V6 E, K
10.4.1 搜索符号195
/ ~5 H: h0 X: V1 M10.4.2 查看结构信息196% L/ l3 Z$ u- M7 U
10.4.3 配置Windows 符号表198
7 Y+ l6 u9 X+ c- l. T) O10.5 内核调试实践198
' i( ^- b! n8 t% f7 y% I10.5.1 用户空间的代码198' r; Z! x. O3 E5 e# Z, F
10.5.2 内核模式的代码200; N* t; [6 R# R6 \& M
10.5.3 查找驱动对象203
& u/ I0 G4 }$ u) s$ P10.6 Rootkit2042 _- J3 C: ?9 K1 G* M: H% D
10.6.1 Rootkit 分析实践205
) W6 G3 `5 y. W, x5 A& z10.6.2 中断208
( `9 Y* V/ r# a10.7 加载驱动2092 q% @' [* q. p4 s6 f
10.8 Windows Vista、Windows 7 和x64 版本的内核问题209
) q" V1 y0 a4 }$ e0 \4 O10.9 小结210; |% \7 f2 f3 Q- y: y
10.10 实验210
/ e' S, v  k$ \
0 |) ]/ j0 d8 v9 M/ h% b7 z' l: H% }4 M
第 4 篇 恶意代码功能篇* U- e, u- S0 A( H5 g- }0 N

# ?* T) O( o# h$ t" y: S; Y6 R8 k第11章 恶意代码行为 214
( |( y& A2 G# U" f7 H/ ~) S
5 X. a: f1 q5 k. a$ v7 D11.1 下载器和启动器214
0 n  {, }7 b" e; Y! `3 f3 a11.2 后门(backdoor)214  C* J* U2 L' r3 c7 M6 M  ], O
11.2.1 反向shell215* l8 `9 }/ M( I( s0 r; U; z
11.2.2 远程控制工具2164 t7 z( Y: m+ s! W$ B% a( h
11.2.3 僵尸网络2166 B; t+ l4 j1 p' e) d# q
11.2.4 远程控制工具与僵尸网络的比较217: _2 q* N/ g% n. g, w, \
11.3 登录凭证窃密器2179 K$ k+ U' e) B& A5 \
11.3.1 GINA 拦截217
% H- F) {" \, N" r; O) L11.3.2 口令哈希转储218
7 J( \, H# f1 b3 }11.3.3 击键记录221
3 L7 }" u0 A7 i6 J# x11.4 存活机制223
. s7 s+ R3 \* |7 Q  d11.4.1 Windows 注册表223
; }3 w. A9 W3 k/ C9 m11.4.2 特洛伊木马化(Trojanized)系统二进制文件225; ?0 u& P+ A' f5 b4 @
11.4.3 DLL 加载顺序劫持227% x/ b* E8 g  |5 `9 |$ K
11.5 提权228
4 x4 j' C1 z" v6 W11.5.1 使用SeDebugPrivilege228
+ e# h  n. e& a" E; v* Y& U7 E11.6 隐藏它的踪迹——用户态的Rootkit229
" a) f' n4 e% q/ f- A. a8 t$ C11.6.1 IAT Hook 230
) l0 q4 J& p2 A. B6 L5 R- {& }11.6.2 Inline Hook 231+ U; F3 K  e. T, u$ A3 S
11.7 小结232
: H* T& }% T' |) }* Z11.8 实验2327 z# b. x9 @7 v$ ]
( g' S( f. C2 n# m  C8 t1 v+ D
第12章 隐蔽的恶意代码启动 234/ C7 Z/ ]$ P" w. w5 ^" w* t: l
. k- H0 S# \; |) _+ O
12.1 启动器(Launcher)2348 M+ S1 X$ s/ ~/ {2 m
12.2 进程注入234
% J2 I( p' \0 P. I  b0 ^12.2.1 DLL 注入2353 k$ _, p, C% V% c
12.2.2 直接注入237
9 u6 m# T% K) ^* A" g7 X- \- Q: h, w12.3 进程替换238
5 T! |9 J: {) Y0 K! N8 Q2 j12.4 钩子(Hook)注入2400 n4 G" Q' W* h
12.4.1 本地和远程钩子(Hook)2401 j* v9 G- r0 ~0 e5 g9 j# |* |
12.4.2 使用钩子的击键记录器241
% p# @; ~5 i1 i1 x/ P. B% Z12.4.3 使用SetWindowsHookEx 241" R# D5 b0 H( v. g1 E. \( a
12.4.4 目标线程241" p. f* k) Y' T. z8 ^: Z
12.5 Detours 242. |  V# ]! t% E/ t3 Z
12.6 APC 注入243
- x) p3 I* p# t12.6.1 用户模式下APC 注入244/ q5 N) `( o0 l& r
12.6.2 内核模式的APC 注入245
8 i/ e7 B+ s4 A$ d12.7 小结246
; Z! W8 u. Q2 }0 v- \12.8 实验246
; D, ~! R% U$ T4 g) @
# l/ P0 l+ G, `7 l) f+ y第13章 数据加密 2483 ?! p% H! W! I+ ]# {/ p
0 Y4 D" e+ ?8 Y) Z/ j" A) n/ z
13.1 分析加密算法的目的248* n, i  i7 t/ s- f
13.2 简单的加密算法2482 J+ n  k2 X* v& h; d$ a
13.2.1 凯撒密码249, o  f8 ?. z/ ^
13.2.2 XOR2497 n6 \- ]' h3 |2 S) j
13.2.3 其他一些简单的加密策略254
2 x0 d0 U. e2 \) C. m0 ~13.2.4 Base64255
4 |% \" U1 L4 g0 r7 R# r! z13.3 常见的加密算法258) `# }& ?- E" s( M
13.3.1 识别字符串和导入2596 @' f! u7 v5 J2 i0 m  y
13.3.2 查找加密常量259
  t% S  c9 w  P0 T$ r4 ?9 n13.3.3 查找高熵值内容261
  S1 I7 m$ L0 V8 H8 k' _5 B13.4 自定义加密262
; x2 q+ {3 n. @) P& T1 q6 N# A13.4.1 识别自定义加密263! c8 f9 J7 P( H' |8 V
13.4.2 攻击者使用自定义加密的优势265# `5 _9 M, J' r1 p" R
13.5 解密265
, a% Z% }+ K; Y0 p; P9 q13.5.1 自解密2650 x2 e) `  i* S- f
13.5.2 手动执行解密函数266+ ]1 w6 z- p  l7 s! g2 a5 [! c
13.5.3 使用通用的解密规范267
6 |* }/ d% T8 }# k7 D5 Z7 X13.6 小结2707 u; k' ^* n2 S" f- N/ q# n
13.7 实验271
% m# ]  q* c1 [: B0 n% j# |( v$ i; K7 R0 T6 ], E
第14章 恶意代码的网络特征273) H) j6 W: u$ N$ X
7 x( h; k4 w" V$ L9 W) ?
14.1 网络应对措施273
, ]- P! X  z' O14.1.1 在原始环境中观察恶意代码2739 ^4 G; n  G" j6 y1 L+ ]( k
14.1.2 恶意行为的痕迹274
7 Q* H4 e& `+ o- ]- H% s, M14.1.3 OPSEC=操作安全性275) |' o0 ?: p- @' c
14.2 安全地调查在线攻击者275
$ Y3 o4 |9 r1 \, A14.2.1 间接性策略275
7 S, J& @! ?2 ?0 c" ~. |3 r14.2.2 获取IP 地址和域名信息276
- C3 c. m, S# S( W% _14.3 基于内容的网络应对措施278# ^" x& B% \) h" C& X
14.3.1 使用Snort 进行入侵检测278
$ {0 S/ O/ ?! ~& N& W14.3.2 深入观察279) [  G, ?% l( Z1 G
14.4 结合动态和静态分析技术282" p9 R5 a) ?# Z8 p4 P7 j
14.4.1 过度分析的危险2837 X% G; ?6 [3 `  }
14.4.2 在众目睽睽下隐藏283
$ F- v+ g, H" n2 f6 A5 x9 X* V  v14.4.3 理解周边代码286
2 Z" o( E) N" O" P' ~14.4.4 寻找网络操作代码287
; l3 Y9 Q2 E7 C. x: X14.4.5 了解网络内容的来源2881 t: [1 ]! }& A2 j$ P( w( t' g
14.4.6 硬编码数据 vs. 临时数据289" A, Z1 g8 V* K# G9 L* F! G3 ~
14.4.7 确定和利用编码步骤289
4 E6 ?" ]" p6 v: E' u, n) [14.4.8 创建特征291
# Y* v5 _. T; H0 o$ r14.4.9 分析解析例程292' V4 U7 u) S; m# u4 C: }
14.4.10 针对多个元素294* C! {- a" \8 U; D& J( X
14.5 了解攻击者的意图295. I0 I+ g; c# e! a3 c
14.6 小结296
0 o! v, L6 I  Z9 [; Z9 V: a/ `' o14.7 实验2962 N/ V- C% X3 M! v9 {/ D# n
& v  d1 B) l) I  w

8 ~: P9 h% l& A* T1 M) u第 5 篇 逆向工程
( Y4 B2 A5 i6 X- d8 R. n: Y- e0 a, @# S4 B0 U! |& z  V" R" j
第15章 对抗反汇编 300
( y' w$ M4 s0 g6 J: g$ y% A! d
) n0 V4 Z% L# [: B2 @15.1 何谓对抗反汇编技术300% H7 d! s* b# Z& b6 ?+ M9 ?3 R/ A7 ~
15.2 挫败反汇编算法301
. M  u, \6 Z) K8 I$ L7 K  A3 A15.2.1 线性反汇编302
* s! t* i! v6 h1 `+ `+ c; |* y" }15.2.2 面向代码流的反汇编303, y; `& b1 y9 ?  L4 N
15.3 对抗反汇编技术306- o% u# _4 @7 k3 X3 K9 V) n
15.3.1 相同目标的跳转指令306  u* g1 h2 P( I& n% H9 |
15.3.2 固定条件的跳转指令307! u, _( g$ T5 ?0 O' E
15.3.3 无效的反汇编指令308
& S4 U% t* z( K) W) W0 p$ }5 V15.3.4 用IDA Pro 对指令进行NOP替换311
, k3 t% x, ]% r" X- e, }* T2 a15.4 混淆控制流图312
9 E6 h9 Y8 @  S15.4.1 函数指针问题312
1 V6 t& W2 o/ m% d# a# j2 \15.4.2 在IDA Pro 中添加代码的交叉引用3136 j4 G+ x# `  s: p4 M9 \
15.4.3 滥用返回指针313! S% r; D$ ]0 Q& ]8 v
15.4.4 滥用结构化异常处理315
/ {6 Y. L/ T. ~9 Z% r' Q% m15.5 挫败栈帧分析3171 ]: v* [) ], [  w
15.6 小结3207 d; l+ I; D3 E: ?. ~' p
15.7 实验320; P5 h% u3 ]: ^! l6 o

0 H0 @, ?7 C% s1 \% u第16章 反调试技术3223 p6 I# S8 ~) m, R
0 @! K6 S0 h0 I) s( z( N1 o( ~
16.1 探测Windows 调试器3228 D/ w3 T2 s. |4 y; `
16.1.1 使用Windows API322$ J1 i% I. o3 e9 B  e1 I
16.1.2 手动检测数据结构324" {& {1 F' _/ V1 k0 Q
16.1.3 系统痕迹检测326) T" Y+ A4 Y: u
16.2 识别调试器的行为327
' ?2 _; G- L* g5 Z) D( i16.2.1 INT 扫描327
8 x& d/ X% f7 k2 Z! I: E16.2.2 执行代码校验和检查328
0 y  m* m: T5 M; M16.2.3 时钟检测328
: E& s% \2 U" j( P16.3 干扰调试器的功能330
- J3 f4 Z4 T% i; ?4 K7 g16.3.1 使用TLS回调330" D6 u# E3 B$ g9 e" M& k' f
16.3.2 使用异常332* o; j3 t7 _9 Y8 A3 D6 r4 D! O3 q
16.3.3 插入中断3336 l4 D. W% ?' Y# ]1 P
16.4 调试器漏洞334' A4 q3 P+ Y0 h+ ~2 J
16.4.1 PE 头漏洞334. Y9 j& w% g% @) I
16.4.2 OutputDebugString漏洞3366 x) Y. i; c3 ]& D: C' ^# {5 p
16.5 小结336" W$ Z, }0 J6 t1 H7 r. x) [
16.6 实验336
8 u' q" a) ?' Y- y" }: V1 A0 f+ t+ b6 l
第17章 反虚拟机技术 338
, s( D+ m6 [! f+ E' R
1 k2 V3 V% Y2 Z0 c17.1 VMware 痕迹338" E8 N0 o1 M& d$ @* _6 z
17.1.1 绕过VMware 痕迹的探测340+ x  `/ A3 k/ T# Z, H8 |2 ^7 ?
17.1.2 探测内存痕迹342! @; j3 L1 Y, U5 s
17.2 查找漏洞指令3428 A  ?5 m0 g9 ^, }8 r
17.2.1 使用Red Pill 反虚拟机技术343
0 o! z7 V- C9 i- Z2 V: @* T, d17.2.2 使用No Pill 技术344
2 b' x9 A$ R1 M$ y17.2.3 查询I/O 通信端口344. e& s+ g+ _+ g8 J9 `% j
17.2.4 使用str 指令345
- u! K4 b* w6 G/ ?( ?& _17.2.5 反虚拟机的x86 指令3464 w' p% H5 t& R  Y6 ?
17.2.6 在IDA Pro 中高亮显示反虚拟机代码347, R; ^' b# T' ]8 a7 p3 _
17.2.7 使用ScoopyNG347
, \$ x8 v7 X+ V, z+ q' [" g17.3 调整设置348
* t0 T6 t. K$ k& A17.4 虚拟机逃逸349& T: Y( C+ u0 _* ~6 F1 _3 n6 `
17.5 小结349" I" ^0 N7 g5 B7 u$ P2 `" q- X
17.6 实验349. R  v0 ?- D9 @# Y
7 R+ C1 m0 g) C# m  @
第18章 加壳与脱壳 352
& {/ G3 n# y1 \2 e# p- L& ~5 B# E: R) T: s$ w0 {
18.1 剖析加壳352' O2 T2 v7 Y) r2 Z3 ^
18.1.1 脱壳存根3538 `& s* V4 V( m
18.1.2 加载可执行文件353& \2 i* f0 ?$ k* H4 I6 b
18.1.3 解析导入函数表353
+ Q+ I% [- h+ J: O3 F3 e18.1.4 尾部跳转354
+ {: a- l) s  J) [* l) ^1 K18.1.5 图示脱壳过程354
2 r' N, ^5 H, ~" y6 {18.2 识别加壳程序355
9 f9 T$ x" v2 [* [1 n3 p18.2.1 加壳程序的标识3555 q( p; G1 S- c. b
18.2.2 熵计算356- Q. U. @$ n. [* W# ?8 l/ E! Q- n
18.3 脱壳选项356+ ~3 S0 u/ i5 e6 C) p3 n  J1 v
18.4 自动脱壳356
: g% Z6 ?7 u! v$ Z" l+ {+ F2 l18.5 手动脱壳357) j; \0 o/ O9 H* U. w- ?" h
18.5.1 使用导入重构器重构导入表3580 z5 R* z  {! a2 Z( M& \
18.5.2 查找OEP3596 R! N2 ~1 v! i8 u$ i1 X, q& |4 n
18.5.3 手动修复导入表3636 U6 o- ?9 _( v( c) z0 \4 }
18.6 常见壳的技巧与窍门3645 ~" B1 I% s( s2 F6 S; V9 A% y) |8 _
18.6.1 UPX 3641 T! Z: b. q" \0 S0 J
18.6.2 PECompact 365
8 i2 q2 ?- p' n/ Q5 K18.6.3 ASPack365
! c0 K' [  d4 E18.6.4 Petite 365
/ ]* V# N) ^4 D% K  [  N' ]18.6.5 WinUpack 366
+ V1 I& i! [( B( ?% w6 O18.6.6 Themida367
) g( _; t' A; Y4 t3 g5 K2 f18.7 不完全脱壳情况下的分析368% e- b, X! h1 S  k1 f) }" m' {
18.8 加壳DLL 368
- u- X8 |/ Y9 v- T  }18.9 小结369' f) H1 W" j2 I- t; d3 n
18.10 实验3693 P" D# W! I- K. L" ~1 `
) q" f2 E5 R0 n3 J

4 U5 \' D8 p. J9 A" F0 Q) F  r/ D7 [第 6 篇 高级专题! G% V" t8 I( x2 i& B% O, K
* u* D3 O" k2 G" }7 b
第19章 shellcode 分析 372* Q- ~: `) R% v7 ~9 `  X. I

9 Y$ @* P3 y3 c1 h( B9 F19.1 加载shellcode 进行分析372
6 h+ }( z- M: b19.2 位置无关代码373
7 {' S7 E& y* ?; }19.3 识别执行位置3730 i3 F* J0 O# g1 {: R! h
19.3.1 使用call/pop 指令374
2 c' R8 m' T9 m: O- o! l6 b( _19.3.2 使用fnstenv 指令376
0 n' ]6 Z9 g& O3 h& t' j5 o, m% \# {19.4 手动符号解析377$ ^& w0 T- w: z( p5 e
19.4.1 在内存中找到kernel32.dll378
  V4 `. `, ~$ j19.4.2 解析PE 文件导出数据380, A3 y) J: g8 w
19.4.3 使用散列过的导出符号名382  z- z4 t* V3 J
19.5 一个完整的Hello World 例子383
1 }" m- i5 |4 t19.6 shellcode 编码385$ y) x1 Y+ n$ Y  S6 Q6 k
19.7 空指令雪橇3871 P: X' J3 {- G
19.8 找到shellcode387
1 V/ F$ Z1 I$ |" p  L19.9 小结388
0 \% n- q6 S9 C6 ~8 v- U1 O19.10 实验389
" E* T' A- G, q6 \; L
. ~; \% P) N( Z2 ]. _第20章 C++代码分析 391
/ Z! Z# y- w+ P# L6 \9 H
% R1 l5 e+ m$ F5 Y" @8 V: e+ d: C0 k20.1 面向对象的编程语言3914 o' F/ v9 o, Y: d6 I( ]
20.1.1 this 指针392' L3 ?; A( n7 Q9 [6 A; E: S. }
20.1.2 重载与修饰394- H* V3 ?: k$ j) r1 s
20.1.3 继承(Inheritance)和函数重写(Overriding)395
, G, {# @& |9 A- U20.2 虚函数和非虚函数396! `, D+ F% a3 Y! S1 S# @
20.2.1 虚函数表的使用398. v1 n! A9 E; [
20.2.2 识别虚函数表3993 ^4 e# U. P0 p7 D! S: w4 {0 S6 C$ L
20.3 创建和销毁对象4004 H" M' Q! W- m8 ]% w, l. K
20.4 小结401# @/ ~- B+ W! @5 K- N0 c5 ^
20.5 实验4014 b( m' F% q! C

0 S, t6 U4 X9 B2 u% Z! O第21章 64 位恶意代码 403
. X  c, \0 H+ T( J: i+ H) u+ E7 Y% x$ q
21.1 为什么需要64 位恶意代码403% U$ v0 o0 g# {" [1 Z. X
21.2 x64 架构上的差别404
1 i! U1 x# O' t" [21.2.1 x64 调用约定和栈使用上的差别4066 d; M) a0 @6 M8 z5 w3 d5 j( m; H1 f
21.2.2 64 位异常处理408+ W+ b  c7 a9 [5 r" [' ~5 \
21.3 在Windows 64 位上的Windows 32 位408
6 g* i3 ~$ P4 Y5 Z+ v% w21.4 恶意代码功能上的64位提示409+ {8 G8 ~" M  A& L# \
21.5 小结410- ]' J" e+ Z4 A) g
21.6 实验410) Y: h  L6 q" s
6 |& h6 v$ l& T" Y2 l1 Z
附录A 常见Windows 函数列表 4128 F! r7 }2 w' K
( X3 d& q! ?  `4 F3 T) E
附录B 流行的恶意代码分析工具列表424: G5 u3 n1 d& I. y* I' d

+ T  L, x1 }7 Q$ u3 t6 s附录C 实验作业参考解答435
8 q' u1 k7 F+ l8 G$ u% m" O
9 s; a( W( x  K附录D 致青春,基础软件开发的中国故事 691
% @& d: m8 N" Y. A; r
# X% r% @5 H, ~( L" `' b" [: Z附录E Syser 操作入门 695
& H  Z4 o. R5 M$ @7 ^6 V" W& L
! }! P0 c6 |& V$ N! s$ w+ a
想知道小甲鱼最近在做啥?请访问 -> 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:51
. q3 w4 r+ `' q& h" e# m( Z5 [什么编程语音写的?

+ L4 M6 L) f: b. I; 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-5-7 22:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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