鱼C论坛

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

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

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

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

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

x
T1CacgXhXXXXXXXXXX_!!0-item_pic.jpg_430x430q90.jpg

9 e$ n, _" U. [+ g/ `. w. s$ J8 M: h7 s3 j3 j0 I3 a; Q
书名:《C++反汇编与逆向分析技术揭秘》
; e5 u7 n- e/ R- w: _/ }作者:钱林松,赵海旭! Z8 D5 p* `% I+ i6 d: K: N, B+ B; i
出版社:机械工业出版社
( H, ?. x! p( Q# d" o1 `$ f出版年:2011年10月1日(第1版)0 a5 W7 ]* U% Y# I8 G
定价:69.00元
* g+ b* i+ |' L/ _1 h装帧:平装
  E* r4 D) X: v) V- z4 Z  @0 wISBN:9787111356332% s1 Q, A0 k2 W  C/ G6 R
, u( a/ ]% l+ m, a+ U
购买链接:. `* i! n8 s; b) f* r7 _# f6 X
0 \# T  w0 s* K, G1 i! q

- t% Y$ t( @$ ^3 Q4 A( h
亚马逊(Kindle)-> 传送门
+ t% f$ c7 {2 P* f1 S$ u7 C
+ ?0 D% u) s- E; x亚马逊 -> 传送门
1 S& r/ v$ W& c* Q2 p" \! ?% P  ]" M" A: ~$ b, V
当当网 -> 传送门
# l: Y  t8 ^5 l" L1 `& R
( R, }  p  z  G京东 -> 传送门
: A% l3 O9 C/ p
3 Y1 \* v  B4 ^4 T5 @- c- d0 ^天猫 -> 传送门' P0 v6 R+ \" i8 \) M! x0 @6 l

& j; q1 o( \: x% J$ w+ t
1 @& J' `3 V& J/ q9 O8 p内容简介:
" c0 n: q/ k( o* j3 v; f
. I/ n# t/ _5 v3 x6 O. S4 d! J* i

% s; z7 z% {9 F) }《C++反汇编与逆向分析技术揭秘》从介绍调试工具开始,到语言特性的分析,反汇编代码的重建等,再到逆向分析技术应用,内容逐步深入。软件分析技术重在方法,所以《C++反汇编与逆向分析技术揭秘》以启发方法为导向,逐步培养读者的分析和推理能力。全书共分为三个部分:第一部分 准备工作;第二部分 C++ 反汇编揭秘;第三部分 逆向分析技术应用,逐步引导读者,结合具体的应用掌握逆向分析的关键技术。$ t9 H) w! g4 b3 g' k3 N+ Y

2 w' l9 ?1 V" q& O/ c% x) M- d《C++反汇编与逆向分析技术揭秘》对所有软件安全领域工作者, 想了解 C++ 内部机制的中高级 C++ 程序员以及 对 Windows 底层技术感兴趣的技术人员来说,是一本很好的学习 C++ 反汇编与逆向分析技术的参考书。
! C+ m( h6 O- k. _' C1 O6 r
6 p9 J% `8 V" Q目录:: e) T$ b' E# S2 _3 [

8 W1 ^0 A* J4 w0 R) p5 o* A, `
% R. t; ^4 ?" J& ]' `) x5 M
前言6 _3 ?1 F! [, v) m7 }5 H7 x8 }
  L; u# u+ F( \  A
第一部分 准备工作; W6 e" i. C6 j) F) m0 x

( |; z, l, a8 C& c" z第1章 熟悉工作环境和相关工具 / 2
/ \& u# H  B3 a: H) ~2 r. F# Z9 E. n. t" z
1.1 调试工具Microsoft Visual C++ 6.0和OllyDBG / 2
4 @6 ~: b5 w6 \4 B  S  L! o3 h) Z1.2 反汇编静态分析工具IDA / 5
8 {! F( _5 M& G8 g6 _1.3 反汇编引擎的工作原理 / 11# L- r, N7 ~0 A- T2 y6 L+ b
1.4 本章小结 / 16
) h5 B$ V) N& d& F7 E0 h- e$ V
5 R5 z8 W& {1 n) l第二部分 C++反汇编揭秘! i- H) ]. ?$ d

