鱼C论坛

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

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

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

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

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

x
T1CacgXhXXXXXXXXXX_!!0-item_pic.jpg_430x430q90.jpg

1 h- l" ^; O! O8 p% _; q- m- V  }; w2 q
书名:《C++反汇编与逆向分析技术揭秘》8 N- @: M1 q; q5 x2 \8 g1 e+ p
作者:钱林松,赵海旭& Z  M* T9 P$ b9 I" j
出版社:机械工业出版社
3 t8 }$ @9 z: `出版年:2011年10月1日(第1版)
7 C/ B9 z6 `( c; [6 j定价:69.00元0 v% j5 ~' X( k) G- B2 K. t2 T9 ~
装帧:平装) t5 ^9 v8 d- V, v8 a
ISBN:9787111356332
% e5 s0 `5 E" p
1 w4 T  l% _6 D购买链接:* B0 f  Q) [) {$ f( _8 k% j
. _0 D. u8 [6 b, e2 L

& {% P7 N! f2 s" A" Z
亚马逊(Kindle)-> 传送门
5 {) J5 `$ u: t/ U7 Q7 O$ H9 [  Y6 X9 \5 G! x8 w6 B8 W
亚马逊 -> 传送门0 i1 s) }6 T5 I
* s. L# F8 P. }8 U6 V
当当网 -> 传送门- M' z, W# @/ M3 n0 w0 r9 h) d

