QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

主题

帖子

荣誉

管理员

Rank: 40Rank: 40Rank: 40Rank: 40Rank: 40Rank: 40

技术值
查看: 5205|回复: 15

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

[复制链接]
最佳答案
209 
累计签到:2418 天
连续签到:8 天
小甲鱼 发表于 2016-11-25 21:49:00 520515 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

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

x
T1jdyKFONcXXXXXXXX_!!0-item_pic.jpg_430x430q90.jpg

8 Q6 n& b( U# q" }5 y) \5 n; t) |1 v. ^
书名:《恶意代码分析实战》
* L. y# v, t2 Y( X4 r& `作者:迈克尔·斯科尔斯基 (Michael Sikorski),安德鲁·哈尼克 (Andrew Honig); _, J. N% K) C% h1 S9 Z: F+ u
译者:诸葛建伟,姜辉,张光凯 2 F; M: g" P7 f
出版社:电子工业出版社
4 `2 {) ?: `$ M) l" t出版年:2014年4月1日(第1版)
( L) z7 X$ g( r0 V: a- d定价:128.00元( ~4 l$ L- {9 X
装帧:平装
7 g# t5 L. o- ]; m% a" sISBN:9787121224683
( K  T9 g. o; b- P9 Y  `
4 `9 a* I( Z7 n, D购买链接:
" _0 E  [( A# C
0 X; L8 @" @) S) G: |# Q$ M

: F! x* p* a9 M5 K/ C9 E+ `0 r, ^亚马逊 -> 传送门
! H' N# }9 L; X/ v, G) U+ B' n* t8 f0 c  w% E( p) N( m
当当网 -> 传送门" |( \, n0 J, t
$ u# W* m% T% v$ q
京东 -> 传送门& z$ [" j% _1 d8 m; f5 ]2 x

5 Q' A. M5 `. W% P. o8 A3 H天猫 -> 传送门
# g" b: S5 C9 c. W* K. @7 A: u! d) T  B+ R* F
' c! o; L9 X- h3 G
内容简介:0 Q2 J2 F7 F; l( Z0 l

( w7 i$ w6 a" N
& _% Z& T; a: ]3 |8 y
《恶意代码分析实战》是业内公认的迄今为止最权威的一本恶意代码分析指南,《恶意代码分析实战》也是每一位恶意代码分析师都必须作为指导手册珍藏的案头必备。
7 \* T9 n) G# h5 u5 l) b0 v) |0 W/ m) n
《恶意代码分析实战》既是一本教材,也是一本动手实践的指南。不仅教会你如何分析恶意代码(技术指导),而且配了大量的实验练习、案例、答案以及详细的分析过程,同时还包含了所有用作案例的恶意代码样本,提供了丰富、安全的学习环境。# \# E+ l" H* q# P

5 w4 p6 b* M) Z$ A/ v针对初学者:本书的技术内容、实验作业可以帮你渐入佳境;
" |! I% d9 r3 z( X% e  Y7 C' a6 H! E针对中级读者:本书大量的分析实践会直接带你进入更高的级别,臻入化境。
- H2 ?8 L2 a6 }; `  s( Q
- S# n  [4 e8 X% j. T$ H4 m' K1 a目录:
" o' B5 a2 p; U$ t3 \
/ x" V9 M4 T$ g5 H: z
3 O- D+ d! `5 ~) ?, L7 |
第0章 恶意代码分析技术入门1
  Y5 {1 U% m' r$ v- v
% z4 p4 o+ m- G" T2 M$ y/ c- C% F  S0.1 恶意代码分析目标1
% |9 E, I  k3 Q0 t; L0.2 恶意代码分析技术2
& w: \+ {: W5 n: x' e0.2.1 静态分析基础技术2
. ^: u* L: v: s) K/ a8 ^6 s0.2.2 动态分析基础技术2
5 V" @/ `+ @, K7 g! l. J3 m0.2.3 静态分析高级技术24 J! V. ]+ X" V0 O
0.2.4 动态分析高级技术2$ B& h% b% E9 E: c2 k3 ], ~
0.3 恶意代码类型3
+ U; c2 u) J. a2 b* X0.4 恶意代码分析通用规则4) h9 u$ j7 L" A& u4 `" ?. a& b