% v, A; r+ V. N$ V第2章 基本数据类型的表现形式 / 18
4 |8 E7 t9 |  H  T3 s( E+ B4 L$ }2 n! R# a' f, [
2.1 整数类型 / 18- m0 A3 n8 E/ t/ z
2.1.1 无符号整数 / 18/ _- C  I: x1 t1 H
2.1.2 有符号整数 / 181 K8 f1 `  e( K5 U
2.2 浮点数类型 / 20* L+ R  b5 H( ^
2.2.1 浮点数的编码方式 / 21
. R  |; ~/ h: Y. B2.2.2 基本的浮点数指令 / 23
0 I: B# B$ E5 r" G: I- q! c2.3 字符和字符串 / 263 M. k5 |! z2 o5 Z( v! |* ~' {
2.3.1 字符的编码 / 27+ O* _7 k' u  o" ~. i
2.3.2 字符串的存储方式 / 28
( y# @+ |2 Y4 g: Q5 C3 h2.4 布尔类型 / 299 J, r: W: P: ~7 l
2.5 地址、指针和引用 / 29
6 d# r5 q5 D* s6 S- W6 b6 x% q2.5.1 指针和地址的区别 / 30/ T7 r+ ~3 t: R
2.5.2 各类型指针的工作方式 / 31
: b& O3 h5 m( q1 _) ?2.5.3 引用 / 34& V3 u7 [' L4 o2 \* P
2.6 常量 / 359 t3 ^( }$ b7 Y
2.6.1 常量的定义 / 367 h' ]. ~2 O5 i6 O- l7 j, {1 w) \
2.6.2 #define和const的区别 / 37
- T7 P* `& N+ |+ K2.7 本章小结 / 38
; ]2 ?; C. e! w. y6 p
) b# v; ~5 |% W) s第3章 认识启动函数,找到用户入口 / 40

& m) Q3 F9 C2 j9 K9 O
9 B  V! O4 d9 }$ g; G3.1 程序的真正入口 / 406 h) k: E; U! q' K$ P) \
3.2 了解VC++ 6.0的启动函数 / 402 D' v" [; _& ?* o) P5 {
3.3 main函数的识别 / 449 y7 ^: q- q7 x4 v3 \: [
3.4 本章小结 / 46
1 q2 r1 m& B' ^- q1 R. J3 g- q) z! x* g; J; t3 G& Q. N
第4章 观察各种表达式的求值过程 / 47, |6 ]7 N" Y- u! c

0 U2 V* s! @1 w4.1 算术运算和赋值 / 475 K! _8 J( V/ m
4.1.1 各种算术运算的工作形式 / 47+ Q8 T6 v* A0 W! T. _( n
4.1.2 算术结果溢出 / 828 ?1 n# C$ C' T; U% ~* v
4.1.3 自增和自减 / 83
; P6 C# @! t) R4.2 关系运算和逻辑运算 / 856 }/ m$ Z7 Z; U9 D5 {3 o
4.2.1 关系运算和条件跳转的对应 / 85: ?" j" t( J3 v# d
4.2.2 表达式短路 / 86
+ _* q, d! V9 z  M4.2.3 条件表达式 / 88- G0 h( z$ z, `; w
4.3 位运算 / 92+ g2 q, m9 T* {# t5 A
4.4 编译器使用的优化技巧 / 94
5 ]( a) c7 _( e4.4.1 流水线优化规则 / 97" R8 m) n7 W9 k% X
4.4.2 分支优化规则 / 101
: B  [" n1 E# b0 c2 ~4.4.3 高速缓存(cache)优化规则 / 101
% t$ q' H  i, ~" o! A" v7 C4.5 一次算法逆向之旅 / 102
" C  ^* @5 L& j* \4.6 本章小结 / 1094 t- l! b9 }9 {
; v* _- d+ f$ s4 ?1 S
第5章 流程控制语句的识别 / 110. Y. z# R# c/ c

! H% P2 ]6 r# F  P. i5.1 if语句 / 110
: T2 c  |5 }0 i3 r4 Q5.2 if…else…语句 / 112$ n4 |  J( N: R7 w0 B0 f
5.3 用if构成的多分支流程 / 115  O9 B/ r3 p9 }: A, P1 l$ _
5.4 switch的真相 / 119
8 W3 ?, U* b8 O5.5 难以构成跳转表的switch / 128
3 M( r$ W) ~6 y/ |5.6 降低判定树的高度 / 133
3 A1 G3 b( d& `5.7 do/while/for的比较 / 1377 P3 @! m. E. O3 h" Q* H! @4 }
5.8 编译器对循环结构的优化 / 143
4 d& s& T) U* ?6 q! w3 }5.9 本章小结 / 148
1 B0 s9 _. o1 D# N( U+ p( o5 S5 x2 W, k( }1 S" i, h& x
第6章 函数的工作原理 / 149
& e; V% r3 ?0 \8 d/ a- }* ]" Y: U
- r1 }. S9 u) _5 n" }1 \7 H  Y4 [6.1 栈帧的形成和关闭 / 1493 J/ g7 ]; h$ A3 f* {
6.2 各种调用方式的考察 / 1528 l* r0 t: z- J  Z5 B1 c4 u- {2 Z$ Q
6.3 使用ebp或esp寻址 / 155
3 A) |7 a" H( U6.4 函数的参数 / 158
. Z2 C# E$ w& {* `/ s" Q) `# q5 [2 ^8 U6.5 函数的返回值 / 160( R3 u  i7 a7 \# I$ W0 C& i0 x
6.6 回顾 / 163
0 ^5 i5 n; o- Z! Q. G( s) H) V6.7 本章小结 / 165
7 D( Q/ ~3 e$ Y# E: s6 J  L+ V+ j& y' T1 j8 i% K
第7章 变量在内存中的位置和访问方式 / 166
/ c4 i% p3 H7 ^% S' _
) o/ m1 w/ h, p3 M( H2 F$ H# @7.1 全局变量和局部变量的区别 / 166
4 Z4 c; G! F$ ~% \, }6 H7.2 局部静态变量的工作方式 / 169
# x. u; e! W) `: T! ~4 K5 N! j' j7.3 堆变量 / 1733 C; D. c3 K' ~! Y9 f
7.4 本章小结 / 177
; t$ z; g# u! {- Y
$ ~& a" \, ?5 ~) N0 H7 o0 `1 ?, }第8章 数组和指针的寻址 / 1787 s, y# n/ A& L) Y# O3 K

