鱼C论坛

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

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

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

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

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

x
T1CacgXhXXXXXXXXXX_!!0-item_pic.jpg_430x430q90.jpg

8 U/ G( f/ D$ y: \9 x9 Z7 v9 L) s$ t0 T) ~" T9 U: g6 [
书名:《C++反汇编与逆向分析技术揭秘》
( C, V5 Q& k7 [4 n* D% F6 z作者:钱林松,赵海旭
# E* p. j+ D1 W' |4 V0 s* r出版社:机械工业出版社
! K+ O- x; ]$ q7 m: j出版年:2011年10月1日(第1版)+ }& Q- `- I0 [6 N9 a+ S( u: p
定价:69.00元
6 B, z+ L* W5 k& D& C装帧:平装
6 C& o, ]; o3 pISBN:9787111356332) @$ H& j% @: @" ~# P3 [* t7 v% L

4 D; a, L* o4 x5 O4 p% L" `/ D购买链接:
  c# a4 X. q+ f$ V2 V) }4 w! l1 E$ R* J4 ^9 e& F+ l6 m5 ?


3 T% G& r- u9 B) T# ?/ \$ F亚马逊(Kindle)-> 传送门' A8 V' a# w8 F  o: b
: Q! ~( _: Q0 ?; e9 }6 z
亚马逊 -> 传送门; h- P* b! }& j8 J
" Z3 D5 e2 n8 K4 q! S4 R
当当网 -> 传送门2 g" x+ i* T3 Y# v3 _
5 I8 w- ^% D& X" s+ f# C
京东 -> 传送门
8 C0 p% g. x; \3 \) b% F: j& j- Q1 u2 D4 S$ K0 k! n$ _
天猫 -> 传送门
4 J) N# J" ]9 r. u
: n. ~4 Q; @* O4 Y) t# _. a
& i/ f# J$ A* U6 {0 q( R. q内容简介:
" r  |: T& m0 W1 W; [1 Y. m2 s) X. @6 ]! _! L


4 r& y8 a9 g" X7 }2 |0 T《C++反汇编与逆向分析技术揭秘》从介绍调试工具开始,到语言特性的分析,反汇编代码的重建等,再到逆向分析技术应用,内容逐步深入。软件分析技术重在方法,所以《C++反汇编与逆向分析技术揭秘》以启发方法为导向,逐步培养读者的分析和推理能力。全书共分为三个部分:第一部分 准备工作;第二部分 C++ 反汇编揭秘;第三部分 逆向分析技术应用,逐步引导读者,结合具体的应用掌握逆向分析的关键技术。( {; V1 O7 |1 N7 v2 {( q0 I9 {

; P! _0 t& ~$ O" X《C++反汇编与逆向分析技术揭秘》对所有软件安全领域工作者, 想了解 C++ 内部机制的中高级 C++ 程序员以及 对 Windows 底层技术感兴趣的技术人员来说,是一本很好的学习 C++ 反汇编与逆向分析技术的参考书。* Y' x: q  B9 G4 T