6 a: t  a. {  P/ ~8 m
6 m+ H- o; h+ j. \( N, @1 r第 1 篇 静态分析& W- N" G" O. e  ]7 W6 e* \+ G

" |, @6 o( y$ h8 ~: K  o3 V, l第1章 静态分析基础技术 6' s5 Y% s! Y7 S8 Y: M6 _" `

0 W, U8 {2 W+ P! f/ m& [1.1 反病毒引擎扫描:实用的第一步6
4 D$ g6 b7 o" j- f9 v$ m, Z1.2 哈希值:恶意代码的指纹7) d: a$ C/ Y" p) N5 C* e9 t
1.3 查找字符串7
7 E* W# q7 d4 S" }1.4 加壳与混淆恶意代码97 c9 H7 y5 g2 T7 r9 e+ I5 M
1.4.1 文件加壳10
& B) B/ m' s2 o) ]1.4.2 使用PEiD 检测加壳10. f; H2 V  {% e3 u6 _* J3 U
1.5 PE 文件格式110 t! y9 d& i& [: ]  o. D  Z
1.6 链接库与函数12
' p1 J6 {9 {9 ^2 m1.6.1 静态链接、运行时链接与动态链接12
  J/ H' q+ @  O* ?5 ~9 N& C" A1.6.2 使用Dependency Walker 工具探索动态链接函数13
4 {( k) ~) H! X$ g* u! `4 |; e1.6.3 导入函数14
! `6 v6 h8 Q# f0 H0 j; E6 i1.6.4 导出函数155 M4 S3 M$ v8 O& ]( o
1.7 静态分析技术实践15
+ L! q" n7 f+ P1.7.1 PotentialKeylogger.exe:一个未加壳的可执行文件157 H# n- j4 }; T6 f# @
1.7.2 PackedProgram.exe:穷途末路18
" H% J' k+ v- A3 N1.8 PE 文件头与分节18
- p- W* {* w1 N, z$ p* j2 u7 q1.8.1 使用PEview 来分析PE 文件19
5 Y: i4 w$ y& \' g5 i2 `9 X1.8.2 使用Resource Hacker 工具来查看资源节22" x# e# g0 ]. }; R9 P  L/ b
1.8.3 使用其他的PE 文件工具23& i: A8 Q% p- q
1.8.4 PE 文件头概述23) w0 e5 v8 [# u" @  _
1.9 小结243 y; O) U: u  T) ?1 P' ?
1.10 实验24( w5 G& k$ ~0 O% I: B/ I7 v
' I, a, |( p- Q# y& Y) d2 U
第2章 在虚拟机中分析恶意代码 27
3 P9 r+ x* h, F) u9 s* [7 q1 A! h3 c' i5 n8 p9 {' N
2.1 虚拟机的结构278 \' X- @$ J  o) J
2.2 创建恶意代码分析机28
+ m* B) V" H  @9 |4 @2.2.1 配置VMware29. j8 B- ?# A& k) r4 p# u& \
2.2.2 断开网络304 t. [+ S/ z7 u( E
2.2.3 创建主机模式网络30
5 S3 c: \# I! L; C2.2.4 使用多个虚拟机30# S. b" ^0 ?. `6 @) K7 R
2.3 使用恶意代码分析机313 o+ a7 ~. @( e% C8 J
2.3.1 让恶意代码连接互联网316 ~* x1 i# {3 T) z( Y# R+ n9 D
2.3.2 连接和断开外围设备32& o. U4 h/ g7 Q/ R9 q
2.3.3 拍摄快照32
) Z* v+ A' `! T6 S2.3.4 从虚拟机传输文件33
' U8 m/ \: k' S( i0 b2.4 使用VMware 进行恶意代码分析的风险34
  l, [! W. O0 G8 e. {9 b2.5 记录/重放:重复计算机运行轨迹34# a, q1 T! W( H. J, F
2.6 小结35. S: W0 h4 s) O+ j
# Y- u3 r: o2 P. V& ~) N
第3章 动态分析基础技术 36

2 V7 h/ R$ C; H9 y, a: k% l( D' f; U2 J$ q' y) _
3.1 沙箱:简便但粗糙的方法36
3 q: c+ z$ ?" Z3.1.1 使用恶意代码沙箱36
6 H) D7 k/ z2 a* w7 u/ }4 `8 ~3.1.2 沙箱的缺点37
; Z0 D2 C- r% D8 F: g& i3.2 运行恶意代码38
3 v# {! M5 U2 z, F, a( }- [% X# G3.3 进程监视器39
* w! b+ U. ^/ b' t3.3.1 进程监视器的显示40. X# F6 G8 |$ P' J: m) Q; G. b5 {2 a
3.3.2 进程监视器中的过滤41* C7 E5 H7 `0 D( @  f; x: D
3.4 使用进程浏览器(Process Explorer)来查看进程432 f: c5 |0 k/ O5 [8 E, [+ ?+ d
3.4.1 进程浏览器的显示43
# ]) c+ K$ A- M% \2 [3.4.2 使用验证选项44# r) Z& V5 z: f3 J8 I$ m
3.4.3 比较字符串45% X7 L. n" `1 w% V+ q; A6 P) V0 y
3.4.4 使用依赖遍历器(Dependency Walker)45
# O# o( {# O* Q7 f! E3.4.5 分析恶意文档46
/ C! w- p  g9 Y6 \3.5 使用Regshot 来比较注册表快照46
* _  ^: }2 t$ }( z/ u6 P3.6 模拟网络47
4 I' P4 n" X8 ?6 ^: f' j3.6.1 使用ApateDNS47
& g' w- J# l  Y( R4 N1 M$ a/ m  Q3.6.2 使用Netcat 进行监视48! J1 g  E$ G6 W2 L* m
3.7 使用Wireshark 进行数据包监听49
; [- v  c* Z: g; ?. {" T3.8 使用INetSim51
: {4 Y+ O( L/ K9 C, n, Y+ s3.9 基础动态分析工具实践52
  |; c, ]' l- P3.10 小结556 Y; m) W: [7 \4 i
3.11 实验569 H5 L+ k1 l/ G& {& \. O0 i+ T% p9 t6 L+ c
6 l" i& O- b6 N4 n0 _/ T/ ^1 r* [
3 k" R9 `" F6 A8 q# T& b+ V! q
第 2 篇 静态分析高级技术篇  F+ \: }2 P, T/ I9 g- R! I
# r9 J# C4 j0 i+ b  j% ]4 W% A, d7 n
第4章 x86 反汇编速成班 605 X1 Z% }& V  {$ P' U6 w, \5 C
6 V9 w$ a/ p9 k! L& A
4.1 抽象层次60% n' }" w. A: A- ^
4.2 逆向工程62* u' y' g+ S% [; u' B
4.3 x86 体系结构62
- b' A' d; u/ Q4.3.1 内存63
  ?' x  H. |! E1 s, ^/ ^4.3.2 指令64% j) S+ D2 D$ t1 Q- X
4.3.3 操作码和字节序64
' s+ K; G" _. x' ~4.3.4 操作数65% P* |; C% ?  R9 a% u# Z
4.3.5 寄存器65
) @9 \, n# Y) i, i4.3.6 简单指令67
& }! f; Y+ G% n9 z, j4.3.7 栈70$ w9 `+ v; t$ C3 ?1 P
4.3.8 条件指令73
4 c( m9 P; ]) H4 O; B, S4.3.9 分支指令73% L* ~" o( [( U5 X- _* _' P
4.3.10 重复指令74; V% z& N) z" Q  i( }& @
4.3.11 C 语言主函数和偏移76
- h# C4 H! [" C8 O' F, L, C4.3.12 更多信息:Intel x86 Architecture Manual77
  @- D0 @% B) l7 Q( o4.4 小结78" K# b4 `" p$ ^# I) n
$ L0 [3 L' T2 p
第5章 IDA Pro 79; i, v% M' L# X) ~

- _4 \, k$ q7 q9 Z  p( ?8 t5.1 加载一个可执行文件79/ P$ ^( F& w% r8 _1 o2 }' [1 }
5.2 IDA Pro 接口81+ }, Q1 q( r8 m3 U5 q
5.2.1 反汇编窗口模式81/ T3 a4 @: {) J2 L
5.2.2 对分析有用的窗口83
2 r" ~! k2 _; K& f( u/ |5.2.3 返回到默认视图83
- k2 x2 M/ I% W; u( d. N5.2.4 导航IDA Pro 83& Q0 }1 S2 z) j9 m2 n
5.2.5 搜索85& ^# y: A+ r1 e# ~4 }
5.3 使用交叉引用86
$ {7 u; X1 \0 R# P4 f5.3.1 代码交叉引用87
: q% r& t6 u" b; n7 w. W5.3.2 数据交叉引用88
! o9 b! B! k, {0 o1 @8 b1 ]7 z5.4 分析函数880 m6 Y; q9 }+ x/ s! k
5.5 使用图形选项89
. t6 k, k7 S4 K( Q5 k9 \5.6 增强反汇编91
- @$ w% N7 A! I; q5.6.1 重命名位置919 @3 {% n  h0 w4 `
5.6.2 注释92, j" u$ m7 w( S9 W. a$ ?* @# A) t
5.6.3 格式化操作数92
2 n% g6 Q& `- Y# x% I1 S* z5 w# T! o- a5.6.4 使用命名的常量93
9 T3 f. R: B& l4 ]5.6.5 重新定义代码和数据94. q, \. g2 l) S' ~' F
5.7 用插件扩展IDA955 C, ^% ?& D9 `' I# `7 c
5.7.1 使用IDC 脚本966 g- E' a( W, G2 u
5.7.2 使用IDAPython97" p& w7 I0 t% i
5.7.3 使用商业插件978 B  j! I; W: d2 Y$ h# y# q
5.8 小结98  R7 f; F2 |2 ~
5.9 实验98
& U+ t% B2 M. P1 C8 w$ K* v9 I8 m8 K) }3 C
第6章 识别汇编中的C代码结构 100
7 A, s8 _8 f, t8 y9 V, H

/ W( f  H9 a- D6 j5 Q3 C+ K6.1 全局与局部变量101) s' A3 V# l/ z- W- M0 z: T
6.2 反汇编算术操作102
* I. D. e2 A# C6.3 识别if 语句104, @# @) h% M$ @" D% z
6.3.1 用IDA Pro 图形化分析函数105+ n  }0 B9 `6 o$ b& U- d
6.3.2 识别嵌套的if 语句106# ?( c5 m( ?5 R$ M
6.4 识别循环107
. |: r+ v2 k9 U4 H# N( `8 h. i- m6.4.1 找到for 循环107( o4 g0 X; h$ q; s( `6 H
6.4.2 找到while 循环109
9 \' {! K# P2 r. G& R6.5 理解函数调用约定110* O* Z! b# S. T% v
6.5.1 cdecl110" q+ B& k* u+ P. ]! a7 K
6.5.2 stdcall 1118 ?0 L9 W* ?2 T  n
6.5.3 fastcall 1116 B" W; n4 c8 X. R
6.5.4 压栈与移动 111& ]2 A" k3 N6 l) G+ }: y( X1 @
6.6 分析switch 语句112
  s- Q" ~4 W# d( Q) H. Y6.6.1 If 样式112
" ~' m( X% E" u7 @7 w8 W6.6.2 跳转表114
7 e  b. z" F" ?, T$ V% B6.7 反汇编数组118
$ x4 g5 h$ h, w" J6.8 识别结构体119
7 \, _' a( D5 p2 L: ?6.9 分析链表遍历121
- c: A* l* t4 l# W6.10 小结1233 @6 e4 f7 H- h% P5 l' w
6.11 实验1233 t/ b1 k) S$ W0 j5 c" U
; b: B9 }, x0 w1 C/ w& v- B  ?
第7章 分析恶意Windows程序 126
+ A$ o: H# P/ ?, E3 p5 m, R8 g

4 p+ D8 ~$ f+ G' j! }" T% K7.1 Windows API126
3 m$ H% V% N, c: s# D7.1.1 类型和匈牙利表达法126
' r8 N6 ?+ F+ ^" \3 s2 f2 e7.1.2 句柄1275 j) p7 k2 r, L2 R* p! Q* U
7.1.3 文件系统函数1276 \' F% A/ ~9 ^& D
7.1.4 特殊文件128
1 `/ ?; ]" }" F/ B8 ?5 ^! s7.2 Windows 注册表129. S6 P: R( z. _; c& \7 T
7.2.1 注册表根键130
/ f9 b1 D* |( ]9 |$ A  _7.2.2 Regedit131& Y& c. h# U! s7 ]% j
7.2.3 自启动程序131
& w4 O! Q% V& ^+ a- q; M1 q/ C7.2.4 常用注册表函数131& R* ]' o$ ~* f3 |5 @) r
7.2.5 练习分析注册表操作代码1322 A8 A# z* ~6 q# b* R
7.2.6 使用.reg 文件的注册表脚本133- M6 Z' r5 X: L% D& B$ {  |' i2 u
7.3 网络API133
  n& |$ c7 Y  Q" O' N" ?7.3.1 伯克利兼容套接字1343 B, ]- Z1 H, U& d: p# g9 ]+ B9 C9 x
7.3.2 网络的服务器和客户端134
4 O( q( @8 A1 Y7.3.3 WinINet API 135
% d5 K# r# C4 k+ Y7.4 跟踪恶意代码的运行136& {& ^. P+ D9 Q
7.4.1 DLL136
0 n+ Z: ]/ Z0 H3 q7.4.2 进程1371 f# D$ J% ~$ E; h( p, B- r7 \
7.4.3 线程139
6 H1 h  B* d. @7 d7.4.4 使用互斥量的进程间协作142
: h1 {! n: l; k) i7 [7.4.5 服务1436 C% D* E* }' v; J8 B+ x
7.4.6 组件对象模型1450 {, M+ q, B- z; i5 c4 [- z
7.4.7 异常:当事情出错时1474 H: [! F; @7 K: O
7.5 内核与用户模式1486 W0 D) p8 `! T7 U
7.6 原生API149
# z& \: G3 y! ]7.7 小结151
* w. H$ F; p: S5 }; T# q* }7.8 实验1511 p; {# O' t, M3 ~: m
: t. D) p$ U9 w' \8 y4 K2 B( _

; \  ~* ?" p/ M0 k第 3 篇 动态分析高级技术篇1 q+ }7 L5 m1 ?
) b; j- ~9 W% O+ q. \$ X
第8章 动态调试 154
# V1 R( R1 k9 c- B7 K# h
1 i: s8 G) t: K2 X: }  |
8.1 源代码级与汇编级的调试器154
. x" g, F. D9 b# A+ ?8.2 内核模式与用户模式调试1553 X* N& V. s, W- x# R" s& M3 k. w  M
8.3 使用调试器1559 @; {$ x0 ?, I1 S/ h; X) ?7 P
8.3.1 单步调试155
4 x9 f2 i0 H% G5 ?9 o8.3.2 单步跳过(Stepping-Over)和单步跳入(Stepping-Into)156
# L3 I: S. A" v( E$ i8.3.3 用断点暂停执行157
. K2 A4 Y% z, p2 {5 x2 Q; y. q" u8.4 异常1619 u- K- d) C- I! l- V9 @
8.4.1 首次和二次异常处理162
' v4 L( O! K9 y6 B' z# ^5 e4 y8.4.2 常见异常162  k, ?- Y0 w- t
8.5 使用调试器修改可执行文件163
, O5 u5 P! a9 l4 a  r2 \8.6 修改可执行程序的实践163
% b; @7 L" f5 V8.7 小结164& g) D$ @# X) _/ U0 Y: _
. g: S- w+ ^# A9 @3 s7 v
第9 章 OllyDbg 165

% ]/ r& `) G2 ]7 S7 u" h0 N" m- z2 [( `* i* q$ R3 F$ N& [
9.1 加载恶意代码165( N+ {- p& m' I" K2 @
9.1.1 打开一个可执行文件165: \* o9 |0 b9 c, S" K. j2 u4 v
9.1.2 附加调试器到一个运行程序166
7 B1 [# q6 R% Z9 L; F  A; I9.2 OllyDbg 的接口167$ }; `* ^- X6 U3 Y- V, Y
9.3 内存映射1686 e+ o7 A" t) v3 Y: w' _
9.3.1 基地址重定位169! M5 ~, m0 X1 |9 m$ f
9.4 查看线程和堆栈170
& Y1 d) E+ `9 _! H3 M. t9.5 执行代码1711 Z9 q" i# }: l3 c
9.6 断点172
$ k- W+ C: D2 x* \1 P! f* s9.6.1 软件断点173# M3 Z  m0 q* J" W2 G
9.6.2 条件断点174' a( E/ e3 C% w, L0 {9 t& J
9.6.3 硬件断点1754 p" o0 V) x* k) p; m  H
9.6.4 内存断点175
9 G7 g, N& }" m8 p7 v9.7 加载DLL176
0 {, P  V( i8 \& V, g* }( l/ i& r9.8 跟踪177# C! v. A9 v" V, H
9.8.1 标准回溯跟踪1779 D* l9 `& A) \/ v5 g
9.8.2 堆栈调用跟踪178- k( S) N5 Y% l% p
9.8.3 运行跟踪178, u+ }2 i( s4 C3 r+ r
9.8.4 跟踪Poison Ivy178: O& t% O+ s  e' ]5 E- f
9.9 异常处理179
4 ^0 }$ k/ W  Q$ _- d% W1 g# N! N0 Y9.10 修补180
# J1 `# B4 D; |" B9.11 分析shellcode1812 T5 ?( r6 M$ [6 V
9.12 协助功能182
% O% x( {9 b" `4 p! J9.13 插件182
) _( D" e: o2 }! a4 B9.13.1 OllyDump183
4 _) t3 I4 ]! `' \9 X9.13.2 调试器隐藏插件183; q' s- [- l( z) O8 b/ v+ }
9.13.3 命令行184' Z* ~* P7 i1 ?; c
9.13.4 书签185! H4 E% e4 L6 g* f
9.14 脚本调试1855 m* R6 C# n6 Z6 s* G3 G
9.15 小结186
" X2 z3 Q0 {% L9.16 实验187
9 C% o9 G( I( U8 m$ r3 k" F/ Y7 P9 a2 g* V
第10章 使用WinDbg 调试内核 189' i, L9 g3 C7 T

4 D5 U) e2 X5 W3 ^. k10.1 驱动与内核代码189
  r8 e3 x9 n3 N- D4 r5 m- F' X10.2 安装内核调试191* L' s# S9 m1 f2 g2 p
10.3 使用WinDbg1931 M1 R' c. u3 L6 `
10.3.1 从内存中读取194
3 r  W  \" j9 {10.3.2 使用算术操作符194/ H& e$ K" B6 e( ~3 e! F7 @
10.3.3 设置断点194
( ], b  X* j: n10.3.4 列举模块195/ B; T* j4 P+ Y; m3 A+ X
10.4 微软符号表195
) G1 r0 q7 l8 i  d10.4.1 搜索符号195
$ H8 C; x/ ~9 ?% Z3 Q# [10.4.2 查看结构信息196
" N; o9 s" B1 d( Z/ d10.4.3 配置Windows 符号表198
0 U8 F: `8 ~1 m' h10.5 内核调试实践198" W' c6 T% v+ v8 t7 U- C2 ]
10.5.1 用户空间的代码198: O# N+ P6 T" e! {: N
10.5.2 内核模式的代码2008 B/ g& A  }/ d8 [8 Z+ q5 C0 m
10.5.3 查找驱动对象203
+ g2 e3 b7 i+ i- u' [9 \0 {10.6 Rootkit204
6 ^, v! t/ t- r, ?10.6.1 Rootkit 分析实践205
! \2 b! o$ C5 h10.6.2 中断208
* O- s. q5 N! f$ p, q10.7 加载驱动2093 ~1 c% E# l" _# M% l6 M# z
10.8 Windows Vista、Windows 7 和x64 版本的内核问题209
0 ^7 F( J% u3 A* c+ O, c3 C. o2 k10.9 小结210: A9 i3 G  I  A9 |$ F7 }
10.10 实验210  R+ S+ q: i; D7 d
% h9 E( @$ x& r( J1 V

* U( J6 A9 z& s: U' b8 c第 4 篇 恶意代码功能篇* I1 Z+ f& u( p7 L: g7 p, S7 ~& R
7 j! i: z& ]- K2 [$ D
第11章 恶意代码行为 214
+ A. _2 F8 }4 \) p
+ R" M1 C+ M" `5 p11.1 下载器和启动器214
" P9 S0 H" W% U* q) U11.2 后门(backdoor)2141 o8 `% C! G( L1 h' B" i$ z
11.2.1 反向shell215
% i/ `. M* F; U. r' m6 q11.2.2 远程控制工具216; o4 Q6 K+ x: S8 ~0 \. h7 ?
11.2.3 僵尸网络216
" J% b% d) u$ m! v% u: y" v# y11.2.4 远程控制工具与僵尸网络的比较217; Q1 {" j$ x; D/ @
11.3 登录凭证窃密器2174 o: K3 e0 `7 I! ?5 x$ w
11.3.1 GINA 拦截217- Z& m. v7 ?% G# n6 w; d. \
11.3.2 口令哈希转储218' ]/ F! w( E& i4 f" O9 b' l
11.3.3 击键记录221
* a. L  [2 ^8 r- Z6 h11.4 存活机制223
. N- N' e. G/ A3 \( m" C11.4.1 Windows 注册表223: k: |, t" y% _! B
11.4.2 特洛伊木马化(Trojanized)系统二进制文件225  j5 n+ A- _: s2 ~+ b+ |$ t6 u; _
11.4.3 DLL 加载顺序劫持227% ^: G; M) \6 G6 W' C
11.5 提权228
% |5 q& J) C8 ]# Q8 U' m11.5.1 使用SeDebugPrivilege228+ V* m+ @% p8 Z% e/ Q
11.6 隐藏它的踪迹——用户态的Rootkit229. H0 p: z9 a' L9 O0 m1 [: J
11.6.1 IAT Hook 230
" N/ `% X/ Q0 H9 z- E$ _3 [11.6.2 Inline Hook 231
) T- |) P: A, ~! y9 r: c; g  V11.7 小结232
- t4 z# }0 C4 z5 s* Z11.8 实验2329 U, Y4 ?$ d, m

" Q: X' s  h$ j  w+ g2 X第12章 隐蔽的恶意代码启动 234
0 a; s7 F" F1 m5 x8 Q' R2 p
' V3 S2 O- N: h* {12.1 启动器(Launcher)234
: K5 [& W" H7 e9 H7 a12.2 进程注入2346 I7 S) W- Q+ h( u
12.2.1 DLL 注入235
. S- K1 r; f0 L# n12.2.2 直接注入237
# }3 w% {9 \/ _5 I' ?12.3 进程替换238
% t1 a* v1 v" z6 c: ]/ X/ s# l12.4 钩子(Hook)注入240* o3 s) m$ B. A& ]$ w; L% n" N5 t
12.4.1 本地和远程钩子(Hook)240% y8 N- h& z1 C; G' I' o
12.4.2 使用钩子的击键记录器241
$ z0 }: }/ m1 |6 i9 A+ I) B6 c12.4.3 使用SetWindowsHookEx 241
2 y- ?  _! B6 c8 R6 C12.4.4 目标线程2412 \2 i- @) ~5 |4 A
12.5 Detours 2420 d! X$ S, m# I
12.6 APC 注入243
3 C! `$ o6 s0 X9 r& U12.6.1 用户模式下APC 注入244
. c8 {8 z. m- K$ F/ p+ [% z  n( p12.6.2 内核模式的APC 注入245. y" t+ Y) M: n, M& f& ~' }- T* ?
12.7 小结246# s, N. L8 E8 p# ^+ a% U0 Z7 w
12.8 实验246! \" C$ K7 c2 ]3 E# I9 m7 t5 K
& q6 P& M* P4 S; z* ]1 L
第13章 数据加密 248" @0 K/ g& P. B
- d1 O5 X* n5 r% W6 O
13.1 分析加密算法的目的2483 B! K2 |9 \- x3 u
13.2 简单的加密算法248
3 W  W& o# \# d8 D" ?13.2.1 凯撒密码249
" ~+ d; i! I4 i" D13.2.2 XOR2496 `( `6 o; \9 M/ u
13.2.3 其他一些简单的加密策略2542 A4 S1 A% {4 S
13.2.4 Base64255  n% z3 [. X, {9 Q
13.3 常见的加密算法258
" @# A( w# s  g13.3.1 识别字符串和导入259
7 L9 w0 J% U5 ]) U5 e13.3.2 查找加密常量259. I3 P9 u, D5 a: ^3 T  H
13.3.3 查找高熵值内容261
% I# J8 m1 `2 d: \2 E  i* t$ H3 j13.4 自定义加密262
, }! U; ~* O6 Y; C13.4.1 识别自定义加密263# G3 V* Z8 W: V6 D0 E# g9 {
13.4.2 攻击者使用自定义加密的优势265
+ X  ~! ]- y$ }% Y+ Q13.5 解密265
: `% ]8 v) b0 ]: w8 Q1 D13.5.1 自解密2650 q6 z0 F! |: C/ z8 N! u
13.5.2 手动执行解密函数266" J2 p( ]; L2 d8 O
13.5.3 使用通用的解密规范267* @: V/ k% Y+ R$ l
13.6 小结2700 k+ ~% H! \7 i" T
13.7 实验271+ U5 Q( A& V% T( L; _) w7 o* D& u  e' x
6 a, j" G; d# ~* g. i
第14章 恶意代码的网络特征273$ h" K4 [5 T, ^, ~2 L" d# s
; m* f+ G7 C5 Q& ]
14.1 网络应对措施273
1 v% S  q4 S6 q+ }( Z14.1.1 在原始环境中观察恶意代码273
* Q! _. c7 F; I14.1.2 恶意行为的痕迹274$ r" ?/ r2 s2 ]6 d( [& ]
14.1.3 OPSEC=操作安全性275# G9 t! n  ?5 h9 m* a9 [5 u& A( j9 |
14.2 安全地调查在线攻击者275
1 [# R5 z* A! {, q; F) d14.2.1 间接性策略275
6 l% M& B. t$ x1 ]" i  [/ a14.2.2 获取IP 地址和域名信息276
/ H" d, z, b: j1 q14.3 基于内容的网络应对措施278
, B6 E1 z4 [5 _4 I+ J8 H9 J4 p' j14.3.1 使用Snort 进行入侵检测278
0 f& s9 Q" X" m) t) {$ y14.3.2 深入观察279
+ ~' e' d5 p, B14.4 结合动态和静态分析技术282+ v/ T! p1 F8 P0 A
14.4.1 过度分析的危险283+ Z& J  H$ v3 s: \/ _8 P1 |6 |  S& {% t! V
14.4.2 在众目睽睽下隐藏283  T4 x( T# f+ y5 @3 E
14.4.3 理解周边代码286
4 f  f) e, W+ D) y14.4.4 寻找网络操作代码287
) A1 q6 Y% H5 X+ `2 e$ i! j* t14.4.5 了解网络内容的来源288
3 d/ n; U3 r5 U9 ~$ s14.4.6 硬编码数据 vs. 临时数据289
& |1 X! f5 U4 `' y1 O6 w- j  x14.4.7 确定和利用编码步骤2898 M4 j. G; f; N) Q4 X$ R
14.4.8 创建特征291* N& ?* J/ A3 C4 b0 U6 L
14.4.9 分析解析例程292
  l9 F5 ~2 S* C0 ?! h3 }& R7 Q14.4.10 针对多个元素294
, r' x9 @( k+ B4 N; d9 r5 k& ?' a14.5 了解攻击者的意图295+ w9 \0 V" e: d$ I) C/ Q1 `4 n) o
14.6 小结296
! q; [0 ?1 o1 ?0 Q: Y14.7 实验296
$ i% r2 ]' A5 Z5 l+ z4 z- P0 n8 t. Z7 o" ?9 t
% b1 ~6 i" [5 g* Y4 _* E
第 5 篇 逆向工程
# O3 e/ q5 G# {7 j0 J. T; }  U! B' |# [5 r" V
第15章 对抗反汇编 300
* k5 n7 F! m! @/ W/ c( R; ^
0 t# W. K/ I" N+ \% v$ S% U. i15.1 何谓对抗反汇编技术300
1 F+ e9 I" y! G% M% I, E15.2 挫败反汇编算法301
5 v; Z- Q; v, K5 w7 f15.2.1 线性反汇编302' S8 u! l( R* A9 h2 L: [5 F  O
15.2.2 面向代码流的反汇编303
9 }, B9 E: t! M+ [15.3 对抗反汇编技术306# U0 Z) E9 g: v& E1 `! x
15.3.1 相同目标的跳转指令306
( j, e( `8 q5 A8 b6 p15.3.2 固定条件的跳转指令307
% {: H' I4 t8 U& e# P% C15.3.3 无效的反汇编指令308) N4 {8 a0 |5 z
15.3.4 用IDA Pro 对指令进行NOP替换311
7 F9 X" Y% x8 {% a: f9 ~15.4 混淆控制流图312) M$ H/ R3 o3 y: a- r* H' Z( O
15.4.1 函数指针问题312
3 j( _" K+ `$ X15.4.2 在IDA Pro 中添加代码的交叉引用313
9 o. E& Z2 b( J) o, F3 ], m15.4.3 滥用返回指针313! M, r8 F0 [4 k. b: y
15.4.4 滥用结构化异常处理315
, i2 h  T" `2 N, H15.5 挫败栈帧分析317
- D5 \5 F  X4 ^* r  I8 q- P8 M15.6 小结320: }4 G) [6 G; b& F; e1 L4 r
15.7 实验3209 u: p- J  Z6 n4 M+ e- y
6 R% l! Q  n! c( U8 w, m; Y& ?
第16章 反调试技术322
( `/ N2 L. [0 A9 q+ D
/ O& v: ~7 `1 |7 O6 O- D8 [16.1 探测Windows 调试器322
! x' m/ P: [- b2 ^; x16.1.1 使用Windows API3227 H3 ]( t$ q+ a
16.1.2 手动检测数据结构3245 Y% S$ S/ k8 J0 x/ y0 J: s3 Z2 G
16.1.3 系统痕迹检测326. w" j) }0 |( g
16.2 识别调试器的行为327
" {1 v' z! U! O# c2 J) I8 Y/ j16.2.1 INT 扫描327
, ]8 v3 l# I5 ^" z& ]4 e) u- T0 Y16.2.2 执行代码校验和检查328
' R7 q/ x0 `/ O" v" L16.2.3 时钟检测328
2 R8 m+ d9 c/ o# j6 ?+ \- j' X16.3 干扰调试器的功能330# ?2 W+ F$ l, }* L9 q+ ^0 a
16.3.1 使用TLS回调330% S" G/ N: h% \% X% P
16.3.2 使用异常332" l. F+ |1 T7 i# U
16.3.3 插入中断3337 Z  B2 n7 A) ]  P7 }
16.4 调试器漏洞334  T9 @! n2 K5 Z5 k. Z
16.4.1 PE 头漏洞334
( L/ b1 u) A4 [2 m, Q- W3 p16.4.2 OutputDebugString漏洞336/ C" t+ J: U( \. B+ i. {3 m+ z
16.5 小结336) |' ]8 g" R3 e# J
16.6 实验336
5 k$ U0 w0 x* f1 v& J2 W5 T+ y* p& Y& `
第17章 反虚拟机技术 3389 h6 e% N/ I/ z; ?9 O
* b7 j! G: B4 K1 ?( Y
17.1 VMware 痕迹338+ V3 t  J( ]( B6 ?+ v1 L
17.1.1 绕过VMware 痕迹的探测340
9 I( H: o4 Y& A: @+ `3 ?17.1.2 探测内存痕迹342
2 O* \9 t8 ~8 ~* e& k17.2 查找漏洞指令342
$ S% A: |8 J$ J17.2.1 使用Red Pill 反虚拟机技术343+ Q/ @& u4 I/ Z
17.2.2 使用No Pill 技术3445 \, C1 i/ c2 }7 b, V( l" ^( h
17.2.3 查询I/O 通信端口344
; ]/ c$ V& s  B" c0 Q5 Q17.2.4 使用str 指令345
4 M5 r; Y2 D5 v+ H$ N$ {  f: b17.2.5 反虚拟机的x86 指令346
. o; u( s8 f, p6 l17.2.6 在IDA Pro 中高亮显示反虚拟机代码347' R% j: O, f: ?& p5 D& ^8 _
17.2.7 使用ScoopyNG347
  ^* ~2 P, e: L: f# {17.3 调整设置348$ n& y; |  Q; e! h
17.4 虚拟机逃逸349
$ _$ \+ O" J# f. j17.5 小结349
8 K- W1 k$ Q" F$ B17.6 实验3494 s# X4 m& {6 y! M1 l1 D

; e4 K5 S" T4 w  ?/ q- M5 s第18章 加壳与脱壳 352
% d# f9 K! U4 o9 h4 D7 p$ k
8 u- J: u5 \2 z& K18.1 剖析加壳352
# l; D( G% Y$ v5 B) J- T8 {0 V18.1.1 脱壳存根353
  C7 S2 V8 V1 O$ }: W18.1.2 加载可执行文件353
8 L* I2 Z" U. m9 u0 R18.1.3 解析导入函数表353( U+ }" Z* n8 A' n: X
18.1.4 尾部跳转354
7 p  @1 a6 p( i( j) Z* C  E18.1.5 图示脱壳过程354
, N( d8 n: c# R! ~  Q" Q0 N18.2 识别加壳程序355
7 f9 D) P% H2 t; w! f4 e18.2.1 加壳程序的标识355, _! }4 P8 F- K, J5 _) g) m
18.2.2 熵计算356# W4 u% }' a' ~* L: T8 E7 X
18.3 脱壳选项356/ q/ j) l+ |9 Z" N& C
18.4 自动脱壳356
; A& @1 p, D1 r+ x: B18.5 手动脱壳3577 T- [% Y6 G0 M( Y0 }
18.5.1 使用导入重构器重构导入表358
1 I6 T; Q" r. W# G# r18.5.2 查找OEP359
2 Y2 ?, j5 B: i1 C4 a18.5.3 手动修复导入表363
+ `) {4 H9 w" T( g" h( I, V0 s18.6 常见壳的技巧与窍门364
& _1 B$ J# J7 ?( j+ v5 F8 B18.6.1 UPX 364" p. y' C7 m9 G0 ^
18.6.2 PECompact 365
9 f9 g: \" ^, R* N+ \  }' a# S! C5 c18.6.3 ASPack365
( x4 I. G9 w" w. W: R18.6.4 Petite 365& I, M* ^4 E1 T" t: U& G
18.6.5 WinUpack 366* ^3 k) L+ ?& g& Z
18.6.6 Themida3676 g0 J# |9 a; `$ h
18.7 不完全脱壳情况下的分析368
3 g6 y; m# ~9 t% r* N  H18.8 加壳DLL 368
  e5 i+ F; `7 t5 n1 q1 R: ?7 `18.9 小结369$ z' E1 Y/ V6 J; e/ ]  h
18.10 实验369
  a4 Q* A( ?8 C0 U  g  t1 c0 f4 t/ `) G9 F0 V& `; B
, y+ R" v" n2 ]( F0 h# L8 c6 V
第 6 篇 高级专题
) i# [3 l& R8 [8 p# b  q2 i! ~; O' C1 ]* g% z2 u  ~; W; h
第19章 shellcode 分析 372! s. _/ s  Z' a2 c4 N

7 m, B; b$ V5 Y" X: Q19.1 加载shellcode 进行分析372/ f: m# A, k% E6 j/ c2 k0 R. V9 o
19.2 位置无关代码373
" t7 ~3 S# Z/ l, B; G1 }19.3 识别执行位置3733 Q4 w) ^6 q' X& v
19.3.1 使用call/pop 指令374
& u/ U$ X" w8 s) f3 ~: @8 F19.3.2 使用fnstenv 指令376
: N0 a/ i6 X& @7 E8 E' z+ Q4 ~$ ]19.4 手动符号解析377  {3 U0 l( g. Q' \* l/ u& E: o
19.4.1 在内存中找到kernel32.dll378) a! A. P6 @7 }: p
19.4.2 解析PE 文件导出数据380" M  O( N8 H+ [$ L! w
19.4.3 使用散列过的导出符号名3823 e1 V# _; _, {' l% G
19.5 一个完整的Hello World 例子383
& m" |7 J- X. y5 ~! h19.6 shellcode 编码385: }5 a7 }4 v" A0 c
19.7 空指令雪橇387; ?6 q3 r) X$ |* D) M; F
19.8 找到shellcode387* I- \; \4 Z, v! p" u, Y
19.9 小结388
. h: V% Q( |6 @& M/ ~19.10 实验389
  E/ \+ E9 H- H* e. F4 G. P5 o4 ~, Z8 H! n8 `! p) Z$ J: U: `0 a/ ^
第20章 C++代码分析 391
% x  n5 L! G4 a) z1 u9 K( l" y8 C. ^. h& ?
20.1 面向对象的编程语言391& \6 K/ \; I7 f/ T
20.1.1 this 指针392/ A4 m, Y0 D+ P- L! o
20.1.2 重载与修饰3943 j1 t5 j( ]0 [2 l9 w9 \1 k) q
20.1.3 继承(Inheritance)和函数重写(Overriding)395; E8 y7 }) ~9 j) `: J8 H
20.2 虚函数和非虚函数396" f1 x' j  E$ Y
20.2.1 虚函数表的使用398
, e& F0 Y, w3 B7 `2 e5 E20.2.2 识别虚函数表399
7 i' H7 e. K, b6 q( O0 f1 @20.3 创建和销毁对象400
, V9 S* ~" _1 O) \3 ?) f: f+ h4 [3 F20.4 小结401' J' E( |6 r! o- y. ]' |
20.5 实验401+ |; k5 {3 \, E, o# j
! e1 v/ B& A2 D
第21章 64 位恶意代码 403
3 e" u, Q, `# l* j( q; b$ x2 K
! U5 x+ K4 c: w; B; u: X/ P21.1 为什么需要64 位恶意代码403# r; N5 |) j3 s& G% s8 k& R
21.2 x64 架构上的差别404
% H% X: d! {2 t1 B6 i21.2.1 x64 调用约定和栈使用上的差别406! O. B4 V% F0 P# s4 e
21.2.2 64 位异常处理408' ?+ x2 C9 [" N* \+ M
21.3 在Windows 64 位上的Windows 32 位408
) A* }( Z5 W+ i, T) d, B21.4 恶意代码功能上的64位提示409
2 X. A' T- p3 w8 F- S: E21.5 小结410( N6 F  c: R3 c
21.6 实验4109 c5 P1 T2 R( D+ H

5 r% i! G& E7 `& N' ?) i1 {: K0 A2 O附录A 常见Windows 函数列表 412- m% l: ?/ s' U1 p4 U
, e3 d+ A( x- F" C6 d4 Z4 F
附录B 流行的恶意代码分析工具列表424
! E3 N/ `/ L1 P2 |9 j- c5 z% C# P- d( x0 s  ^3 B
附录C 实验作业参考解答435* i3 B' A. j% b- a" h

# w  Q' T" h4 b# B1 i9 Q$ D附录D 致青春,基础软件开发的中国故事 691
4 r: e) S0 ?4 Q& t- E1 u( P$ b
. n2 ?0 `9 n' Q附录E Syser 操作入门 6958 @+ o+ G" N. _* x+ f6 y+ ?
" d0 z! l! S8 @. M% u" U% Q

2 B' X* T* w' j. s1 i( l
楼层
跳转到指定楼层
最佳答案
0 
累计签到:734 天
连续签到:3 天
风吹雨起#泪花落 发表于 2016-11-26 00:13:53 | 显示全部楼层
すごい
最佳答案
0 
累计签到:368 天
连续签到:1 天
x51zqq 发表于 2016-11-26 08:26:25 | 显示全部楼层
二楼,甲鱼兄要出恶意代码课程吗
最佳答案
0 
累计签到:86 天
连续签到:1 天
鱼蛋代码 发表于 2016-11-26 09:51:22 | 显示全部楼层
什么编程语音写的?
最佳答案
0 
累计签到:81 天
连续签到:1 天
ivwdcwso 发表于 2017-3-7 17:41:36 | 显示全部楼层
鱼蛋代码 发表于 2016-11-26 09:51: x  L7 |9 A) w8 E8 ^: R- |8 i
什么编程语音写的?
' r5 O/ e/ E: V7 L: o2 [
什么时候出病毒查杀实战
最佳答案
0 
累计签到:10 天
连续签到:1 天
忘仔于心 发表于 2017-6-17 18:04:42 | 显示全部楼层
路过
最佳答案
0 
累计签到:11 天
连续签到:3 天
木土豆 发表于 2017-6-26 21:17:30 | 显示全部楼层
看看路过
最佳答案
0 
累计签到:1 天
连续签到:1 天
今夜无法入眠 发表于 2017-7-18 10:19:29 | 显示全部楼层
感觉很高大上,但语言学的一般般还有待提升勒
最佳答案
0 
累计签到:2 天
连续签到:1 天
xiemianguiwang 发表于 2017-8-6 19:25:19 | 显示全部楼层
好想学呀,可惜看书看不懂呀~!
最佳答案
0 
累计签到:28 天
连续签到:1 天
上网冲浪做笔记 发表于 2017-10-18 17:34:37 | 显示全部楼层
感觉很厉害
最佳答案
0 
累计签到:45 天
连续签到:1 天
Saber丶Lance 发表于 2018-1-31 11:38:15 | 显示全部楼层
感觉好厉害
最佳答案
0 
累计签到:26 天
连续签到:1 天
myhome0000 发表于 2018-2-12 20:45:30 | 显示全部楼层
good book
最佳答案
0 
累计签到:119 天
连续签到:66 天
341818178 发表于 2018-2-21 20:18:16 | 显示全部楼层
好书,详细
最佳答案
0 
累计签到:4 天
连续签到:1 天
aa_qq110 发表于 2018-3-5 17:28:05 | 显示全部楼层
看着就挺难的,应该先熟悉工具
最佳答案
0 
累计签到:11 天
连续签到:1 天
心语心情 发表于 2018-3-6 20:41:26 | 显示全部楼层
最佳答案
0 
累计签到:2 天
连续签到:1 天
东非野马 发表于 2018-4-2 12:01:35 | 显示全部楼层
要做一个很牛逼的程序员,网络安全方面有所建树,完了给国家做贡献

发表回复

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

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /1 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.3 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2018-6-19 00:49

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