鱼C论坛

 找回密码
 立即注册
查看: 6596|回复: 3

[软件安全] 【进阶】《C++反汇编与逆向分析技术揭秘》

[复制链接]
发表于 2016-11-19 16:12:53 | 显示全部楼层 |阅读模式

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

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

x
T1CacgXhXXXXXXXXXX_!!0-item_pic.jpg_430x430q90.jpg
# q$ G5 N* T9 t" x  r5 M$ w
" N% V# A6 v; C7 o4 `
书名:《C++反汇编与逆向分析技术揭秘》
1 _8 h+ q& u6 k  W6 R作者:钱林松,赵海旭( d, q2 Z1 E0 f* ~1 w
出版社:机械工业出版社
/ Q2 `0 p% S0 f; \+ z  r  z$ \9 l- W出版年:2011年10月1日(第1版)
# B, ]9 U2 x5 _! c, |定价:69.00元1 A; }% d$ J0 \; r4 G$ `
装帧:平装& Q- d( F! M) c5 S: U/ Q
ISBN:9787111356332# X) @: C# ~; i1 b

( k" W8 t4 l  M购买链接:5 ]% O  d5 B. B

  f0 N* A: D; b1 h3 s1 p
0 O. E) h0 ~! P2 _! J. J5 |" e
亚马逊(Kindle)-> 传送门; C. ^$ E( }2 _+ w$ S/ a

+ \2 r5 h& n; F8 e亚马逊 -> 传送门
; e# X& E# Y: U# x/ {7 |3 J
  N& Y# n# f* s. g! v当当网 -> 传送门
: t7 q3 P6 C$ b! ?* A' d
! |0 f5 f/ r9 `: R  V京东 -> 传送门
$ {: J& d0 i: Z: J6 W! _+ h- _0 x
+ ^8 S/ f& E1 Q2 M+ Z% ~天猫 -> 传送门8 l3 z1 o" V* \' r
3 b; C1 s  Y4 ?3 S# y4 k$ o) |  u$ k
; i0 L6 R. H  U# {
内容简介:
/ a, d6 p9 P9 Y2 \8 Q4 Q6 P+ ?
) x* ?, w' z* V5 n$ l% }
! ~5 n. m* s( A8 t
《C++反汇编与逆向分析技术揭秘》从介绍调试工具开始,到语言特性的分析,反汇编代码的重建等,再到逆向分析技术应用,内容逐步深入。软件分析技术重在方法,所以《C++反汇编与逆向分析技术揭秘》以启发方法为导向,逐步培养读者的分析和推理能力。全书共分为三个部分:第一部分 准备工作;第二部分 C++ 反汇编揭秘;第三部分 逆向分析技术应用,逐步引导读者,结合具体的应用掌握逆向分析的关键技术。
; p& b+ v- |9 f9 F2 l* x2 q% m" k$ ]& N4 R" |
《C++反汇编与逆向分析技术揭秘》对所有软件安全领域工作者, 想了解 C++ 内部机制的中高级 C++ 程序员以及 对 Windows 底层技术感兴趣的技术人员来说,是一本很好的学习 C++ 反汇编与逆向分析技术的参考书。
! r9 V9 x7 b) Q4 O4 O8 s1 W: {6 O( m9 A& z0 E) ?% D6 g
目录:9 O5 J4 t8 X+ E9 W

) o' {1 D" i0 B- t1 \

+ A3 Y$ a7 A5 W前言! y) {2 l3 F8 J2 x3 k6 a/ Z
6 {& w3 z3 v: \  \6 e( U
第一部分 准备工作# n; C6 x1 E# |% s1 H, i
! l/ J5 X3 d. R7 C5 ]9 Z5 z! b' r
第1章 熟悉工作环境和相关工具 / 2; l+ @! W% ~1 s+ y
* @) ?, o/ j% M3 K* s$ Y+ g
1.1 调试工具Microsoft Visual C++ 6.0和OllyDBG / 2
$ N, B5 c1 S+ i1.2 反汇编静态分析工具IDA / 5: V% F  b+ C! F3 t. `1 t
1.3 反汇编引擎的工作原理 / 11: o: z" g7 T/ [
1.4 本章小结 / 167 S  T* m% m7 i" b) c, ~0 [

/ K. P+ B2 |/ p' @9 b第二部分 C++反汇编揭秘$ L. g/ |" o# s1 x: J8 Z' q* Q
2 p' S. k# n( m6 R) S4 P, h
第2章 基本数据类型的表现形式 / 18
! F# {0 S1 a" o( @$ h+ [4 I: h; g1 G; G: W( t2 p  d
2.1 整数类型 / 185 x  U: j. u) \
2.1.1 无符号整数 / 18. k& Y5 D" n1 w
2.1.2 有符号整数 / 18
- V! W+ w$ h4 N# w) o/ f+ Y2.2 浮点数类型 / 20" D5 }: L9 s: h$ h. g; X# \
2.2.1 浮点数的编码方式 / 213 s: o8 _0 f. D- j# c
2.2.2 基本的浮点数指令 / 23  x" R8 r  {1 K
2.3 字符和字符串 / 26- B) E$ F1 }# Q  ]3 P# T
2.3.1 字符的编码 / 27( ?7 h/ i: @8 A$ @# F4 {9 o: b
2.3.2 字符串的存储方式 / 28* v1 _4 `" t0 o* g
2.4 布尔类型 / 29
( _( b9 K# {& V0 ?3 ]9 Y2.5 地址、指针和引用 / 29
, \4 C8 d& \+ S0 A& H2.5.1 指针和地址的区别 / 30" K* A; ^; s( ~
2.5.2 各类型指针的工作方式 / 31/ O  Z0 z0 H, N4 R: f
2.5.3 引用 / 34( @) N0 |# b9 b; Y$ b
2.6 常量 / 357 V9 D, [( f" d3 w2 n' Z+ R+ ^
2.6.1 常量的定义 / 36
5 ]& ^0 E6 M0 o0 J' `) F; x2.6.2 #define和const的区别 / 37
1 h0 y) F3 q3 T: |) o) O2.7 本章小结 / 38
' |1 t8 z; ~7 |9 Q; v  B5 Q2 i8 u+ W
# L* y. R( A) X; `* r第3章 认识启动函数,找到用户入口 / 40
. A8 _5 ~8 L* G  x1 D8 Z! O
" m6 m# l5 S. R1 I2 O6 ?
3.1 程序的真正入口 / 400 Y# ~* L5 T; y6 `* X9 Q0 [% \
3.2 了解VC++ 6.0的启动函数 / 40
8 l$ G% X) ~1 a5 R$ q" r3.3 main函数的识别 / 440 i/ g9 U6 ^0 g9 l& {7 g
3.4 本章小结 / 462 q* Z' {" @( v+ C: j4 X3 s# J