+ `/ P  z5 E* v; B目录:& C0 v5 J  L, D1 J
* c: k2 y! b* Y9 i  j$ C5 A/ X. B

2 `* x! [4 F' [
前言
! d9 ]# g0 f; F& _; {
% I$ q4 k+ l' }  M/ b* L第一部分 准备工作5 ]5 N* _) ?4 c6 E7 Q! F1 G8 J3 P- r1 A

) M5 ~8 u+ I/ ~& R( @" e第1章 熟悉工作环境和相关工具 / 2
! K' P5 p. R* x  `  m( S2 d+ E& x! c! E- P  g3 s9 c
1.1 调试工具Microsoft Visual C++ 6.0和OllyDBG / 2
2 B7 Q/ Y: D7 k/ a  U$ f7 O( ^1.2 反汇编静态分析工具IDA / 53 j2 Q/ `5 y7 g
1.3 反汇编引擎的工作原理 / 118 }# W; a1 s; {1 o! o, K' w: Z" R
1.4 本章小结 / 16
: a7 K; `0 i$ r  }" Q- Y8 {
% l: A9 q( @) \( O  H4 E第二部分 C++反汇编揭秘+ [  W8 q% |1 N) G6 J
! ~1 E1 G; D% v2 n- t  r3 w
第2章 基本数据类型的表现形式 / 18
- u8 \; c5 c: d8 X, w5 s' G  h" r/ z) z3 z
2.1 整数类型 / 18& P$ F2 P( f- g7 X% g
2.1.1 无符号整数 / 18
) v8 E' s  ^) C( m% D2.1.2 有符号整数 / 18
6 ]0 o! W! [  e/ T0 G2.2 浮点数类型 / 20
1 T5 D4 d2 M- s9 F2.2.1 浮点数的编码方式 / 211 k) }. Y5 R: q. C
2.2.2 基本的浮点数指令 / 23
8 N2 W  I$ N6 c0 v2.3 字符和字符串 / 26) _% @/ t+ y& ], y
2.3.1 字符的编码 / 27
" w. a* F' y7 N, {8 L7 l, h2.3.2 字符串的存储方式 / 28
: L* F: z( \( N6 @- B- S4 R1 i2.4 布尔类型 / 29
/ M" e7 x/ q: W5 O4 \3 ~2.5 地址、指针和引用 / 29
( m5 X  W4 _# g4 D8 ^2.5.1 指针和地址的区别 / 30
8 @: e. |/ M/ k( ^2 a4 P/ {2.5.2 各类型指针的工作方式 / 31
' I4 r3 o4 s" x( a  u2.5.3 引用 / 34
2 _( n9 e" k& O* ^6 M( N# \4 @2.6 常量 / 35* n' C6 L* L7 X
2.6.1 常量的定义 / 36
# m; w, \( M& X7 [7 [5 u2.6.2 #define和const的区别 / 37
$ z2 c6 T9 ^) q4 E2.7 本章小结 / 38
0 E0 |5 p4 W% N# S4 X3 @) z: ]9 S7 A, c' f- \; g- [
第3章 认识启动函数,找到用户入口 / 40

$ c3 k$ ^) N, s* V
9 R: ~6 I$ ~8 P7 h% A3.1 程序的真正入口 / 40; }1 ]6 Y! o  N: r8 K1 {
3.2 了解VC++ 6.0的启动函数 / 400 }8 }# X$ f, X. ~' L1 L+ E( f1 F. j
3.3 main函数的识别 / 448 D0 o1 f% r$ ~4 ~6 k
3.4 本章小结 / 46' `6 A+ l# Q5 B. b! u3 o

# j, ~4 p: y3 j# }$ e6 @$ R9 ?第4章 观察各种表达式的求值过程 / 472 K& z' I& S6 D1 ^9 F
) V, i( O" q( J# |
4.1 算术运算和赋值 / 47* u5 d6 h0 \; k. u& S3 d
4.1.1 各种算术运算的工作形式 / 47
+ p+ [9 b5 m( t2 M4.1.2 算术结果溢出 / 82/ k  V+ \) c8 D& f" ]% |) z. \
4.1.3 自增和自减 / 83) H8 j% e' y. z. t' z/ y+ r
4.2 关系运算和逻辑运算 / 85
& ~& t. c3 n6 N4 h4.2.1 关系运算和条件跳转的对应 / 85" [/ o7 [5 z. C+ v! `
4.2.2 表达式短路 / 861 ], n$ T( O  }
4.2.3 条件表达式 / 88
& @: u/ A3 h* T9 T4.3 位运算 / 92) z; _5 f. a+ C7 @4 ]/ e1 }  R
4.4 编译器使用的优化技巧 / 94
4 p; ]& {! v# w5 _1 w4.4.1 流水线优化规则 / 97/ F4 X* u: V6 Z
4.4.2 分支优化规则 / 101
6 x# O& \; u. q1 Q4.4.3 高速缓存(cache)优化规则 / 101
% R' C" i' Q+ h/ Y3 `* j$ X& |4.5 一次算法逆向之旅 / 102% a0 l* w; W9 D0 `
4.6 本章小结 / 1094 e+ ]! h7 S6 K2 l, e# Y0 U
7 ?% L1 k* N  W" t- `1 u' K
第5章 流程控制语句的识别 / 110. N! \" ?3 M  }* ~. j8 X5 @
- c7 y% i& V7 \& P6 \2 c& s
5.1 if语句 / 110  ~5 L  @2 o$ @
5.2 if…else…语句 / 112
7 w( I. R  \$ ~: \1 s9 A5.3 用if构成的多分支流程 / 115% V$ X( l, P% V0 Z
5.4 switch的真相 / 119  _! }+ R, s- I; G$ @. q! U
5.5 难以构成跳转表的switch / 128; E  T$ q- {/ r
5.6 降低判定树的高度 / 133# p- X1 i, q/ |" J! F
5.7 do/while/for的比较 / 137* f; U+ |9 }# d5 G4 u( M* Z' U0 ]
5.8 编译器对循环结构的优化 / 143  ?# ^3 F& }7 ?! d- N" i: o# R# L
5.9 本章小结 / 148/ O+ D* W4 I& }, O) ^. c2 Y
3 u2 p8 u$ m+ b, v  p  V7 \) Q  x
第6章 函数的工作原理 / 1495 ^# e1 y0 F: r
# o0 G4 r' P% J5 X( }+ |6 Y
6.1 栈帧的形成和关闭 / 149" A) l+ @: ~+ N, B4 U2 z
6.2 各种调用方式的考察 / 152
6 j; a0 b7 a/ B  t! H' ]( n, f6.3 使用ebp或esp寻址 / 1558 @$ `4 _* }! H0 ^
6.4 函数的参数 / 158
* e( V& ~4 ?4 D3 R4 I6.5 函数的返回值 / 160
' g$ a8 g# R  E' ~& j% t+ y% T( [; h6.6 回顾 / 163: c1 I; L0 Q. B, h/ g  {- o: Z
6.7 本章小结 / 165
( R! Z0 v' |0 m* i+ N, F* R0 [! C5 l/ W6 \: L
第7章 变量在内存中的位置和访问方式 / 166' `5 X: l4 D+ N

& j1 Z& D( s( D# i/ q$ }/ D: G7.1 全局变量和局部变量的区别 / 1663 B% c, w4 _$ n) K' I: B( V! H/ q, b
7.2 局部静态变量的工作方式 / 1695 j7 X! d. B# M9 q& P0 \
7.3 堆变量 / 173
) W) W1 F& B9 A5 D3 t0 q7.4 本章小结 / 177$ o9 E8 o9 E; J: ?5 o  S3 Q
) r$ l" g* j2 c+ f. p1 ]# F! p
第8章 数组和指针的寻址 / 178
4 }' L$ _, ]  H9 D5 \
+ L& u# P1 {$ r+ i1 h8 U8 R- g8.1 数组在函数内 / 178
6 y) m0 [. L3 S) T  q8.2 数组作为参数 / 181
2 f! J5 z8 q9 N$ j$ t$ n5 Q; e; C8.3 数组作为返回值 / 185
0 M6 x, ]$ g- U$ h1 H& H$ i- v8.4 下标寻址和指针寻址 / 189
" L& B% D' d7 d; a8.5 多维数组 / 193! I+ m; X7 y" U. K3 J; G, V
8.6 存放指针类型数据的数组 / 199* _& Q' p& F5 e2 P
8.7 指向数组的指针变量 / 201
6 v+ Z- {) V2 ?9 l" m8.8 函数指针 / 204
) u8 {6 P( q1 F8 W8.9 本章小结 / 206* ~+ s+ D& e( f9 u) R) `& S" D% h, r, D

5 h+ D' y) \$ {( H* ?第9章 结构体和类 / 207
4 z/ r. v* R7 W% g% d+ ]! O/ Z( c. S; T4 j% S
9.1 对象的内存布局 / 207
6 V. \1 i9 x/ g( F) a9.2 this指针 / 2128 g" v$ T2 d. l4 {' `7 k
9.3 静态数据成员 / 217
* z& }8 j1 A* ]' g% v: k9.4 对象作为函数参数 / 2198 D) A5 R- k2 o* h% `
9.5 对象作为返回值 / 226! O% r" F9 u3 M( [5 c$ {* G! A; [
9.6 本章小结 / 231
: }# V' e6 _! i5 C5 B; U5 X- G. A. o& ^) i( C, |
第10章 关于构造函数和析构函数 / 2336 b/ x6 b+ u. p2 ~, u- m
8 L  o0 R( S$ _; V/ v8 c
10.1 构造函数的出现时机 / 2334 R5 P0 n. G1 ~3 F; W
10.2 每个对象都有默认的构造函数吗 / 243
; r+ O! W, {! l, i* w1 W- k; x10.3 析构函数的出现时机 / 2453 p+ ]. G6 }& y6 Z9 ^
10.4 本章小结 / 2540 ?8 j" e5 o; V4 `& C# b
& }0 s; X& }( M" D: r5 `/ v
第11章 关于虚函数 / 256; R$ t  q, v7 L1 m9 _

. k! c; A+ Y' A. c11.1 虚函数的机制 / 2560 }) Q& o" {! ?% B! [
11.2 虚函数的识别 / 261
1 a+ ?) R: ~* F) Q11.3 本章小结 / 268
( L+ q4 F# ^' q( ^7 H7 s/ F, {' y# g
第12章 从内存角度看继承和多重继承 / 269! J. m# Y! z2 D" q2 t

6 p8 M9 |- T7 m! t; v/ E- P12.1 识别类和类之间的关系 / 270% ], ]$ |4 f. @( K9 K$ W: }; `
12.2 多重继承 / 292
2 F% Y4 R) ]' ^( I1 j  G1 j- T) [12.3 虚基类 / 2983 l) c6 ~  G4 y# Y2 O6 M: \+ f
12.4 菱形继承 / 299- S/ i! H% |+ O7 q4 P  E
12.5 本章小结 / 307
( I- P+ e0 [, l4 c: B0 S& t1 P' d. Y4 d  ]3 G
第13章 异常处理 / 3084 V, w! r) J- m2 s

8 e7 Y8 \9 f8 Y) g13.1 异常处理的相关知识 / 3086 ?# w% E7 e8 B
13.2 异常类型为基本数据类型的处理流程 / 3143 r( V! d8 G; F  M0 `$ I
13.3 异常类型为对象的处理流程 / 3235 ]. c0 q& G7 j/ l) ~8 H# s
13.4 识别异常处理 / 329
2 G) N. C" b" J  \13.5 本章小结 / 341
) P7 n7 w/ N  s4 X' n. h
& ?! c8 l6 \9 a2 m- N0 e# o# l6 c第三部分 逆向分析技术应用8 D6 w, w7 Z5 p# o' C: T

  J5 C8 k5 j' l9 p0 p* g第14章 PEiD的工作原理分析 / 344
