鱼C论坛

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

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

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

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

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

x
T1CacgXhXXXXXXXXXX_!!0-item_pic.jpg_430x430q90.jpg
" H& ^0 |2 F9 ~. k, l! n  C4 T

/ V1 y" i8 I& Z) R. K书名:《C++反汇编与逆向分析技术揭秘》6 x8 }- g1 Z/ Y
作者:钱林松,赵海旭, E. O/ b7 M1 f# S) X; c
出版社:机械工业出版社" Z; ^# L3 ?8 a2 K# W
出版年:2011年10月1日(第1版)
$ ?0 v/ c3 B% {: m% `/ N定价:69.00元
* P) W  h2 y0 O* A& n装帧:平装
( j* R. T0 }: Z" kISBN:9787111356332$ X, j7 z2 r# d3 t. v( F

4 l6 m# ]# A" Y1 C2 {1 D. k购买链接:
. m2 k7 v$ \( Q4 W% K3 _2 D
7 q" y0 y( ?: t# K+ J0 K

1 U+ T/ P( D; G3 q亚马逊(Kindle)-> 传送门# g; k3 w& ]* Q* O8 q( @& Y) m3 C
- ~1 Q+ j: M, u
亚马逊 -> 传送门
1 {: |4 Q( x! q2 T, t: ^  c/ V% i! D
当当网 -> 传送门
" G6 |: y2 g- p; U8 ?6 h" o7 a1 \. h6 j( V; |0 q1 Y
京东 -> 传送门/ @4 s; S/ Q' t) f9 Y: g

0 u' a* Y; y7 D6 T0 ]4 Q/ H天猫 -> 传送门
' h: v# X: I9 V+ L* O& b
  V8 O) _. A1 y2 e- F) z7 E1 C/ {3 q
: r1 f4 `. t- v; E1 f$ d内容简介:
0 C  h/ x# ]. b3 L1 _( P- V. n
9 t0 I4 Q  I( b  z4 L4 J8 ^* }# \

+ |9 C$ j) s# K《C++反汇编与逆向分析技术揭秘》从介绍调试工具开始,到语言特性的分析,反汇编代码的重建等,再到逆向分析技术应用,内容逐步深入。软件分析技术重在方法,所以《C++反汇编与逆向分析技术揭秘》以启发方法为导向,逐步培养读者的分析和推理能力。全书共分为三个部分:第一部分 准备工作;第二部分 C++ 反汇编揭秘;第三部分 逆向分析技术应用,逐步引导读者,结合具体的应用掌握逆向分析的关键技术。) L: D$ D% G" j. s, T

6 m- R. N+ M1 ]' b《C++反汇编与逆向分析技术揭秘》对所有软件安全领域工作者, 想了解 C++ 内部机制的中高级 C++ 程序员以及 对 Windows 底层技术感兴趣的技术人员来说,是一本很好的学习 C++ 反汇编与逆向分析技术的参考书。
, o( H' [" h9 q8 p$ L% L- `" y: ^- M$ J: A2 P
目录:( \+ [) @* r/ X+ i1 v
6 i" v! m9 u6 t' I9 j$ ]


  C4 ~3 d* J' _4 t. s$ q+ {前言
1 G( Y1 K  X  c8 l! b  V  J. U' E: o% D( f3 T: P3 Y. L" g
第一部分 准备工作6 C) @. S5 B$ F1 o5 Z
5 r6 b1 j1 Q0 k. l/ N- V
第1章 熟悉工作环境和相关工具 / 2
8 V6 \6 m; T: H) ?; y1 i% F5 @/ j5 q
4 v7 R  U; @: X0 `. J1.1 调试工具Microsoft Visual C++ 6.0和OllyDBG / 2, G, r' y% q+ ?  q' ~
1.2 反汇编静态分析工具IDA / 5$ O% L& j# U  [* o* b' T
1.3 反汇编引擎的工作原理 / 11
8 o+ L5 c/ F5 F7 B; P( H7 c7 d1.4 本章小结 / 169 M2 |$ x3 w: {4 ]4 |. [

* G6 I, E4 w1 j5 v( g第二部分 C++反汇编揭秘
& }, {0 N0 R, f# n0 ]' O$ S, B
& ^' j; H& _& Z! W$ `第2章 基本数据类型的表现形式 / 18- G) N9 g7 \2 q9 A