1 v( j; d9 L1 {2 |3 E( k, ?8.1 数组在函数内 / 178: Z, }+ Q/ D) h) b* U
8.2 数组作为参数 / 181
# c9 q+ D2 e: i; E8.3 数组作为返回值 / 185! ^8 b) w9 U& ]% S/ n; \0 _0 H( ?2 K+ N
8.4 下标寻址和指针寻址 / 189
( a" [( w0 |& D7 F- G/ [1 C8.5 多维数组 / 193
8 N/ U! f7 ?3 v4 P1 o8.6 存放指针类型数据的数组 / 199
& y- ?& p; L, ^% }7 G# |8 M8.7 指向数组的指针变量 / 201( k6 ^  |. D* N& W# |
8.8 函数指针 / 204
0 g3 c; c% {6 o% n! `( h5 Y: K* d8.9 本章小结 / 206: D$ N" u3 V8 [: X+ }. G$ K

$ ~1 J" o! P1 S0 E第9章 结构体和类 / 207
: G' l( z8 L( z7 m$ ~' t
& u9 U5 @( o  I* t0 ]! ?4 A3 q9.1 对象的内存布局 / 207
+ g! S' T. B- ]6 T9.2 this指针 / 212
: G, {% B+ |% K' f) p! j5 P9.3 静态数据成员 / 2176 D! V, e* p5 `; b. z
9.4 对象作为函数参数 / 2194 O7 N1 a# Z# ]6 m; \
9.5 对象作为返回值 / 226
% Z9 L+ x* P1 u4 i* a9.6 本章小结 / 231
! c5 n4 P$ K7 H
$ q" [* x" M, A第10章 关于构造函数和析构函数 / 2336 a" R4 O* E: F5 {* A7 C
: m0 \; [" R* Y; [& ^+ {
10.1 构造函数的出现时机 / 233  E2 L4 Q6 f9 \/ N
10.2 每个对象都有默认的构造函数吗 / 243. A. x& U% S5 ]9 x
10.3 析构函数的出现时机 / 245
( B& u; j$ a( V, V9 P* w2 `& l  v10.4 本章小结 / 254- C0 }: C5 c$ T) \: G: T/ `
! x" z- T5 I8 N& F7 Q6 f
第11章 关于虚函数 / 256! I$ ]# d/ N5 k

* O4 L% W/ x" q' E; f11.1 虚函数的机制 / 2562 @+ j. U' ]5 l, y+ V; L8 g
11.2 虚函数的识别 / 261
) B8 W8 f9 H% w% w  j  @11.3 本章小结 / 268
' O3 x$ {5 |! y$ B+ }3 W
1 v; M. o) s! g8 m/ U+ r; i* q第12章 从内存角度看继承和多重继承 / 269) }$ ?* H4 H; D# W7 {
" [: J# G. `- ~  ^: j
12.1 识别类和类之间的关系 / 270* A& P0 h+ C/ z* T+ U5 m# T- I- w
12.2 多重继承 / 2929 [/ d% r$ s! w0 G8 v
12.3 虚基类 / 298: R& S2 u. ~7 c, v* b4 u9 c
12.4 菱形继承 / 299+ x, u3 n. k* p, E; u6 B
12.5 本章小结 / 307
9 f0 T3 P" ~: b' |8 ]: \
: A3 U- L9 f# y7 o3 L( m9 a第13章 异常处理 / 308
3 A( E  g+ _( [. f; e* S6 T8 M
$ k  P/ `% N2 z# U( p1 o) X13.1 异常处理的相关知识 / 308
  [5 ^( \( E/ U" W* e! M( J9 l! }13.2 异常类型为基本数据类型的处理流程 / 314" S7 F) V$ ]( O8 S3 J
13.3 异常类型为对象的处理流程 / 323
5 U$ X% R; Y  V! Q& N, F13.4 识别异常处理 / 329
( n# ~2 y5 ]. o13.5 本章小结 / 341
5 Q# F2 C9 p) N, D! _! \: z! p/ d$ g* [5 X& Z: ^
第三部分 逆向分析技术应用
1 c; D2 a3 r# l; k, y. @
5 l# t. S0 ^$ [; D1 X第14章 PEiD的工作原理分析 / 344
  j$ s0 u2 t3 f
. ~/ F; W! [0 T7 a8 b14.1 开发环境的识别 / 344
8 N0 S0 H( e* \0 Y6 o* \) J. P# b- A14.2 开发环境的伪造 / 353
# g; L9 ]; d6 O' x5 `# P- [14.3 本章小结 / 356
, [5 r2 y2 [# B. t  \; c
& _1 a4 N5 @0 d  f" ~1 R* ^第15章 “熊猫烧香”病毒逆向分析 / 3571 `. E4 K1 `5 j2 x) j

/ @8 |" D0 M, P+ s6 x! K15.1 调试环境配置 / 3576 [, \/ v+ t6 Q$ p  K* d
15.2 病毒程序初步分析 / 358) f9 m* \1 h. x
15.3“熊猫烧香”的启动过程分析 / 360( Z% T4 T+ T  F; n) W9 n* d
15.4“熊猫烧香”的自我保护分析 / 366" d: j2 B9 |5 ~6 B: u: ^$ `, N+ Q
15.5“熊猫烧香”的感染过程分析 / 369
0 p( s( z8 G7 x1 Z. v2 Q15.6 本章小结 / 379. E8 L$ F% \9 R4 E: n1 f
2 ~6 [1 I2 o+ F. r3 Z9 p2 r4 T5 A
第16章 调试器OllyDBG的工作原理分析 / 380
* \- N+ A4 b+ Y/ v# }8 r
6 ^  g5 _- O* T8 r- @3 ]# I16.1 INT3断点 / 380
  v; k% ~1 f7 B$ v16.2 内存断点 / 3859 n9 E+ @1 x/ U' @6 w5 O/ f7 v
16.3 硬件断点 / 3907 f: ^7 y; }5 S+ l; f" }
16.4 异常处理机制 / 396% }7 v9 z( A7 m. E9 P" @
16.5 加载调试程序 / 4022 r& k$ N' d. M3 V# w1 S0 x9 S3 c
16.6 本章小结 / 406
) X4 W% F( c5 I5 C( c, Z
8 V$ f5 g: h+ K% w( I; W8 M第17章 反汇编代码的重建与编译 / 4071 D7 l/ }/ o; K3 }9 H% K
/ h+ W! ^3 [: {! t  V5 g6 C
17.1 重建反汇编代码 / 407
, e& B! s* s) i  d8 U/ T. p, r8 @2 c17.2 编译重建后的反汇编代码 / 410
4 ]& e- [" i; b* J8 Z3 P17.3 本章小结 / 411. S0 v' m, O% U
+ F, h0 W: F' h" g$ d! Q$ r
参考文献 / 412# ?+ Z; I8 ^4 S, K2 H3 i' N1 A. t

* l5 I" v2 ^$ _- C* I
# V4 j9 P9 n" K# z+ G
想知道小甲鱼最近在做啥?请访问 -> 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 20:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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