鱼C论坛

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

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

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

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

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

x
T1CacgXhXXXXXXXXXX_!!0-item_pic.jpg_430x430q90.jpg

" \( x  n8 |$ {5 Y4 v! J
5 ?) }0 M- y" v' ^书名:《C++反汇编与逆向分析技术揭秘》
; Y3 P7 Z1 m% x' y7 O5 W; u# O作者:钱林松,赵海旭
, H3 m& `. I  b4 ?1 J出版社:机械工业出版社
: E' s& u  w7 \+ [! X出版年:2011年10月1日(第1版)* r$ @3 J- d+ O/ }8 b( k8 N4 J
定价:69.00元% ^0 {  O, `9 r; [% b
装帧:平装
% W# ]+ S$ E0 X( z# q# ^ISBN:9787111356332
3 M8 o7 V( Y8 j5 V2 d- O- u$ O
6 I0 g0 J% K; z0 A" |购买链接:
& I  o, k- D, C. Z% a! Q
. |/ Y  J7 X: G# z- R: @# v

1 L+ r% g# J% I1 }3 d8 b6 Q/ f亚马逊(Kindle)-> 传送门
/ C4 {, [' R0 _: D( Z$ _7 Z
$ _2 J, y$ _% B亚马逊 -> 传送门8 _+ h5 q) T$ D. z- {6 r6 p# l
3 @6 O. W, N! j; b: A7 d
当当网 -> 传送门" e" b& v% `1 {% D/ T. g) T
2 c: \  Q' M" {/ {5 I7 K5 y2 \" |* C
京东 -> 传送门
; n+ H: X$ I9 s  ?( p
! ~5 l: f5 I: q' `1 K( U天猫 -> 传送门' r# M- V4 d0 h, S. k

" d* l4 J# o& F  I- k, d( u" f* _0 P2 C8 z% l
内容简介:" w) S4 `% a- J4 U; ]& M
4 U% ~5 q- W2 ?7 u9 t

8 H0 [+ t1 e# r/ \
《C++反汇编与逆向分析技术揭秘》从介绍调试工具开始,到语言特性的分析,反汇编代码的重建等,再到逆向分析技术应用,内容逐步深入。软件分析技术重在方法,所以《C++反汇编与逆向分析技术揭秘》以启发方法为导向,逐步培养读者的分析和推理能力。全书共分为三个部分:第一部分 准备工作;第二部分 C++ 反汇编揭秘;第三部分 逆向分析技术应用,逐步引导读者,结合具体的应用掌握逆向分析的关键技术。4 E9 b5 p  Q. H5 K

$ ]$ {" S8 t* h3 x6 M% X6 F《C++反汇编与逆向分析技术揭秘》对所有软件安全领域工作者, 想了解 C++ 内部机制的中高级 C++ 程序员以及 对 Windows 底层技术感兴趣的技术人员来说,是一本很好的学习 C++ 反汇编与逆向分析技术的参考书。1 E9 b$ t% e* E+ O0 o( f  `$ v
# ~0 R& v% e/ O* I+ |6 ?; B' c
目录:5 L  ~; k8 X( T5 c% D; y3 F3 W3 l; x2 w

5 p* m& d* ?- B2 `2 V- L9 ]

2 K! W/ H% q* `, R( U; \- d+ z前言
0 B% i4 O+ b% L
1 k) B% [0 x( C: B, ?5 D第一部分 准备工作. W' h* L) r) z/ D8 v; I0 I
$ v# _  e! V" f- \4 i/ z
第1章 熟悉工作环境和相关工具 / 23 \" b  C" q3 W3 M& v: ^; A; N
9 {1 p, n! j. ]( a
1.1 调试工具Microsoft Visual C++ 6.0和OllyDBG / 2
$ T5 M, v& s$ P$ a1.2 反汇编静态分析工具IDA / 5% _2 Y# `3 Y' N3 }6 Z; i" f
1.3 反汇编引擎的工作原理 / 11
- H# I( |6 b: \: ?( J8 a3 b1.4 本章小结 / 16
! ~) Z) I9 N( m- e/ K
# Q- K7 U9 u# o- ^; f' ^" _/ C" B第二部分 C++反汇编揭秘
1 O7 C2 {% ~; w5 B. i8 s$ m, c1 C* r8 e+ J; n
第2章 基本数据类型的表现形式 / 18
  T4 i% I1 p1 ]" j" z% N1 U1 S6 @* L1 y0 i7 U0 q; M8 e
2.1 整数类型 / 18
7 f# e% P  b+ |- v" [2.1.1 无符号整数 / 18- V# B) M2 L( K2 s3 {+ P- B/ V
2.1.2 有符号整数 / 18
4 a2 {9 N+ M6 T) |2.2 浮点数类型 / 20
2 o; g6 J/ v/ j4 Z1 A2 Q/ x  ^2.2.1 浮点数的编码方式 / 216 [9 D1 g( S, S5 q4 u
2.2.2 基本的浮点数指令 / 23
& N! y6 b& t2 \- P1 _! y. q2.3 字符和字符串 / 26& R) S$ s# P- V* Q/ q
2.3.1 字符的编码 / 27
  p, h/ B* \7 Z& F5 t: n: n+ M2.3.2 字符串的存储方式 / 285 m  `6 Y, w; B
2.4 布尔类型 / 29
$ v# L: c, P1 h% J. z% l  Y7 w8 p# M2.5 地址、指针和引用 / 297 c% Z8 _" h! m. D, Y- _
2.5.1 指针和地址的区别 / 30/ q: _8 S, J# g, R& e& y
2.5.2 各类型指针的工作方式 / 31* B) f: m: `8 z1 U
2.5.3 引用 / 34' x! u; \% @+ j
2.6 常量 / 35' N& J- J* B. `: |7 {6 j+ ?
2.6.1 常量的定义 / 36/ P9 \7 }# U$ x+ [; Q
2.6.2 #define和const的区别 / 371 n$ }$ ?7 X+ p3 K8 E/ N
2.7 本章小结 / 387 S% ~% K( K9 j5 A
% D+ }9 Z! I9 m9 i" C
第3章 认识启动函数,找到用户入口 / 40
$ T' O  l, Q' }( G

3 C0 y2 x: F) z. ]7 O5 n. k  [3.1 程序的真正入口 / 40
! v7 |! Q6 L$ `" Y. [3.2 了解VC++ 6.0的启动函数 / 40, F) s0 {! `1 D/ ~
3.3 main函数的识别 / 44
' N/ x. F1 D" @& d3 m3.4 本章小结 / 46# {  D# d& X( z" H

3 D9 X9 y* g! H) D1 u3 l) _+ o第4章 观察各种表达式的求值过程 / 47
$ G# w: x- l3 f& P- U! [, Q# R
# {  ]  i% u( Q, [2 v5 Q6 [" N  j4.1 算术运算和赋值 / 47* z4 O# E) J4 [  n
4.1.1 各种算术运算的工作形式 / 47
% u) p9 f; ?3 y1 q; e" {# F& O4.1.2 算术结果溢出 / 82
* W2 _& d9 q& V4.1.3 自增和自减 / 83# ]5 i8 L: \* D, ]* @9 A; Q
4.2 关系运算和逻辑运算 / 855 k& V) t* x* [' \
4.2.1 关系运算和条件跳转的对应 / 85
& p( g9 ]$ s, h4.2.2 表达式短路 / 864 |* f2 K7 K6 W# c: S1 J
4.2.3 条件表达式 / 88
: h. X: I8 P5 g* d5 S4.3 位运算 / 92
4 q# q0 S% t" g( [& A) W: r4.4 编译器使用的优化技巧 / 94
8 |9 o6 U. J: T) S* k  H4 Q4.4.1 流水线优化规则 / 97; N+ w# F- O- ]0 B7 Z, t
4.4.2 分支优化规则 / 101' N: G" L  }" I/ G9 B
4.4.3 高速缓存(cache)优化规则 / 101
3 c, R! ^6 i: J/ h( W9 E4.5 一次算法逆向之旅 / 1023 D* ]8 a7 C- F$ y2 B- D5 V" q
4.6 本章小结 / 109
% g0 R( t. s$ Q, f; M5 e* t$ y: j9 O
第5章 流程控制语句的识别 / 110
+ H$ }+ _. w& G2 h; Y4 M% V: ?/ b! b: D1 o
4 H. s5 Z: p& ?6 f5.1 if语句 / 110
- ^: i; [+ V: D5.2 if…else…语句 / 112
" q+ a+ f4 v2 Y1 _5.3 用if构成的多分支流程 / 115! }5 @4 m) k2 a1 R  s* z, l
5.4 switch的真相 / 119
( Z5 S8 l# h: x7 ^& G9 |! r5.5 难以构成跳转表的switch / 128
3 I1 ~( x' a* [" N) c5.6 降低判定树的高度 / 133
$ \  g, F8 z3 P0 S( D& l! \+ F5.7 do/while/for的比较 / 137, E( _& M' ?% d8 l5 \. w
5.8 编译器对循环结构的优化 / 143
# W* u. I! v. ?* E* i+ v$ T5.9 本章小结 / 148
2 h" ]3 P" l; z" y' @# n4 ^; ^/ L
; ]* _( ?  e4 b) d) o第6章 函数的工作原理 / 149
  U- T2 G- S% J2 A( P
# B* X$ k8 t  k; L2 \6.1 栈帧的形成和关闭 / 149& w$ p7 u5 a- Y" @; D0 ?9 j
6.2 各种调用方式的考察 / 152, l# U- m3 W' U/ k" G! n  M8 c
6.3 使用ebp或esp寻址 / 155
! {& Q2 V& W( \6 X# ]6.4 函数的参数 / 158
9 |. U0 o8 A# S/ z% }( \6.5 函数的返回值 / 160
% W8 f1 i3 u! Z6.6 回顾 / 163, Z  H/ X! t7 g  A6 E
6.7 本章小结 / 1653 B0 z( {, g3 W  [# n

$ ^' T: \: {1 w7 S9 Y+ ?4 v0 ~: P第7章 变量在内存中的位置和访问方式 / 166% M1 E3 k, a+ p, X. ]3 O9 f4 v9 r
2 s+ I6 r1 N  S; H1 K5 U9 ?
7.1 全局变量和局部变量的区别 / 1668 c, x# }( `  j, S
7.2 局部静态变量的工作方式 / 169% u5 B' X/ x( T! J# H
7.3 堆变量 / 173! c5 a5 U- _- U' C. g
7.4 本章小结 / 177
; D0 g/ q+ g) r2 P# j3 G
; w8 X4 L5 c, P4 g第8章 数组和指针的寻址 / 178
7 j) X, s2 ]* k: R0 Z: ~, ~* l7 B2 p6 g7 ]. q9 V) m+ Z
8.1 数组在函数内 / 178
8 M9 E' F/ L, [3 ^# m/ S2 B$ q8.2 数组作为参数 / 181
3 t: @* Q+ u1 [/ P8.3 数组作为返回值 / 185
/ s# X: V* |- A3 H: ^* }8.4 下标寻址和指针寻址 / 189: N* e: n  p; q/ j5 c6 e: v
8.5 多维数组 / 193
' t% u! @) N/ X  R+ h( g2 L8.6 存放指针类型数据的数组 / 199. c& @2 ]" ~' b8 u) D
8.7 指向数组的指针变量 / 201
* w1 k! f! D. r- p( r0 A8.8 函数指针 / 204
; \: L! Z- p1 D7 ~# U# X, N4 y  `% y8.9 本章小结 / 206
. b, X- ~2 v) v
+ K4 m. Q2 k; ]第9章 结构体和类 / 2070 K( j. @. x9 ^/ D

  s; {8 f* Y! ?5 H# w# t9.1 对象的内存布局 / 207
: z3 r% P0 x' F$ C9.2 this指针 / 212, ?6 ]  I: I% @0 O7 ?% z4 H
9.3 静态数据成员 / 217
* r) M) A* G7 I* K& X& Q9.4 对象作为函数参数 / 219
) X. \" ?5 {; N/ q6 K$ m" ]; A9.5 对象作为返回值 / 226
* r% C2 M  p' j9 O) j9.6 本章小结 / 231; `( O' S, I$ q- n/ N9 g  W! h' ]
3 y' J* F9 W9 r% A0 z
第10章 关于构造函数和析构函数 / 233
: s& Y% \/ ]; u' w( W+ G$ z3 Q, d( o6 @% G4 _
10.1 构造函数的出现时机 / 233  e, x6 |2 j9 E! J% q
10.2 每个对象都有默认的构造函数吗 / 2433 W) J4 q6 T! e; K
10.3 析构函数的出现时机 / 2454 e) U* f6 n; @! S+ x2 d( H
10.4 本章小结 / 254, y2 a  q# X" F" X. a2 w3 w
; o9 P: y3 B: V; F6 @; c8 D# ]
第11章 关于虚函数 / 2560 }0 I2 S1 m' i5 Y# x8 b3 K

" D, \6 K/ D) r0 V, F  c; l1 I11.1 虚函数的机制 / 256& H8 M' b6 @( W& N4 B" J: w, v
11.2 虚函数的识别 / 261
! k7 {5 [3 J5 I6 t. \11.3 本章小结 / 2681 o( P; N. q8 H* Y( F. t* a- [

# u: z4 b& Y6 Y2 l* H; e: g1 F& y第12章 从内存角度看继承和多重继承 / 269
4 U0 \8 u, B/ R( P: r# A, F: X5 |. `6 U' e0 b/ R  s+ w! u
12.1 识别类和类之间的关系 / 270; {9 }" m  C9 c5 n8 T6 q. r# O0 b5 T" D
12.2 多重继承 / 292/ W/ s  P! K' u, l6 ?' p6 q$ ~+ z
12.3 虚基类 / 298
8 I5 U; w1 K6 p" d& p9 ]+ m' W12.4 菱形继承 / 299: \0 {2 @( c! S8 _' A, ^
12.5 本章小结 / 3071 j9 t1 n, g+ O/ b

4 r# n5 r- E- s4 c' B: O3 z; \第13章 异常处理 / 3086 w: T8 e" `3 ]; W8 o

( x# p& y8 O$ `4 M7 \13.1 异常处理的相关知识 / 308' {, A. ?* O2 f: x
13.2 异常类型为基本数据类型的处理流程 / 3145 H4 s% u! p0 d- ?6 N, Q
13.3 异常类型为对象的处理流程 / 323' E; k) ~3 I3 k3 c5 Y6 W+ f: d
13.4 识别异常处理 / 329
3 X% E/ e; p+ ~7 A* F13.5 本章小结 / 341
* e# k' y# T  P7 ]6 |' A1 _, b( y5 ^( ~6 Y" S, T
第三部分 逆向分析技术应用5 S. n  \4 h5 g3 r

4 A& ~- L/ V) G' y第14章 PEiD的工作原理分析 / 344/ |3 D* [. ~  _: |3 U* O

$ V8 e* t! D4 \2 H# d14.1 开发环境的识别 / 344
$ c  ~' k! l( b  r: h14.2 开发环境的伪造 / 3535 y  O+ k3 c5 A
14.3 本章小结 / 356
% B: D/ W* R3 G0 _- ]" a
, p( Y& @/ b# ]8 M- N2 H  @第15章 “熊猫烧香”病毒逆向分析 / 357, S% k' _; n3 ^+ Y
" M6 l$ U( }4 }' b& F! f( D
15.1 调试环境配置 / 3579 y2 Y8 y- u& b% e% Y. s  F1 T
15.2 病毒程序初步分析 / 358
5 f* }# V8 Z' T0 o2 i15.3“熊猫烧香”的启动过程分析 / 360
) Z( T( a! V8 F9 \15.4“熊猫烧香”的自我保护分析 / 366+ K0 y& J7 [+ d$ o- p
15.5“熊猫烧香”的感染过程分析 / 369
. S; l& k3 R8 t7 E15.6 本章小结 / 379
2 C' V7 Q; `/ u& h& P- Y& D/ _( ?5 T: j+ d
第16章 调试器OllyDBG的工作原理分析 / 3805 _/ `0 J% B1 Q/ R

+ }8 t) T' d2 K$ ?4 K* ^16.1 INT3断点 / 380
6 X+ C5 c- z* B% G8 T- l# [+ [& h16.2 内存断点 / 385
6 K  {3 J# x/ Z& N16.3 硬件断点 / 390
" ]) ?, I) w5 ]5 n2 A  [: a" X' t16.4 异常处理机制 / 396( B3 b5 u! l# m: n6 R5 O- e- v
16.5 加载调试程序 / 402
; [1 ?% U+ V8 C16.6 本章小结 / 4067 T" }4 _% `# G, u6 [6 y. r
' C9 N9 J, t/ ?. B. G4 w
第17章 反汇编代码的重建与编译 / 407
. T  B+ W( a6 O" m4 d4 ?4 ?
5 Z$ V7 z, b3 F; I1 T17.1 重建反汇编代码 / 407
. o) y5 V5 ]0 f17.2 编译重建后的反汇编代码 / 410
$ c' ~$ P8 y" K17.3 本章小结 / 411& K+ |; i1 W  W0 r& i- t: {" q
  P  H' H" r: @( l  ?# D# C7 c
参考文献 / 412
. r  X, A' t, L6 k, K7 y/ M1 k# z" u4 n  f' f

, x; P( C. H$ m+ z9 V% m
想知道小甲鱼最近在做啥?请访问 -> 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-4-20 09:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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