鱼C论坛

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

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

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

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

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

x
T1CacgXhXXXXXXXXXX_!!0-item_pic.jpg_430x430q90.jpg
! X: L1 \, J; ]# I
4 I3 Z4 G$ J( @( R, [
书名:《C++反汇编与逆向分析技术揭秘》
+ a8 j* ?" @0 n) R8 i作者:钱林松,赵海旭
: T1 z6 {# }0 b& y出版社:机械工业出版社! l; b- C: J: j' r2 [( w# y7 M
出版年:2011年10月1日(第1版)
& o6 E1 y% y& D8 R/ r1 X定价:69.00元" Q6 g# \6 P8 Y6 Z# i, }
装帧:平装& q8 d; H$ Y/ H: x+ m- l
ISBN:9787111356332
& R3 l' @; o* Q6 N* A5 K6 F* E" S5 k# S2 K
购买链接:& y/ h& A% w8 B3 N5 h8 v

- ^: M" q' X: k, j& g, L

5 J$ z/ |- D. M8 i亚马逊(Kindle)-> 传送门
) _; Y/ R" S6 _0 s+ n' \
9 u3 o4 ]0 P, Y  R1 M亚马逊 -> 传送门
: g% H  C! \: r& M* ?# X6 O+ [
( O5 b- o4 [8 o; n1 A当当网 -> 传送门
$ l" z" i( \& X4 a2 u+ Y/ h0 I0 r% |! S1 u1 `+ o; ]
京东 -> 传送门6 l# T, \1 S/ `  T0 O

: o7 n* @8 D& c7 U: r天猫 -> 传送门
9 t- Y- j) f) D" _( C
  S6 m6 G; W7 K) p4 P. u) T  {  M# s2 V! |0 B0 M+ K# g( z
内容简介:% M, B  P' C: H/ Q* `
  w1 Z( B6 h- }* d

( y. X6 W' T4 R' @# L9 v& N" X
《C++反汇编与逆向分析技术揭秘》从介绍调试工具开始,到语言特性的分析,反汇编代码的重建等,再到逆向分析技术应用,内容逐步深入。软件分析技术重在方法,所以《C++反汇编与逆向分析技术揭秘》以启发方法为导向,逐步培养读者的分析和推理能力。全书共分为三个部分:第一部分 准备工作;第二部分 C++ 反汇编揭秘;第三部分 逆向分析技术应用,逐步引导读者,结合具体的应用掌握逆向分析的关键技术。
# M* m3 r. _  b; M9 s/ t3 O% z& i) O
《C++反汇编与逆向分析技术揭秘》对所有软件安全领域工作者, 想了解 C++ 内部机制的中高级 C++ 程序员以及 对 Windows 底层技术感兴趣的技术人员来说,是一本很好的学习 C++ 反汇编与逆向分析技术的参考书。2 T1 _) P  l; y* \% S
3 ^1 ?8 a/ J; Y
目录:8 S$ F5 m! Q& W. ~" r6 m. \
8 f3 c( x4 C1 T

- R# V" g$ f7 D4 e  b3 u" @+ g. q
前言
+ ~2 q1 X) L# N6 Y3 \
7 F9 _8 `- y0 u/ p5 M4 U+ C6 Z: \第一部分 准备工作; j( _7 |8 R2 d* i

5 L$ l! N( Z  }( V第1章 熟悉工作环境和相关工具 / 2
4 J1 I2 p5 x$ ]7 F, z# j/ j6 j
" `! F* y8 y. t8 C& E$ y2 R, ?1.1 调试工具Microsoft Visual C++ 6.0和OllyDBG / 29 {3 o6 x! p  T% g) [9 w( u% S# M
1.2 反汇编静态分析工具IDA / 5
' j* D) x' i* l: B( u) `1.3 反汇编引擎的工作原理 / 11: c  @9 c5 Y  J+ D3 v- v& q2 u- Y
1.4 本章小结 / 16
* x6 b1 J6 F: z4 f9 ^* E, s- y4 n; U# W# R( R* X" E/ P  h" I& m# Q
第二部分 C++反汇编揭秘: R3 a# E- V% T9 j) v6 V, }8 b

' s" M9 N; D# v0 D第2章 基本数据类型的表现形式 / 18
" _! ~4 f, d7 U" S- K' d/ B
3 L6 A' M6 h# t1 A' M* M# G2.1 整数类型 / 18/ z. D. m. T8 V3 h2 i% r
2.1.1 无符号整数 / 18
5 t' x7 z8 B6 d2.1.2 有符号整数 / 18
' y9 E: T1 n# t2.2 浮点数类型 / 20
; u9 Y! X& a9 N7 @3 A5 A2 U; F2.2.1 浮点数的编码方式 / 21
; I+ A+ g: ^( I3 b( O2.2.2 基本的浮点数指令 / 237 M2 A! S/ R6 B* _
2.3 字符和字符串 / 26
( {" h4 g4 |& e2.3.1 字符的编码 / 271 V. l7 }! k. Q4 D
2.3.2 字符串的存储方式 / 284 @! v% w( b; g2 E( a* |
2.4 布尔类型 / 29+ a' V+ \: X3 O  ^( y. ?
2.5 地址、指针和引用 / 290 _# ?9 X2 ]& o$ A- ?% V
2.5.1 指针和地址的区别 / 30
- O" Z2 {1 E8 h5 d2.5.2 各类型指针的工作方式 / 31
. r' J) q! [  u4 K" f, m% ^+ M2.5.3 引用 / 34
$ q. l+ k4 m. j& a& A2.6 常量 / 35
8 a- W, O# m; ~& d+ R# I2.6.1 常量的定义 / 36/ R" h4 G* ^- m% m
2.6.2 #define和const的区别 / 37
) O" I3 p4 L# L4 u/ ^2.7 本章小结 / 38
3 M* S: e4 g, N9 e
8 B; O; b3 |3 v' j  O第3章 认识启动函数,找到用户入口 / 40
+ R  [" e/ F* H0 a  C5 I
% d; t$ g) u8 u; J# M
3.1 程序的真正入口 / 40* w3 y9 }$ K( m
3.2 了解VC++ 6.0的启动函数 / 40) \: ?+ c/ V0 O+ |  ~) T4 y2 d
3.3 main函数的识别 / 44
5 r- D, }7 c" d( u' B* q3.4 本章小结 / 46  e3 E$ n" w! Q
& r8 T0 d! ^4 S' v5 ~
第4章 观察各种表达式的求值过程 / 47
3 E$ y( B8 h  ?5 r. f1 O1 }7 R8 ^+ f3 I0 a
4.1 算术运算和赋值 / 47
. x: v; s4 v5 `& h9 g( r; C4.1.1 各种算术运算的工作形式 / 47
1 e0 \. Z" ?' o( l4.1.2 算术结果溢出 / 82
8 i+ A' d6 Z4 u2 Y: B2 {% i4.1.3 自增和自减 / 83
3 S5 p# O. {/ }2 a  q( T' m4.2 关系运算和逻辑运算 / 85
# C& Y% ~9 Z$ x: z  \4.2.1 关系运算和条件跳转的对应 / 85) h/ ]) B. g9 q) q/ e( w! a
4.2.2 表达式短路 / 86" E6 p* C0 U: X
4.2.3 条件表达式 / 88
  I& s% |  w- J% O5 l4.3 位运算 / 92
5 ~- ^9 V0 E1 K* D1 i4.4 编译器使用的优化技巧 / 94- ]& B) ~& \% i+ x/ Z) T
4.4.1 流水线优化规则 / 97
- `* S- S& |; D9 I9 Y  \) w4.4.2 分支优化规则 / 101
, E8 Z0 y/ Z2 z7 W8 F4.4.3 高速缓存(cache)优化规则 / 101
. j( n% B% A- Y& D4 u+ Z4.5 一次算法逆向之旅 / 102
& B3 X  k7 B+ I" S- N4.6 本章小结 / 1096 X  X0 n& W5 d; `

/ j6 P5 @: i8 i/ _第5章 流程控制语句的识别 / 110
- [: A0 @( s0 w# W
' g; B, T9 i' y& l; C$ b% z$ R7 r5.1 if语句 / 110
% B2 j- X8 K! V4 v2 a5.2 if…else…语句 / 112
( ?. N1 x; S) [, j# G5.3 用if构成的多分支流程 / 115, S; p8 i9 ]4 x) i0 n/ X: X
5.4 switch的真相 / 1198 b; ?, ]) v/ j/ {/ ]
5.5 难以构成跳转表的switch / 128! D: L8 C  H: {& i, q
5.6 降低判定树的高度 / 133' A" A8 a# W: Z. C* C: h
5.7 do/while/for的比较 / 137: P1 {% S2 S0 R5 `7 b
5.8 编译器对循环结构的优化 / 143$ Y) O9 m' w! f; U
5.9 本章小结 / 1488 M1 \4 m4 ~, l2 y6 q# W% @
5 a4 @1 a+ ?$ n9 `! `7 f0 _
第6章 函数的工作原理 / 149
; }* a+ t7 ~; k  g7 c# Z
3 ~* z) H& F( r6 b3 [6.1 栈帧的形成和关闭 / 149
/ O2 k1 q* H' K3 c* a/ Z- m; F6.2 各种调用方式的考察 / 1527 d) O9 D9 ^. l- U# z1 F% E
6.3 使用ebp或esp寻址 / 155
  A- m# x! f7 S; W; Y6.4 函数的参数 / 1583 \; z8 P* S( u0 \1 d' Q1 q
6.5 函数的返回值 / 1609 M& v( p. W" n4 O! i. n& ?/ c; y3 }
6.6 回顾 / 163
) T% d8 M2 J$ _) z* N6 V/ Q6.7 本章小结 / 1651 ?) p3 {1 f( Z8 x6 m/ C& B9 u. d
& i+ q8 F! \; }. R
第7章 变量在内存中的位置和访问方式 / 1667 }9 w2 C$ e6 _5 f

: Y9 h. W6 ~) U3 a& M7.1 全局变量和局部变量的区别 / 1663 V1 p6 [9 J# a6 {* k+ _' c/ j* U* ?! E6 O
7.2 局部静态变量的工作方式 / 169
, _* e; m; v! U2 _. f7.3 堆变量 / 1732 A* U5 Y$ w6 e9 A& W1 E
7.4 本章小结 / 177& ]: v, D% x4 a, @' a# U

! @# W6 h. d- v$ i第8章 数组和指针的寻址 / 178
# a1 ]1 i0 e4 ^! J
) a- W0 V& |! U8 R9 Q/ L8.1 数组在函数内 / 178
0 X5 \5 p& I. O& J8.2 数组作为参数 / 181" H; j8 |' Z" h3 \. {2 z& r! J
8.3 数组作为返回值 / 1858 ]$ J5 s6 H8 ]' ~
8.4 下标寻址和指针寻址 / 189
1 M: R: E; X1 S7 y6 Z9 ^2 H8.5 多维数组 / 1936 f! H' k( A: T9 d
8.6 存放指针类型数据的数组 / 199' A0 A& m: R6 i6 D/ M, G2 x
8.7 指向数组的指针变量 / 201
$ f& ^) n7 l) x) _5 n8.8 函数指针 / 204
- }# e8 K- ]6 B( A+ g, L8.9 本章小结 / 206
$ Y" [1 R  y: v) X( ^, I& o7 B$ e, F, B; P  k/ x
第9章 结构体和类 / 207( j0 Q6 w6 z: c4 a

3 v+ f# \% G$ b5 t9.1 对象的内存布局 / 207; r  E( X( l) n& P8 B! {( d( ?7 E
9.2 this指针 / 212
& G* f+ p/ |5 J& K3 O9.3 静态数据成员 / 217
5 p8 q$ w  Z. s. q1 E2 m, W) I( ^9.4 对象作为函数参数 / 219
8 E2 R0 I! d: I/ T9.5 对象作为返回值 / 226
6 E; K  ^' @# `! D( Q9.6 本章小结 / 231
% {& T2 {6 N- D2 l+ o) N* o& b9 a- c
3 _( f" A- y) o! P4 G- D* u第10章 关于构造函数和析构函数 / 233
* x1 t2 L9 R  T7 U' s0 n6 y" a9 [8 \" ^! b2 h! z+ h" \  k5 z2 _' {$ e7 f6 s  P
10.1 构造函数的出现时机 / 233
1 S" e7 X$ M+ z; D! R0 w10.2 每个对象都有默认的构造函数吗 / 243& x# S+ v$ ~0 L, |; J# n
10.3 析构函数的出现时机 / 2459 k7 ?% B5 Y' x+ O. P) Y! s) P6 j
10.4 本章小结 / 254
8 Q4 |0 J& i$ q8 }/ d
% b# N% E4 E. ^$ ?/ F第11章 关于虚函数 / 256" K/ q/ f6 ~2 t7 N

. M7 U2 Z9 ?, A/ T11.1 虚函数的机制 / 256
: M* c. ^9 C% z& x9 I11.2 虚函数的识别 / 261' R4 M0 \3 U& q0 s/ d) I' }* Z
11.3 本章小结 / 268
+ G" A2 O6 M1 X0 d! `, ~3 O) r; ?
+ m+ k, H$ M5 D! N5 ^" z% f) u, A第12章 从内存角度看继承和多重继承 / 269
9 y8 g! W$ o$ p/ _4 D( m1 |" X& ?, ]4 n  |& J0 i7 d
12.1 识别类和类之间的关系 / 270
/ {- ~& u6 l% R( o; ~  l12.2 多重继承 / 292
* N/ i- g" o' }' M5 @' V12.3 虚基类 / 298! V* K2 l$ ]5 n. ^* P( G
12.4 菱形继承 / 2990 G; D) P8 ^. I: j" a7 t( Y+ v2 h
12.5 本章小结 / 307
9 N5 p$ q3 t* M. w4 \
  b- ]5 y8 {( N- {第13章 异常处理 / 308
% o$ L/ a5 L3 v  e" }. O9 q) ]. ^7 X* Z# P1 {; d4 p" J" j
13.1 异常处理的相关知识 / 308" ^) _& Z, T8 H2 x$ f4 F7 ^# D7 s, }
13.2 异常类型为基本数据类型的处理流程 / 3145 F' Z) z& b! x  ?8 I
13.3 异常类型为对象的处理流程 / 323
+ V; X( o9 g2 _, \+ q5 O13.4 识别异常处理 / 329
, g+ U; |6 k' U. b13.5 本章小结 / 341
" p- i( }. A) `' T- J# A# y/ B2 y- `' B" K
第三部分 逆向分析技术应用3 H9 U8 v% ]0 Q) S
; I" y  [  [0 b( l. D5 S- V$ z
第14章 PEiD的工作原理分析 / 344( i' r4 {" T, S1 \& R5 ?

% g; Q1 T/ l" l" W14.1 开发环境的识别 / 3447 t' f4 Y0 N( b: L/ [
14.2 开发环境的伪造 / 3535 {: Q7 Q: j7 a1 m
14.3 本章小结 / 356
. r, s6 F5 q7 D$ H  x) L% u: p
& P1 k& Z: M. g3 k8 D7 q  {7 G, o第15章 “熊猫烧香”病毒逆向分析 / 357. Q2 T7 i7 x) C) P& U2 ~; I2 ?
) H6 @; a7 q& Y6 T
15.1 调试环境配置 / 357
* [2 A& J2 e3 T& O) V9 i15.2 病毒程序初步分析 / 358
: W" U2 W3 a* N6 d/ E15.3“熊猫烧香”的启动过程分析 / 360
: n: A6 M3 k, R" I! ~15.4“熊猫烧香”的自我保护分析 / 366
. C% q. |6 O0 k* W15.5“熊猫烧香”的感染过程分析 / 369
" N# _5 o& h2 K0 S+ `# H15.6 本章小结 / 379% \8 D, o1 \: W" c1 f
% f) t: l1 E$ s2 F) b' x
第16章 调试器OllyDBG的工作原理分析 / 380
, C2 e' S- }5 k7 n* L1 f
4 H7 }0 w2 a. ^  I$ D16.1 INT3断点 / 380
7 X/ f" m7 }6 m16.2 内存断点 / 385
- F) l- z0 ?* l16.3 硬件断点 / 3902 b9 `" w6 S! G6 G3 W5 h' h5 T
16.4 异常处理机制 / 396
6 r, }, `  P9 c$ A- H! e; M. Y16.5 加载调试程序 / 402
: H9 [( c: H, [2 \16.6 本章小结 / 406
$ j+ y4 q: v( x- ~# d6 l" M% ^! Z- i# I3 h$ q/ n$ t: @
第17章 反汇编代码的重建与编译 / 407
1 ]; u! v, [* x: t& _& P; @$ W" }7 h# n/ k7 p, _6 x5 m
17.1 重建反汇编代码 / 407
, m* r. p3 a  i4 Q. f1 i+ D' _17.2 编译重建后的反汇编代码 / 410$ o( K$ o% V, w' k' ]
17.3 本章小结 / 411
# V. \! y6 Y. `5 f+ o) _7 C" Z$ q3 W
参考文献 / 412! ~- c4 z: }* r% B' h' }  H

, M1 M* t& o& d& c* @4 a  Z0 g& J- w9 N4 o6 D! ?4 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 11:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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