9 L" N4 G. N" f. L第4章 观察各种表达式的求值过程 / 47$ Y: }& V' S, \& z8 s2 u9 G
# M/ L% J" o2 `+ `: m* K
4.1 算术运算和赋值 / 47% l! u8 k" I4 B  U
4.1.1 各种算术运算的工作形式 / 47
% g0 O+ z- S5 k; D4.1.2 算术结果溢出 / 823 X+ a1 r! U$ v6 b: L) A3 D  b
4.1.3 自增和自减 / 83' G& C. s% q5 K+ L$ X1 L: t
4.2 关系运算和逻辑运算 / 85
' X' z, t: {' }8 T1 i4.2.1 关系运算和条件跳转的对应 / 85
" T$ Q$ J+ M+ X8 k- s6 ~4 ]4.2.2 表达式短路 / 86' z! [+ Q5 ^' G- r. I  A
4.2.3 条件表达式 / 88
- b) e) ^/ X) A4.3 位运算 / 92
! O' ]9 Z- j6 s4.4 编译器使用的优化技巧 / 94
; E8 N- _( f7 ]  D* P8 A2 d4.4.1 流水线优化规则 / 97
( ]- {" s+ r9 ~9 {& v7 x! b4.4.2 分支优化规则 / 101
* `: r6 g* x$ u* c4.4.3 高速缓存(cache)优化规则 / 101
) H8 i7 P. r) N" z9 p+ z; X4.5 一次算法逆向之旅 / 102) i! J0 D/ L# ^1 H" T! w. H
4.6 本章小结 / 109
2 n, b9 a8 Q) O1 n; ?5 o/ U5 ^* y+ N( F
第5章 流程控制语句的识别 / 110
3 [1 F6 B0 Z5 A( `/ `; \' M% P/ j0 v# R6 k/ X. X8 Y
5.1 if语句 / 110
8 ~" N: y5 r3 ^. V4 R1 K5.2 if…else…语句 / 112* ^* `, |$ s% B4 H% O
5.3 用if构成的多分支流程 / 115$ w2 p, v" i# m& s
5.4 switch的真相 / 119
4 M. Q" _( K+ y5 q5.5 难以构成跳转表的switch / 128
% \, I, U! ~) o# B# x5 ^! {' J5.6 降低判定树的高度 / 133
* R& h  E5 u9 [2 \( o* r* x" ~5.7 do/while/for的比较 / 137
# N. d1 `4 M2 ^  @: H5.8 编译器对循环结构的优化 / 143
; c2 H' E8 y2 E$ J/ v2 Y5.9 本章小结 / 148' ]1 ?$ @, g4 `8 x- J4 ^6 Y/ D5 P
% z% C! P. n0 G2 z& o  }/ w
第6章 函数的工作原理 / 149
" `" o* F' l! [( t. M( @* F; s
4 |* a# t2 S6 Y+ ~- K6.1 栈帧的形成和关闭 / 149
6 j4 F, g6 J# j) V6.2 各种调用方式的考察 / 152# }5 [; u1 p, G. N
6.3 使用ebp或esp寻址 / 155( p4 y. Q5 O# {% D6 V" V+ E
6.4 函数的参数 / 1587 ?# p  e! }( t8 V
6.5 函数的返回值 / 1603 X' K  b* |3 E2 ^  u
6.6 回顾 / 163
8 x( }# K( o3 B% _3 {1 t" d$ X6.7 本章小结 / 165# Y6 o! u1 x" B5 c* Z

$ S9 y7 r, P# S% o第7章 变量在内存中的位置和访问方式 / 166# l7 ?0 N: a/ v& A9 H9 X

4 t! L; q, ~. W7.1 全局变量和局部变量的区别 / 166
" g; q9 |4 C% l" [( m6 B* P* S7.2 局部静态变量的工作方式 / 169. Q+ v7 {6 p8 N# M; S9 O
7.3 堆变量 / 173
" M# {9 L- p& u7.4 本章小结 / 177
) q( w0 q3 A% R7 B- x% H) F" S8 T/ B7 j' G8 o
第8章 数组和指针的寻址 / 178
5 g; N! d7 F: }, K3 Z2 o$ K  |/ f6 Q3 ]( s% ~; K  {! H. {& A6 F
8.1 数组在函数内 / 178' f& b5 h. p3 L3 p; C
8.2 数组作为参数 / 181
% J$ a" N! B8 ^/ I* d( e8.3 数组作为返回值 / 185
8 A* t! d0 l0 Z1 j+ a) @" R8.4 下标寻址和指针寻址 / 1895 M1 ?* j0 D8 N% Q5 d3 U
8.5 多维数组 / 193
7 l! J$ }* S8 z# W' C4 I  [8.6 存放指针类型数据的数组 / 199! Y' T' d7 D. f  z& \7 ]3 [! m1 f$ ~
8.7 指向数组的指针变量 / 201
' ?2 F; F' n% P7 W8.8 函数指针 / 204
7 e  e; |4 s+ `8.9 本章小结 / 206
0 P7 A* s, A; I$ @
4 C4 r/ d* n: y+ G1 c- z第9章 结构体和类 / 207
$ u) m1 G' Q) a* b" Q6 z5 ~+ _
. k+ ?* [8 O$ A6 B4 O9.1 对象的内存布局 / 207
9 _  t  V' b& s* z% k+ ~9.2 this指针 / 212
  z7 m) E4 I; A% \5 a9.3 静态数据成员 / 217
8 W6 w7 h6 T8 E, w) m! A9.4 对象作为函数参数 / 219
$ `3 ^) c; k" ^4 j9 L/ [, O2 L7 K3 u9.5 对象作为返回值 / 226$ W: Z2 B4 N1 `; x6 G
9.6 本章小结 / 231
* j* R8 X8 Z/ k  f
6 z% d+ a5 E1 |8 Q第10章 关于构造函数和析构函数 / 2333 Z* f; f8 h/ z

/ i9 S. D  W7 z; b1 j& x10.1 构造函数的出现时机 / 233
( c  _# X# S0 q6 z# O10.2 每个对象都有默认的构造函数吗 / 243- s$ y# Y: `& j4 ?/ S
10.3 析构函数的出现时机 / 2457 [$ J6 @3 Y0 C2 P) B# `+ ]
10.4 本章小结 / 254
! M& d3 {) [- ~5 h/ e/ Z' F) y6 H6 A0 K# C5 k7 z! X5 b( c% Y
第11章 关于虚函数 / 256
$ W  d* _) X6 o) ?& ]( P
, O( D" N/ J/ `2 s9 B; E+ t6 u11.1 虚函数的机制 / 256
$ ^, s4 T. ^9 {- ?5 t11.2 虚函数的识别 / 261
" w3 y( t0 }9 X' T9 Y5 n2 J11.3 本章小结 / 268
7 X& m' B" Z* z( z0 o9 \& k' {  U  E* |5 I. ~4 i' F4 M9 ]# F2 h- A- S! G! Q, Q* Q
第12章 从内存角度看继承和多重继承 / 269
& w! o7 T4 \7 ^8 _5 z) `9 O4 p) s: F; H1 J; D  I6 ]
12.1 识别类和类之间的关系 / 2704 w, [  z8 A0 F% V0 ~7 r: R* g- ~
12.2 多重继承 / 292! F/ h* Y' k; l
12.3 虚基类 / 298- B6 s( i0 o0 ^! I: ~  A' z
12.4 菱形继承 / 299% P7 ]" R2 _4 A+ m3 k* Y- n
12.5 本章小结 / 307# y7 N7 D' }. f
! e% G; n$ Y3 y- o! T
第13章 异常处理 / 308
3 b5 f7 p. G  M4 G+ ^
1 n6 [/ U* a- S# r1 Z; v" _% t13.1 异常处理的相关知识 / 3080 @% J% _) W1 A8 T" Q: W, P
13.2 异常类型为基本数据类型的处理流程 / 314; M% K# s4 n2 E: z: K
13.3 异常类型为对象的处理流程 / 323( Y. E; }% G, K5 L
13.4 识别异常处理 / 329" }; y; I: v3 C8 K
13.5 本章小结 / 341
7 Z  S0 [. s- _& m2 Y% B; u- [+ e  ?0 ?! Y
第三部分 逆向分析技术应用
  s7 d0 w4 ^5 y8 |# i( F2 ?' h. V& x
第14章 PEiD的工作原理分析 / 344+ e* u  W# b% d3 z

2 s8 i% F  F. D14.1 开发环境的识别 / 344
7 K( [2 x# j5 |  ]: e14.2 开发环境的伪造 / 353
8 i( y& b- E7 ^5 J" ?# t! h14.3 本章小结 / 3564 `$ E& X, H9 t' H) P5 V
3 ~3 J: O, B- ]% D, i- |. _! g
第15章 “熊猫烧香”病毒逆向分析 / 357
+ _; Q. F: e* w

9 U* ^4 i9 j" l15.1 调试环境配置 / 357
6 u2 U# K, ~2 {15.2 病毒程序初步分析 / 358
3 M7 `* _9 r' U4 |- q2 I15.3“熊猫烧香”的启动过程分析 / 3607 L3 a: S5 r7 x: D
15.4“熊猫烧香”的自我保护分析 / 366, L0 `8 N1 g. d* J+ v/ {; s; A
15.5“熊猫烧香”的感染过程分析 / 369/ ]% R! r- ~4 u8 p: R# L
15.6 本章小结 / 379
( B3 Y/ `  F' O# s
: n$ ]# C3 M( }' S) N6 Z$ ]+ z( F5 v第16章 调试器OllyDBG的工作原理分析 / 380
% ]" h/ h/ x9 w) ]! Z* i' L( r' b0 B+ w. w( R
16.1 INT3断点 / 380. l8 S4 {" E. T* P* B
16.2 内存断点 / 385
5 X6 H6 R" ~& g( X1 l* f& X3 k16.3 硬件断点 / 390
: x- V9 g$ w; L2 n16.4 异常处理机制 / 3961 i% u2 b! i1 v/ `; Q8 q  Y
16.5 加载调试程序 / 4028 J, M  u1 z8 |
16.6 本章小结 / 4065 G1 c8 |" u1 g( m  ?
! P! T$ B0 D" \& c" {" O
第17章 反汇编代码的重建与编译 / 407
. q) y7 o2 a) C5 ~$ `- q0 _# C$ K' ^
17.1 重建反汇编代码 / 407  }: u$ g! w/ d+ m& c* P  U
17.2 编译重建后的反汇编代码 / 410+ a/ l2 b; R: N) P* k' _8 e* {
17.3 本章小结 / 4111 t# l6 w, a' g' T" n& m
3 W/ i. A+ K5 I& P
参考文献 / 412
4 s0 |; m9 D& j6 l
7 Z3 W2 \2 D9 |' `9 Z
7 G  @; ]& k& F% ~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-15 14:59:55 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-10-26 18:28:05 From FishC Mobile | 显示全部楼层
汇编也分各种语言版本的嘛?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-31 00:22:16 | 显示全部楼层
挺久没推荐好书了啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 10:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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