9 a( d5 U8 {" E京东 -> 传送门
( y! }% x5 n8 n: e$ f1 d
( }; H& ]! U/ `; e8 g9 p天猫 -> 传送门; c% r% m! z$ Q- t0 \& g: N% x

" T- x  x% R0 X* A9 d4 o3 Y  V: }: C8 `5 `/ _0 z4 v7 V1 U
内容简介:
% {( R& }) I  a9 n9 s7 x) J; M& H  y3 O

3 [, c! t$ U% z" O' q
《C++反汇编与逆向分析技术揭秘》从介绍调试工具开始,到语言特性的分析,反汇编代码的重建等,再到逆向分析技术应用,内容逐步深入。软件分析技术重在方法,所以《C++反汇编与逆向分析技术揭秘》以启发方法为导向,逐步培养读者的分析和推理能力。全书共分为三个部分:第一部分 准备工作;第二部分 C++ 反汇编揭秘;第三部分 逆向分析技术应用,逐步引导读者,结合具体的应用掌握逆向分析的关键技术。
3 T& d8 ]& z  |' l4 O
/ O! n) l6 K/ j" f$ e/ J% ]$ Q  f《C++反汇编与逆向分析技术揭秘》对所有软件安全领域工作者, 想了解 C++ 内部机制的中高级 C++ 程序员以及 对 Windows 底层技术感兴趣的技术人员来说,是一本很好的学习 C++ 反汇编与逆向分析技术的参考书。
+ h3 X0 s# x4 q( K+ n# J; t- j6 f$ C" W* C; g; V) J5 L0 S* C
目录:; L& L/ |4 m" o* u) w$ k

# k; P: y3 n8 S3 A
( X+ ]  I7 F7 ^5 W1 p( G( U5 L
前言4 m: S0 g( B! X$ i$ I; d
  e6 y# E4 {, d( c! O+ L/ _
第一部分 准备工作
7 w3 {- ]( @/ }. |
' p. \( V, G6 ?" n第1章 熟悉工作环境和相关工具 / 2$ }3 l, R7 |. M0 G' O* @" v* i: q
- L3 T$ k: E- R. ]% K7 I
1.1 调试工具Microsoft Visual C++ 6.0和OllyDBG / 2
1 [9 x. \6 G- c9 B4 {1 Y# {. s1.2 反汇编静态分析工具IDA / 5
5 j; Z; k( q* X2 O8 C1.3 反汇编引擎的工作原理 / 11
2 y, B. V/ U0 @1.4 本章小结 / 16
! o& a. ?+ M! t, ~
9 m5 n2 b. E0 |8 m* b6 K第二部分 C++反汇编揭秘
. A" k" c4 \# N# o$ x6 z8 H+ D/ F: q9 X1 ]" v
第2章 基本数据类型的表现形式 / 18
$ ^* z3 B, `& I2 z- M% `
4 d( [6 E; l/ e2.1 整数类型 / 18
+ U! L4 u, F& J, I% f( m% R( F2.1.1 无符号整数 / 183 H5 C# z1 M6 ]9 c
2.1.2 有符号整数 / 18' k3 _7 F4 {2 u, I+ ^# |$ ]
2.2 浮点数类型 / 20( V$ c6 O4 V. P  Y
2.2.1 浮点数的编码方式 / 213 C0 p  j7 X8 f
2.2.2 基本的浮点数指令 / 235 r1 F! b: d' N* O& N
2.3 字符和字符串 / 26& o) J  s8 F( a! p  Q) m  `
2.3.1 字符的编码 / 27
& U& f  R9 j+ V" R9 _4 K2.3.2 字符串的存储方式 / 28
( X7 X  X2 |+ S* i" v2.4 布尔类型 / 29
9 B- v% c3 }- v( e2.5 地址、指针和引用 / 29& V! p) p8 R: Q9 x! v- q8 {
2.5.1 指针和地址的区别 / 30. i% D& e/ S$ D" P
2.5.2 各类型指针的工作方式 / 31( h. U, h3 R; b7 D. ]  {" r
2.5.3 引用 / 34- S7 P8 T/ Y$ T& N
2.6 常量 / 35+ o$ p+ d3 S- U
2.6.1 常量的定义 / 36$ Z% `/ n6 R4 k: i9 a7 q
2.6.2 #define和const的区别 / 37
  f9 p3 H! g5 R( m$ @* {2.7 本章小结 / 38
. |3 s8 \) a) H6 s% @- [8 t* e2 R0 j4 H% K+ p
第3章 认识启动函数,找到用户入口 / 40

( ?% a# p# X) H- d$ O* R6 |+ @( [* D4 J1 i; T: r8 o# c2 g, ?8 t
3.1 程序的真正入口 / 401 {. U* ?0 @5 s
3.2 了解VC++ 6.0的启动函数 / 40! @0 i3 R. U- l# ]
3.3 main函数的识别 / 44; \& B5 ?9 A; y" z' V* d& v( f
3.4 本章小结 / 46' b' ~4 b# ^# Y) M% ^2 H9 a  F
& _) N* t8 H+ v' N8 e
第4章 观察各种表达式的求值过程 / 47/ @& ?% i8 ^4 T, S9 b" p7 @' M# I

% w6 j* L4 ~; t( R4.1 算术运算和赋值 / 47
% i& ^4 N% U2 E% r4.1.1 各种算术运算的工作形式 / 479 x! c/ M$ z9 _4 I! M$ Z% |6 y
4.1.2 算术结果溢出 / 82
3 u4 M% {  y  c$ m) K0 i4.1.3 自增和自减 / 83
: g! P4 M; R$ m' E% g9 [) j4.2 关系运算和逻辑运算 / 85/ @0 R- I8 S+ D1 h; X
4.2.1 关系运算和条件跳转的对应 / 85
# p/ |, y7 T: a6 o4.2.2 表达式短路 / 86
- s5 O$ i- A; d, F! [9 ~- b4.2.3 条件表达式 / 88
8 ?; i+ [! k. E; t- ~4 u9 E0 W4.3 位运算 / 92. a: _- C* z3 }7 O0 _
4.4 编译器使用的优化技巧 / 94( S# w: k" m: f1 c! b- k" r
4.4.1 流水线优化规则 / 97
) e# c2 T6 w* I. O, q- M4.4.2 分支优化规则 / 101' X1 {+ k& O. o# J4 S
4.4.3 高速缓存(cache)优化规则 / 101
: e8 }) I5 k7 L* h4.5 一次算法逆向之旅 / 102# d2 U. m2 {0 h7 F. I8 n* s4 `
4.6 本章小结 / 109% ~( d) a- B! u1 `3 X1 R: ~" U
% `: F: x$ q, t* I
第5章 流程控制语句的识别 / 110* @3 A$ T, }7 L  l" }

5 _3 M1 R" w9 H6 e! \9 T5.1 if语句 / 110
9 p1 \) x; X* n: Z+ v# c5.2 if…else…语句 / 112
% d0 ^9 {4 J2 n' A5.3 用if构成的多分支流程 / 115
/ m4 r) ]( i  x- w5 o" k: z0 N5.4 switch的真相 / 119
5 V$ R$ Y: T% u! e/ j5.5 难以构成跳转表的switch / 128$ R  l3 W* i5 h
5.6 降低判定树的高度 / 1339 k& d9 d) Z  a; ^
5.7 do/while/for的比较 / 137! q  b. |) v9 @. P% K
5.8 编译器对循环结构的优化 / 143
8 l, ~4 l# C& l( y# i$ @" U5.9 本章小结 / 148. s3 i; c. u  r
8 [3 v# Z4 ?; i4 x  J+ \$ p) F2 W
第6章 函数的工作原理 / 149
  b2 D( ~3 C) B. D/ n+ B: L9 B
* Y" o! ~9 c! z' l# b- z9 z( y1 @6.1 栈帧的形成和关闭 / 149% d6 W; m. G2 }, m1 h7 a
6.2 各种调用方式的考察 / 152' B. O+ }8 G0 g8 k
6.3 使用ebp或esp寻址 / 155  \5 w3 e; z! H  H
6.4 函数的参数 / 158
5 o3 u; X# r0 P, m5 u. f" ^; g" ?6.5 函数的返回值 / 1603 ^  A: m# Y% ]
6.6 回顾 / 163+ {7 F# n/ j5 W1 g& ~
6.7 本章小结 / 165
1 b( D8 ^0 a$ j/ w6 r$ k# p$ ~* W; R# V
第7章 变量在内存中的位置和访问方式 / 1668 L# T  Y1 o7 X# x! ?# ^9 \6 c

7 K* V  V1 G9 O9 L3 C7 f7.1 全局变量和局部变量的区别 / 166/ W; a, X- x- }) t
7.2 局部静态变量的工作方式 / 169
. a1 V/ Y* ~9 T% V7.3 堆变量 / 1733 V7 S, O$ j! p2 `) |5 z: L! m
7.4 本章小结 / 177
/ \) R! Z8 |  a+ r
6 i6 d( i6 {3 p第8章 数组和指针的寻址 / 178$ e' b2 \* H$ F

& ^% F: y- @( W2 z9 V$ R, w+ x8.1 数组在函数内 / 178
7 o( K; Z4 V1 D: q8.2 数组作为参数 / 181
. h1 D7 ?' _7 v% r, b8.3 数组作为返回值 / 185
$ C% N+ n0 \* y1 J: i8.4 下标寻址和指针寻址 / 189, f* @! Q7 u: h% I! H
8.5 多维数组 / 193+ x+ j& }9 ]* M9 a3 n; s- p
8.6 存放指针类型数据的数组 / 199
5 d' s- a0 M3 y6 B8 ]; E4 {8.7 指向数组的指针变量 / 201
! D( {" Y8 _$ M/ O% F8.8 函数指针 / 204
# e6 K& W6 m1 j# }5 M8.9 本章小结 / 206
1 q( M) Z, V4 d* {3 {' V$ ~7 v
9 o$ V1 U1 y* i0 c  A第9章 结构体和类 / 2072 ]7 {, |* z' s- X" d

8 a- ]2 M) W+ D7 a9.1 对象的内存布局 / 207
" u; U) T2 d! L) g" B5 g9.2 this指针 / 212! y. v3 N1 C9 C9 m: o: y0 G
9.3 静态数据成员 / 217
, t  U0 L( F: O& n+ p9.4 对象作为函数参数 / 219
( t1 D" ?2 a9 `4 f! X; q9.5 对象作为返回值 / 226
  G% k/ U6 [4 y3 g5 z* ~0 i; }9.6 本章小结 / 231
* v% W9 V1 u+ F
) @3 L4 c# W) ~3 Q/ l- W& }第10章 关于构造函数和析构函数 / 233
; F# h8 t1 K" ?5 Q- @7 {6 h: q1 O# Q" f6 ^
10.1 构造函数的出现时机 / 233. D8 l  C( n* L. C7 D# E1 B
10.2 每个对象都有默认的构造函数吗 / 243; W: H: b/ X; Y% ^/ j5 A" @
10.3 析构函数的出现时机 / 245
; q" n6 d* a$ w. _. s10.4 本章小结 / 254
- V0 ?4 E( ]8 s3 @& Q
  I8 g3 t, c  H5 Z9 P第11章 关于虚函数 / 256
# f& Q' V4 E/ A- f! o$ ]" f# G6 h+ r& |- f' R% |% W
11.1 虚函数的机制 / 256
' n- e- X# w; o0 x7 V6 A11.2 虚函数的识别 / 261
( Z8 U( o9 q2 J) h11.3 本章小结 / 2689 M0 C, r' |) l0 a/ ^* Q: v- }/ n

! ]. r6 y* f; {第12章 从内存角度看继承和多重继承 / 269
. O. r% t) _$ _0 M/ }6 ?' N0 g* T$ r3 l
12.1 识别类和类之间的关系 / 270
8 U! k. b9 o- F4 i/ b* {; j/ z( e( w12.2 多重继承 / 292
# O! I- E" S7 x$ t, h5 e0 A12.3 虚基类 / 298
6 h8 q& E9 P" e( S" f- A5 w, y, g12.4 菱形继承 / 299
; A3 {" A: w& O12.5 本章小结 / 307
. C. N0 |" l7 Q' z& M
8 U3 T7 p3 \8 M# b  |1 ^) `, o第13章 异常处理 / 308
  p( U* f" s5 B" @' f$ W" W% x4 c
13.1 异常处理的相关知识 / 308
  k% R( j0 ^! o8 s; X+ I13.2 异常类型为基本数据类型的处理流程 / 314( N) C( ]) [7 W9 Y8 l
13.3 异常类型为对象的处理流程 / 3235 O; a- J( b4 A2 r3 I
13.4 识别异常处理 / 329$ I: i8 F: z+ }- X! g( p$ w
13.5 本章小结 / 341
$ H2 w: W% a" A0 H. r
& n8 \% u) G- V# }第三部分 逆向分析技术应用* Y% |, T0 N5 }0 e

# v8 Z$ n  r1 e' o! P2 _第14章 PEiD的工作原理分析 / 3441 g7 j8 U' f4 A
1 ]6 f, L( x9 g/ W' x
14.1 开发环境的识别 / 344
$ O4 m# a7 l5 r  j  C0 k; x2 C% A14.2 开发环境的伪造 / 3533 r5 z6 |+ v8 q4 k' d$ [7 w
14.3 本章小结 / 3561 A0 T# m$ V4 G, Z$ F, u

3 D" G7 S: W8 d) M7 e: b第15章 “熊猫烧香”病毒逆向分析 / 357( ^5 \+ j7 _& p+ ^) Q

% p2 H: i8 [7 s% y5 k15.1 调试环境配置 / 3575 Q. J4 s7 K! M& p
15.2 病毒程序初步分析 / 358
% U0 f. j8 N! I15.3“熊猫烧香”的启动过程分析 / 360! Q5 ]5 {( L% h2 g% r( ]$ j
15.4“熊猫烧香”的自我保护分析 / 366
, r# u- T; @- `- I; O" O15.5“熊猫烧香”的感染过程分析 / 369
9 Q3 y' y2 Z5 m# e9 w8 p/ |8 d9 M7 S15.6 本章小结 / 379% Q: {0 h& y- ?" I9 h( E! I2 h8 {
, ]% h* E& C$ `
第16章 调试器OllyDBG的工作原理分析 / 380
4 A/ S, A6 B$ n# c" h* c, r
" ~$ Y; P" }$ k6 P+ K16.1 INT3断点 / 3803 o" S) N0 n: B/ t4 R0 A
16.2 内存断点 / 385/ j. M% D& O7 N' s0 z# ]; c
16.3 硬件断点 / 3907 I0 i0 m( u. ]. z+ o& P. g  v8 Y
16.4 异常处理机制 / 396
7 j3 G1 K& A: Q. F, m16.5 加载调试程序 / 402
; r/ N' g1 F$ l* p7 L16.6 本章小结 / 406
" p- Z3 j* H( o3 L
2 h& {2 u& _0 T第17章 反汇编代码的重建与编译 / 407
) F5 @* Q9 Y* f: g0 ~6 v( b3 C% d0 w/ X) [3 n7 P6 i! w1 r% ]
17.1 重建反汇编代码 / 4076 J' p/ C$ v5 r" s
17.2 编译重建后的反汇编代码 / 4101 C6 Y: D1 o9 t+ I. {# o9 Y( V# Q' \" X
17.3 本章小结 / 411+ t9 f+ l3 p3 {" W

) {& M) C! _1 R参考文献 / 412
. u" Y& |' P  A' ~+ h& E2 T+ ^8 K0 L+ y) o$ p

' B2 f, Z8 b+ G& W, L) P
想知道小甲鱼最近在做啥?请访问 -> 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-8 23:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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