鱼C论坛

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

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

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

马上注册加入鱼C,享用更多服务吧^_^

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

x
T1CacgXhXXXXXXXXXX_!!0-item_pic.jpg_430x430q90.jpg

7 t3 j7 a0 ]+ E6 V- D. |0 q+ l8 W% ?. v" U  y
书名:《C++反汇编与逆向分析技术揭秘》
: W* O- u& v& D9 B( k' ~. g作者:钱林松,赵海旭
- X# I4 J: [6 g2 D$ c/ V9 X出版社:机械工业出版社9 c, v& [) J5 t& b9 o8 I
出版年:2011年10月1日(第1版)
' B& B; y) `/ Z) b5 Q$ ]定价:69.00元8 {5 j" P/ W4 O
装帧:平装" p; N; b! M" [& n' v
ISBN:97871113563322 Z4 W9 b) P" |0 x+ S
7 T. r8 {- S: V$ X
购买链接:
2 ?. i, V  }0 L! h# [+ x" R) @% t( C5 Y8 y+ ^# W3 c

5 t  Q$ C$ J) ]( a0 O. G) @7 p
亚马逊(Kindle)-> 传送门0 ^% ]  ?# `7 k5 t+ G, u0 u3 k
' }# i: n' Y( Q' @" L
亚马逊 -> 传送门
6 q+ y& F. N" f& U2 W
; o) E( V' \- [# d  j, \9 k, l' Q当当网 -> 传送门
% l  T# N3 L4 i9 g
& E; |: n1 E( F9 y6 H. d, m京东 -> 传送门
. t, L, E4 i- ?9 |) d* i+ s/ K) i  Q) {3 A
天猫 -> 传送门& _. D$ ^' ?; q9 W
$ L6 v( b  e0 Z4 u8 ?7 W3 y
/ Y6 ~7 f/ y/ @# g5 T3 Q
内容简介:
1 C! T, o& H# ?( Y1 b
; J5 o1 ~$ C6 s- J# M  A

( ]. `2 ?+ t8 ~/ `; Y# J" n《C++反汇编与逆向分析技术揭秘》从介绍调试工具开始,到语言特性的分析,反汇编代码的重建等,再到逆向分析技术应用,内容逐步深入。软件分析技术重在方法,所以《C++反汇编与逆向分析技术揭秘》以启发方法为导向,逐步培养读者的分析和推理能力。全书共分为三个部分:第一部分 准备工作;第二部分 C++ 反汇编揭秘;第三部分 逆向分析技术应用,逐步引导读者,结合具体的应用掌握逆向分析的关键技术。
% r* q0 N, c" ?; S6 {1 V2 t! p! d  }- v/ K9 I4 f$ s1 l" {& I6 a
《C++反汇编与逆向分析技术揭秘》对所有软件安全领域工作者, 想了解 C++ 内部机制的中高级 C++ 程序员以及 对 Windows 底层技术感兴趣的技术人员来说,是一本很好的学习 C++ 反汇编与逆向分析技术的参考书。5 w9 q% y. a; j* m
+ C+ c: v! v# h4 b, I0 O9 O+ C
目录:
, B* R% S  I& S7 f! a7 b2 l% P( T- x# u( @


7 `$ D0 f1 Y9 i前言
5 M& K1 G+ X. l* g5 r+ n* s2 N0 q; ]5 w6 R5 \" c
第一部分 准备工作7 Q5 _" i" }+ B

! |! v7 a( Z, C# |; ?% _( ^第1章 熟悉工作环境和相关工具 / 2
/ w1 H; V  f. i9 E8 Q
7 Y& o5 U7 x' u2 q1 r1.1 调试工具Microsoft Visual C++ 6.0和OllyDBG / 2% h/ S4 C3 ]  N9 ~' U) o. F2 B. v% D
1.2 反汇编静态分析工具IDA / 5
, O; Y+ T9 A1 y0 S/ E$ J1.3 反汇编引擎的工作原理 / 110 K# j: T5 f3 U, q, @8 K
1.4 本章小结 / 16
$ a" I4 K, P2 N4 O' i1 P2 ~, T! ?( m" O
第二部分 C++反汇编揭秘3 {5 i) [! b/ e) I4 G2 b4 h3 k6 @' U
' F" K! m& V* v# I
第2章 基本数据类型的表现形式 / 18
3 G, J5 g4 D6 a) Q; P8 I' _; C' ~1 v( C! D( K8 d- Q
2.1 整数类型 / 18+ Z8 D* E+ c- p* c+ e
2.1.1 无符号整数 / 18
' H& U" e# O9 b3 W# _# ]6 z- d7 {2.1.2 有符号整数 / 18
1 i- \5 x& j& O: A. g2.2 浮点数类型 / 20
% t# D4 {9 _2 m& N2.2.1 浮点数的编码方式 / 210 S# C! N$ g2 K$ I1 m
2.2.2 基本的浮点数指令 / 23
' z8 c; u- P+ S0 A& i0 ]2.3 字符和字符串 / 266 }) B: h$ }3 h1 i* _4 Q) Q( h
2.3.1 字符的编码 / 276 u6 k! n, t1 T0 x" Y, k
2.3.2 字符串的存储方式 / 28
4 d, e& x! \$ S5 O( ^  @0 b2.4 布尔类型 / 29
; [! \5 v# {" X# h: _- j2.5 地址、指针和引用 / 291 C1 z) W% _% B6 }
2.5.1 指针和地址的区别 / 30- O( v* {0 v% }5 a
2.5.2 各类型指针的工作方式 / 31
' M! ?2 C1 N! X* F3 V! C, R4 ^5 ^2.5.3 引用 / 34
6 ]& }) N1 H, i6 [: u: e/ R2.6 常量 / 357 @7 o) c1 i& z5 T' Z
2.6.1 常量的定义 / 36  J5 Z& q, j+ o5 X8 a4 I2 l
2.6.2 #define和const的区别 / 377 Y: Z. {$ G/ |! f* L+ S
2.7 本章小结 / 38
* x2 E! t5 E3 i: \
. C1 {+ u3 N3 T/ H第3章 认识启动函数,找到用户入口 / 40

" A, B* a  x* R$ E2 G' P& l$ L+ F: m* t: Y9 M" q0 U
3.1 程序的真正入口 / 40  _, }/ r) ~$ @0 w$ U# z
3.2 了解VC++ 6.0的启动函数 / 40
' u% t9 k3 v) r8 ]! v9 L3 n3.3 main函数的识别 / 44
  M2 T! \  z  A3 |+ r3.4 本章小结 / 465 G* t# o# f, S4 w/ ^

6 @  U1 a' b! v$ H! ~8 j第4章 观察各种表达式的求值过程 / 47
; W2 s4 q/ i! ~; p
+ Q9 Q  s) j& N& ^5 N5 T4.1 算术运算和赋值 / 47
7 y0 x4 G( v: O* A/ B* ?/ u4.1.1 各种算术运算的工作形式 / 47. m! I' E9 Z3 T0 u) v& k5 r
4.1.2 算术结果溢出 / 82" ^/ j  ~" [- \2 {2 F3 ]- s6 d
4.1.3 自增和自减 / 83
5 B! i0 @% @6 L4.2 关系运算和逻辑运算 / 85$ O# u2 s3 g6 J2 w& c; T8 a, ^
4.2.1 关系运算和条件跳转的对应 / 85
2 _$ B- y: K* D3 L4.2.2 表达式短路 / 860 n* a# Z7 Q% d1 J
4.2.3 条件表达式 / 88
* o: w- y; d. A: j8 n% l8 j4.3 位运算 / 920 v* b" G; ^. i3 B% F2 n% g8 V
4.4 编译器使用的优化技巧 / 94
7 t1 K7 P' D+ G. X4.4.1 流水线优化规则 / 97
4 A: W, h  T0 R* p1 Y+ J+ {: U& e& V4.4.2 分支优化规则 / 1014 }( L4 R" C0 j3 |/ \2 @8 k9 b' g
4.4.3 高速缓存(cache)优化规则 / 101) ]* b5 {. ?0 N& n
4.5 一次算法逆向之旅 / 102
% K6 t9 }& I% A+ m! D4.6 本章小结 / 109# b( \/ K  h# B& ~5 w6 e4 f9 l
0 D4 ]+ c1 C0 \! X4 f9 d! A
第5章 流程控制语句的识别 / 110
' x& i7 _9 j8 Q
: u) I+ K& f+ M# `; j6 G5.1 if语句 / 110
# l4 H# A" x3 {% g- K5.2 if…else…语句 / 112- Z! P, O1 y! l. _$ B. I3 [2 g
5.3 用if构成的多分支流程 / 1159 O3 w6 U; P+ T* H  @9 P9 p& M
5.4 switch的真相 / 119
. Y% r9 n% Z# C! w7 Z+ s8 `& B5.5 难以构成跳转表的switch / 1285 [8 P: E$ Z/ H' @6 M7 a4 T
5.6 降低判定树的高度 / 133) w# W8 V. l! d  ?$ N/ D7 r6 s
5.7 do/while/for的比较 / 1377 r$ J% r1 a* |
5.8 编译器对循环结构的优化 / 143( A+ h/ s4 }# F, f0 U/ Z7 ~9 \
5.9 本章小结 / 148& x- o9 d0 d! d. @" t* R4 f4 s; y; K
+ y3 D# F4 o" T9 e  `0 t
第6章 函数的工作原理 / 149
4 J5 ^* y! c) |( p" j% g1 j+ r/ e9 _2 h( C
6.1 栈帧的形成和关闭 / 149) ^; L6 j( h, i5 s( \1 ]/ J9 K
6.2 各种调用方式的考察 / 152
+ k4 Q; D% h2 m. S( |6.3 使用ebp或esp寻址 / 155( h, y# k  s% \% a3 f. b
6.4 函数的参数 / 158
6 ?1 N+ |3 ]+ O& W  M6.5 函数的返回值 / 160
3 H1 {6 h# B* [9 c6 k/ e6.6 回顾 / 163* \7 h& @. @) ^, H0 @
6.7 本章小结 / 165$ d; G7 L% u6 k" g6 I1 g- L, ]

+ w2 X. @; _7 x6 @$ l( B第7章 变量在内存中的位置和访问方式 / 166; h+ l( ?9 Y* Y$ X

/ `+ z9 V( h9 {# D7.1 全局变量和局部变量的区别 / 166! R) C) C0 f& X& i% t6 x+ V
7.2 局部静态变量的工作方式 / 169
# c7 ~* V/ K8 x% J7.3 堆变量 / 173
: W. e: }8 R# h6 c# y# u7.4 本章小结 / 177
" C+ O6 F$ L' L6 {  l! d$ E+ ?8 D  S$ @; ]& |& j, g$ \9 o1 F
第8章 数组和指针的寻址 / 1783 T  K2 F, M/ r" H+ w* N1 {7 Q! _* A
  l7 I  ?6 s5 k- U7 [; h
8.1 数组在函数内 / 178
( ?2 y; W& a) j1 U' V8.2 数组作为参数 / 181
" J3 ^3 ^( f8 |( I, L, E1 l0 p8.3 数组作为返回值 / 1858 L" \# Z+ C) F6 _/ Z7 s# N/ h
8.4 下标寻址和指针寻址 / 189
" s+ _+ b* N0 k* ^5 h8.5 多维数组 / 193
/ K- x* b' O$ i8.6 存放指针类型数据的数组 / 199" F6 `, v" w/ l
8.7 指向数组的指针变量 / 201
/ s( g% H! L2 v) |8.8 函数指针 / 204- J! {# V, k! E/ q
8.9 本章小结 / 206) K- e# r$ `. l3 E

5 P9 V0 H" l: {. Z+ k: m第9章 结构体和类 / 207
; e! C1 z4 h6 ^
9 `/ K; K9 \6 p  ^- ~9.1 对象的内存布局 / 2070 Q9 R( t- F% `( Z* R6 ~$ `
9.2 this指针 / 212
7 Z" \+ B3 C+ ^' N1 \9.3 静态数据成员 / 217
% I  f  S2 N0 K% f; l5 Q9.4 对象作为函数参数 / 219; G: ?& j8 i) Y, V* t
9.5 对象作为返回值 / 226
3 V( n# V  c5 M5 t# K. D9.6 本章小结 / 231! A- {: L4 }7 ^, P1 H/ G

/ s4 ^8 L' d- y8 T第10章 关于构造函数和析构函数 / 233
) F0 @) Q# a/ y# l1 N: s9 X, a# B+ N1 J( Y: }
10.1 构造函数的出现时机 / 233+ J  F; [) b6 X% f
10.2 每个对象都有默认的构造函数吗 / 2437 |* L' L' C: [& _# \# g
10.3 析构函数的出现时机 / 245
) Y1 U/ U0 g6 ?% X7 ]+ i9 _5 Y10.4 本章小结 / 254
- \& ^! ~' a" W/ _9 @' R) F" h! i" c) E$ J
第11章 关于虚函数 / 256
) Z. V7 b& k# V) b& z$ i6 f( t6 A) i
11.1 虚函数的机制 / 256
/ o1 p) K9 Z/ e# T& W11.2 虚函数的识别 / 261
+ ?- N  o" @& P; w, _11.3 本章小结 / 268( y% C) I2 K! N+ h
4 r% u1 n% f! V1 E
第12章 从内存角度看继承和多重继承 / 269; y9 R+ `' o0 _. z

: L! T$ P, N, X2 [% G+ X4 b12.1 识别类和类之间的关系 / 270# K' L* H! N; Y( \
12.2 多重继承 / 292
, ?& I) @$ E' x' V12.3 虚基类 / 298
0 b# J3 |  U' r5 P, H4 e3 L- N/ O12.4 菱形继承 / 299! g4 e( Y3 R! D# B. y
12.5 本章小结 / 307
  V* ]' H# C4 b4 \7 {
$ }- b; R; O% G7 r( R- i第13章 异常处理 / 308
' m8 {5 Y" ~/ F8 G4 Y5 B2 W2 R% S" Q6 g6 ]1 I% ^& f7 [8 X4 }+ a
13.1 异常处理的相关知识 / 308; S1 \: B' C. e2 A3 ]6 P, R
13.2 异常类型为基本数据类型的处理流程 / 314
# B) y! ?6 a- ^6 T6 ^8 o13.3 异常类型为对象的处理流程 / 323
: h4 a, |+ M9 m' _( M13.4 识别异常处理 / 329
; b; Y/ O* X3 K$ k- ]$ _13.5 本章小结 / 341
& z- M; H- e6 q8 J$ [6 n) o1 [0 [4 Z$ |( v
第三部分 逆向分析技术应用' Z' c$ |6 t" u9 J9 P
: p- }, y. S* ~
第14章 PEiD的工作原理分析 / 344
- M2 t2 m- X( E9 i( c! z9 d& T8 z. L5 W' i
14.1 开发环境的识别 / 344) E2 A9 _9 ?$ V& a
14.2 开发环境的伪造 / 353
$ W7 s7 H9 f/ A% C3 z14.3 本章小结 / 3561 E( g' H4 ?) j  E

9 s8 [1 h; A% k* R( }3 Z9 b/ c' C2 J第15章 “熊猫烧香”病毒逆向分析 / 357
) O/ R% A, h" V6 `$ e
/ H( g5 ?/ B8 H+ _, @8 K& S0 y
15.1 调试环境配置 / 357
: ^4 ~, G" f0 ?15.2 病毒程序初步分析 / 358' a) P" ~, r3 r% W( H% {$ G9 {
15.3“熊猫烧香”的启动过程分析 / 360
% e% E! f+ r* I15.4“熊猫烧香”的自我保护分析 / 366- N  y8 C( x' |, B* k! g
15.5“熊猫烧香”的感染过程分析 / 369* ~: g! l3 S" X+ F
15.6 本章小结 / 379% v% B. s) T7 A" K
) z. P$ v0 ^0 C4 H$ ?% ]. r
第16章 调试器OllyDBG的工作原理分析 / 380
7 w5 [6 U  ?7 X  S1 c$ J! C
1 l! L7 v# L& t/ I* l* G7 G: p16.1 INT3断点 / 3808 m  q( p/ p! @0 J
16.2 内存断点 / 385
: q! Z7 y1 k% L" R* s! a% }16.3 硬件断点 / 390& A& h4 C! D$ m) l
16.4 异常处理机制 / 396
# ~1 ]* S4 Z3 R8 A  i6 @9 }4 ]% O16.5 加载调试程序 / 4024 K' J0 h- C  E7 d2 G  @* t
16.6 本章小结 / 406
1 C0 j% g/ c3 J6 U  t  b4 z7 ]9 }9 `0 ]% z! E) d
第17章 反汇编代码的重建与编译 / 407
4 L2 v& P& ], }+ V5 D" W1 S; }
7 ^, G9 W" E- T1 d' ?; W17.1 重建反汇编代码 / 407
0 Y, a$ l/ m: t. v, S17.2 编译重建后的反汇编代码 / 410! P; J: x  A" J* ^3 b$ K2 u
17.3 本章小结 / 411
* M. p7 `: C5 U4 L; a1 u9 M( H; ?* a3 c
参考文献 / 412- m+ `6 |# l& V( J) [0 z( W  ~
. e" |& @7 H4 k( O; H0 C. f7 ^

3 x8 t  }4 X+ N8 k& t
最佳答案
10 
发表于 2017-6-15 14:59:55 | 显示全部楼层
最佳答案
0 
发表于 2017-10-26 18:28:05 From FishC Mobile | 显示全部楼层
汇编也分各种语言版本的嘛?
最佳答案
0 
发表于 2017-10-31 00:22:16 | 显示全部楼层
挺久没推荐好书了啊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐上一条 /1 下一条

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号

GMT+8, 2018-8-18 07:10

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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