1 T* q3 Z" ]! w; H+ h% P5 |* K- a# X! R: a8 G
14.1 开发环境的识别 / 3440 k% e* G; M; |9 g" a6 u2 V# _
14.2 开发环境的伪造 / 353" I0 v, R8 s; \) p9 u9 ~6 v
14.3 本章小结 / 356+ L. D6 q, V$ c6 J
# f0 @7 X* s$ I4 O! m  H, y
第15章 “熊猫烧香”病毒逆向分析 / 357* V3 r: N3 Z. L4 q, I+ t

7 J# e2 E& }9 ^: T& T& v" w15.1 调试环境配置 / 357' L: ^8 ?# U) E) P  O, @
15.2 病毒程序初步分析 / 358
% m5 V* A! D- b( T9 Y15.3“熊猫烧香”的启动过程分析 / 360
! C. x8 F' H% v: h) }7 d+ m1 B$ Z  b15.4“熊猫烧香”的自我保护分析 / 366" d" O2 c5 g, f1 m. L1 T0 B! I
15.5“熊猫烧香”的感染过程分析 / 369- P5 E7 U  u( ~& i% r% p9 `: A  a9 y
15.6 本章小结 / 379
9 w8 Y! g6 J! o4 e. x  A& E' U5 a( g, e4 k
第16章 调试器OllyDBG的工作原理分析 / 380
! C7 R- u2 o7 Y4 g# X, N4 i! Z" a1 G
16.1 INT3断点 / 3809 k" i; i% Y0 k1 e
16.2 内存断点 / 385- u2 j6 F, |) g+ w2 o
16.3 硬件断点 / 390
4 N! _6 b; }3 e% x* k16.4 异常处理机制 / 396' T6 g, k7 J* R" w  E! {# V
16.5 加载调试程序 / 402' I& f& H4 z" Z1 E# F/ ]3 Y
16.6 本章小结 / 406$ ]& F+ x/ O6 m2 n* _
: T! B1 O, @1 J( l
第17章 反汇编代码的重建与编译 / 407* j0 T& o/ Y0 L
5 f) G) d. M0 _8 f: U0 o7 W; S: K
17.1 重建反汇编代码 / 407) w6 F9 t7 G; p/ P. ^2 }
17.2 编译重建后的反汇编代码 / 410
& M2 w# z: x1 u- X! y7 q2 y17.3 本章小结 / 411& S, f0 o; _& z) G+ {3 E
% j1 c; q3 [# x$ C- y) G7 D
参考文献 / 412! ]  o* {+ r) E

/ p6 N$ j+ b9 m8 U; p  L3 G: t) E( Y; E$ A1 _" b
想知道小甲鱼最近在做啥?请访问 -> 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-9 05:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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