% C5 ]; h$ m/ T  n- J, ^) H2.1 整数类型 / 184 |( [9 w, c. `/ q
2.1.1 无符号整数 / 18! f& B+ W- U0 s0 A2 [* K: A
2.1.2 有符号整数 / 18" p( ~3 h7 x! s: y+ R, b1 ?
2.2 浮点数类型 / 20. P# i" l$ S) m
2.2.1 浮点数的编码方式 / 21
! U. `: U1 C  p1 }4 W! X' N2.2.2 基本的浮点数指令 / 23: Y1 p, I$ B8 k" E
2.3 字符和字符串 / 266 C3 D  ^  p% R" C/ K* e
2.3.1 字符的编码 / 27
. U) t$ n4 O( e8 y- V0 J% K2.3.2 字符串的存储方式 / 28
6 J" S2 E+ L1 q' v$ t2.4 布尔类型 / 29, j( _7 q8 L+ B$ i4 h
2.5 地址、指针和引用 / 29
+ }0 t1 M! y( ]! ~9 ?0 p3 T/ h2.5.1 指针和地址的区别 / 30- w% h% x7 F4 M2 }( G! e
2.5.2 各类型指针的工作方式 / 31+ n: u! W$ D0 F
2.5.3 引用 / 34
  u8 V% n/ Y1 K9 l2.6 常量 / 35* H2 k6 r; a% v
2.6.1 常量的定义 / 36
6 ~$ x- r& ~- Q! B$ j2.6.2 #define和const的区别 / 37
4 q1 P, G' ]. T* e& {7 g/ K5 Q2.7 本章小结 / 38) v0 @1 d, |* g* D' b' T
& F( \* P# i# H+ o7 A* J6 D
第3章 认识启动函数,找到用户入口 / 40

$ D; l# P, d% M' L  O) C4 _3 j/ E+ x
3.1 程序的真正入口 / 40; G4 }1 i& U/ Q3 p! u! w' l7 R4 D/ E
3.2 了解VC++ 6.0的启动函数 / 404 v) ?) \0 {' j" b: r
3.3 main函数的识别 / 44
3 m: D# Y' d. h9 j! B$ |3.4 本章小结 / 46+ Q1 P$ I$ r4 A8 k

1 I4 S4 R) U. Y. B第4章 观察各种表达式的求值过程 / 47# e5 z8 K/ Q5 Z- T
! V" Y: V; I4 k8 k; i/ T& q
4.1 算术运算和赋值 / 47% Z5 B9 ?" q8 m
4.1.1 各种算术运算的工作形式 / 47! w' {6 `' H/ C7 l* y3 W! w' y
4.1.2 算术结果溢出 / 82! I0 ]: A4 \# J
4.1.3 自增和自减 / 83! O- o! L, f! t* t* M
4.2 关系运算和逻辑运算 / 85/ G+ {/ ^5 G' a0 d3 G6 |  d
4.2.1 关系运算和条件跳转的对应 / 85& t: S1 j) Q; s' |/ x, M& _
4.2.2 表达式短路 / 86
6 g3 B9 Q0 O- a) ^  g) _' @2 j' M* v4.2.3 条件表达式 / 88
! E( e: c9 V: W! V$ Q1 N4.3 位运算 / 92
, V" [8 N& r" i/ f3 G8 Q4.4 编译器使用的优化技巧 / 94
; M0 I' S( k/ f8 J: l6 z4.4.1 流水线优化规则 / 97: @0 s. a% q& h! U0 y
4.4.2 分支优化规则 / 101
4 y7 I) h! C; c" g1 l; A2 Z* m4.4.3 高速缓存(cache)优化规则 / 101' z% E' U, R# c( D$ f9 f( Z0 r
4.5 一次算法逆向之旅 / 102/ i5 _! F- d# H. P1 G* c( Z
4.6 本章小结 / 109
; Z% f/ k3 U' r' t1 D# M% u$ @- a6 r( t3 t
第5章 流程控制语句的识别 / 110
. b8 d- q& ?+ G8 f# V4 }: \
" T; S% R3 K" A$ F# h5.1 if语句 / 110: ]- w9 U5 t  x9 g) w+ x
5.2 if…else…语句 / 112
6 A6 T2 n* b- w9 C8 N) g# F5.3 用if构成的多分支流程 / 115) L/ J& N( k! q
5.4 switch的真相 / 119
, j5 Y0 V/ G+ {$ e# k9 r5.5 难以构成跳转表的switch / 128: Z) C7 H% C# _/ k/ {/ \# g' ]
5.6 降低判定树的高度 / 1335 `8 {* i: Y6 Z8 _  V& }- H
5.7 do/while/for的比较 / 1372 Z0 r0 s; G, I
5.8 编译器对循环结构的优化 / 143" |2 f1 }6 L# Y4 \8 f
5.9 本章小结 / 148
) h$ l$ }, M- ~, w
0 z6 c6 \2 `* V3 C+ C第6章 函数的工作原理 / 149
9 T1 p2 E0 F3 S( R2 w( Z
- Z4 z. j2 U1 {5 Z6.1 栈帧的形成和关闭 / 149
! U) o. p( ?8 W# X4 h6.2 各种调用方式的考察 / 1524 ?( k( M( B$ N7 _" D% i$ r
6.3 使用ebp或esp寻址 / 155
% y# P' d9 |0 G3 u5 R/ o! o) A6.4 函数的参数 / 158
; h/ \+ l0 U: O4 I6 j# a6.5 函数的返回值 / 160
( T2 T9 q# s1 }8 Z9 W* p$ n6.6 回顾 / 1634 J! v8 ?( H1 }+ q, z% F% W8 y
6.7 本章小结 / 165
" r, O& `; g9 x6 s, w4 F. |9 z: }0 w- q5 P; v4 ?% S
第7章 变量在内存中的位置和访问方式 / 166
  Y/ }1 R( ^- B) u0 i4 b5 d. b# A2 M3 u$ f# D, i( o# v
7.1 全局变量和局部变量的区别 / 166
1 `, G9 v# @, u1 r/ V9 }' Q7.2 局部静态变量的工作方式 / 169
/ d2 Z6 U6 A  H7.3 堆变量 / 173# Q. o% a1 q  x' X6 l4 o6 z
7.4 本章小结 / 177
7 k) _. ?9 @$ H, U9 k1 k* \, b( ]3 s$ }- ]
第8章 数组和指针的寻址 / 178, |- d( v! b! X4 g, |! I

% M+ k& v) M; \4 ?- q/ W8.1 数组在函数内 / 178( k+ z& G, Z/ J$ `8 n* f
8.2 数组作为参数 / 181
7 X1 h1 f2 y* C, s8.3 数组作为返回值 / 185
& r% I; }6 X( _* U2 n1 s8.4 下标寻址和指针寻址 / 189
, X  |* O- \( z- V1 S' t8 H7 o8.5 多维数组 / 1938 V% S1 j) Z. s! Y# O" V$ J3 C
8.6 存放指针类型数据的数组 / 199; {# k+ E$ o4 r7 c
8.7 指向数组的指针变量 / 201
0 `6 z( K9 @- i3 J  i% g7 t8.8 函数指针 / 204
- X1 u& a/ H6 S8.9 本章小结 / 206
- O2 N! y+ p, J1 x4 W+ V( }; U3 _
2 c$ w2 ~" ~7 O& z) J, m第9章 结构体和类 / 207, J4 ?: x% Y* a+ y2 J* E- c
/ ^, B7 R6 q3 a: t
9.1 对象的内存布局 / 2072 v( l3 B9 i; l; R
9.2 this指针 / 212: j2 n* m, b) D
9.3 静态数据成员 / 217( c9 n$ U' M3 O7 p( i
9.4 对象作为函数参数 / 219
/ G7 z' P' u  ]6 Z" t6 g9.5 对象作为返回值 / 226; `6 Q/ B  ]. a7 i2 n9 L3 E/ E
9.6 本章小结 / 2317 }; c5 n4 Q& T" K6 E2 S
# O" l; U1 v' j4 K' a6 p5 T
第10章 关于构造函数和析构函数 / 233
- V! |" o: t' i/ n& Z) K7 C$ P- E" T2 E  r+ {9 l3 a( y4 W! }
10.1 构造函数的出现时机 / 233
1 I; v& M- Z6 k, w0 o( D- W10.2 每个对象都有默认的构造函数吗 / 2432 I! G! m, r3 |: K8 v
10.3 析构函数的出现时机 / 245- B) x. W: H/ t/ ^: C; r" b$ b8 t
10.4 本章小结 / 254
4 S7 S5 c. N1 k' J: e+ _' o6 j6 x" a9 s6 Y
第11章 关于虚函数 / 256
2 e6 ?8 M$ U# l1 q( Y9 ~: w" B* p7 W5 q1 {! J) p
11.1 虚函数的机制 / 256) v9 A, w; w6 k
11.2 虚函数的识别 / 261
: C9 C: T5 b* k, D11.3 本章小结 / 268
4 z$ c4 h+ I" p
) K4 o, c$ J6 B/ P$ \第12章 从内存角度看继承和多重继承 / 269( m# g) z, z4 P9 |# F( z
- @8 B* _0 r: n2 a5 |/ u
12.1 识别类和类之间的关系 / 270" a4 O9 k+ S6 h8 O& I  A9 y
12.2 多重继承 / 292. _4 E6 V' j1 t4 ~; n$ k9 K
12.3 虚基类 / 298- n% A. ?* G8 r% E4 t6 U) O1 I0 I+ P
12.4 菱形继承 / 299
" @- u' a. |5 h% Z- ]/ V9 w1 p5 h12.5 本章小结 / 307
& j0 Z3 M9 {' Y, N" d; H
2 W* b  Y, l  u  B8 e第13章 异常处理 / 3089 Q# P+ l9 y, M9 d

1 E% P7 W9 p! b) z5 L13.1 异常处理的相关知识 / 3084 t* u& V5 _  o* v1 C9 ~
13.2 异常类型为基本数据类型的处理流程 / 314
1 J# t5 N) n- i' b, X13.3 异常类型为对象的处理流程 / 323
# A: {" T* B% d/ m13.4 识别异常处理 / 3292 F( d6 ?0 q1 }, @
13.5 本章小结 / 341  L3 v; D" c- b2 y) b- I" c
+ z/ {: }6 }; x- l
第三部分 逆向分析技术应用
; x) G1 L9 V* _* q9 G+ ^- B/ @: u
第14章 PEiD的工作原理分析 / 344- z* {3 u" A3 v* K5 T! X; h

- K3 O6 c0 T8 A& y7 o+ G& T) D14.1 开发环境的识别 / 344  I/ t1 w  Y% ~) N
14.2 开发环境的伪造 / 353$ w% x3 B2 N/ v2 P4 f+ F
14.3 本章小结 / 3563 w& k( l* [/ m

( Y" ]' G2 ]5 L& [; J第15章 “熊猫烧香”病毒逆向分析 / 357
0 @+ @, F( X3 S% d2 s3 c
7 y- U" F! L: Z6 \. V* w0 b, `8 w; `" E
15.1 调试环境配置 / 357
* C5 Z7 ~* L/ M$ R5 t15.2 病毒程序初步分析 / 358
$ `4 @& u0 X! M1 C9 B8 J2 B15.3“熊猫烧香”的启动过程分析 / 3600 w; u- E9 f0 g; Y
15.4“熊猫烧香”的自我保护分析 / 3660 n: T! H1 v) ?1 G( s, H- N; S
15.5“熊猫烧香”的感染过程分析 / 369
  T. H' L: i! H$ f% y9 m15.6 本章小结 / 379
7 [$ a, s7 d* n% U3 k
7 z- p2 e: ?) o" {1 v+ E第16章 调试器OllyDBG的工作原理分析 / 380! ]# H2 p9 a- k9 n/ e

8 W8 R! f5 O% X- ^! ^' `  a16.1 INT3断点 / 380
+ |& }7 b  B1 v" F( a6 h9 m, x  L16.2 内存断点 / 385  W% G" C- l0 a  S' j
16.3 硬件断点 / 390
" g5 \' c5 `. X% A2 ^1 n, c, h% a16.4 异常处理机制 / 396
1 G  {  j1 J% @, |16.5 加载调试程序 / 402
1 ^8 r9 S) @% P2 j( }16.6 本章小结 / 406" U. @- `& G3 e" ~+ d
7 G6 q! e* r2 z
第17章 反汇编代码的重建与编译 / 407
9 i2 B. B4 c# F1 i# H8 f: W6 U$ G
8 U4 ?( E+ [1 _. ]- m4 q  R0 E* T1 E17.1 重建反汇编代码 / 407  Q( N: K) |$ s9 t0 Q
17.2 编译重建后的反汇编代码 / 410
" c1 F+ Q9 j1 ^' i17.3 本章小结 / 411  |' x+ n7 Z( u" z/ I# w4 G- \

. |, \; Q1 _6 C! m9 _, |3 \' K# b参考文献 / 412
( c5 _4 h9 ]8 j. t6 d% |# A% `+ g" E7 A: N0 Y8 e/ P
$ N4 ~) \1 }. e4 P' ~( h& L0 c
想知道小甲鱼最近在做啥?请访问 -> 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 18:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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