QQ登录

只需一步,快速开始

搜索
【活动】边做笔记边学习,还能赢取奖学金!
查看: 1796|回复: 1

[软件安全] 【进阶】《IDA Pro权威指南》(第2版)

[复制链接]
累计签到:2151 天
连续签到:8 天
最佳答案
138 
发表于 2016-11-12 17:58:21 | 显示全部楼层 |阅读模式

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

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

x
22595398-1_u_1.jpg
/ N6 |" J  j& R9 w; S) U/ `

' l6 q8 ], Q) V书名:《IDA Pro权威指南》(第2版)
! B' l6 k; N4 }作者:Chris Eagle
. m) C" z( S( F) x译者:石华耀,段桂菊
3 }8 h6 m. n- ?9 A, k2 k- W) ^8 ~  _出版社:人民邮电出版社% a7 T0 Q% R- z8 Y0 p
出版年:2012年2月1日(第2版)
; W' P# T1 s9 n# U3 E! k' F/ ?' W定价:89.00元
$ Z, M2 j- e, n  z* u$ L装帧:平装( G' z- f; T7 P9 u7 ?
ISBN:97871152736809 J" [' N  L: Y

, p9 a  Y. J7 T. n9 n购买链接:
  z4 F5 T4 u/ e( i1 _! A" v6 v. N9 T. H1 ]  O  f" k6 a

; ]& D4 \! M. p+ k$ a
亚马逊(Kindle)-> 传送门0 N( c- ]; t  P2 e+ s3 N' q
! ]/ P# B7 W; D6 l: x
当当网 -> 传送门
: A+ d. w/ Q6 Z1 w+ M1 f1 z8 _2 Y1 r* p, [  e- \% n8 |
京东 -> 传送门
1 n0 ]/ C7 I# |7 l) l) k; q; j7 O/ T1 |
天猫 -> 传送门# C2 ^* p) K& X! x1 Q- D

$ a/ T. Z6 u1 J* u( l: Y6 {4 R8 W* O, ]
+ L( ~* l. X7 G/ J$ `2 w; A- c: k4 a内容简介:
- q& ~" E. x$ W, K3 k  Z4 v
4 H& f) H, n+ F3 v% z2 U

3 T7 r& i- m: H- C- p; ^《IDA Pro权威指南》(第2版)共分为六部分,首先介绍了反汇编与逆向工程的基本信息和 IDA Pro 的背景知识,接着讨论了 IDA Pro 的基本用法和高级用法,然后讲解了其高扩展性及其在安全领域的实际应用,最后介绍了 IDA 的内置调试器(包括 Bochs 调试器),一方面让用户对 IDA Pro 有全面深入的了解,另一方面让读者掌握 IDA Pro 在现实中的应用。相比上一版,这一版以 IDA6.0 为基础,介绍了它的新的、基于 Qt 的图形用户界面,以及 IDAPython 插件。《IDA Pro权威指南》(第2版)适合 IT 领域的所有安全工作者阅读。
3 x0 @- }* h' D  W6 @
$ {; E5 @# w" Z9 J4 K
3 Q# F7 t; n7 T2 b4 R目录:
$ c, [0 `9 g6 z& ]  y& L
6 F6 N- {; Z- p; Y
& }9 B- r- W) o( H4 K0 x8 e  z8 K
第一部分 IDA简介, L1 P7 b4 F+ y

' ]9 p# j3 f4 J% w) r$ v, N, l第1章 反汇编简介/ w( M' @' t1 t, h
2 k3 K1 Z+ L' `$ z! {# e+ x$ x# ]
1.1反汇编理论
1 E& m$ b% C% s1.2何为反汇编9 n( f: `4 j& N, d6 L! M: e
1.3为何反汇编6 P" W+ w; J& V4 A8 G, P
1.3.1分析恶意软件
' w, h6 z3 i, l6 K# i$ ~1.3.2漏洞分析
' Q6 Z% b2 U5 A- W& H- i; I  s' |( T1.3.3软件互操作性
; w& K& i, `% P% \1.3.4编译器验证4 Z2 ^# K0 l# f$ s  ~9 o
1.3.5显示调试信息5 R" A$ e0 P' f  v
1.4如何反汇编% ^7 @* t' f3 l
1.4.1基本的反汇编算法9 }! D! T# I4 q
1.4.2线性扫描反汇编
: f$ A; x9 i. R* O5 e, S1.4.3递归下降反汇编
& y3 u& }" Z& W) X/ M& Y; A! w1.5小结1 w9 u  a7 {* E8 V3 r7 x
) G3 K9 J- b! g( c" r8 i& ]
第2章 逆向与反汇编工具 - L( o; d$ ]. p. H& }

2 H3 D+ }9 u4 P/ ]2.1分类工具8 B. j% T# P2 A% ?9 W5 c* U
2.1.1file1 B3 u8 b4 ]% d
2.1.2PE Tools2 `' [' T8 {! d& i
2.1.3PEiD6 w, g" W8 k0 u$ E3 A) r% x, x( i
2.2摘要工具
$ P  b8 B2 J7 T; P5 A/ m" r5 b8 L2.2.1nm! {  A' ]5 N2 \; H
2.2.2ldd
6 M2 e; Q( B9 t- B2.2.3objdump1 E1 H& T. `3 j
2.2.4otool
( M# _  B! U4 s2.2.5dumpbin
9 f1 g/ ~7 ~  U5 [2.2.6c++filt  Q; ]+ V2 |% ]4 Z5 D
2.3深度检测工具5 m' [) _  T. J, y+ k+ F9 }
2.3.1strings
( b. G  F% c8 A# p, m2.3.2反汇编器$ A* o6 C' f( q* X( @. j' ]% u
2.4小结
/ O6 k$ n$ D5 V) a1 j
8 q; f0 e, o2 Q' x4 R$ L第3章 IDA Pro背景知识' u- e1 `' l/ d

/ R# ~3 c: I" g# P1 _+ f8 s3.1Hex-Rays公司的反盗版策略3 ^& i5 J9 c* [* D1 ^
3.2获取IDA Pro
9 k2 B6 L1 g' v3 c$ K9 M1 j$ m6 ]/ D* _3.2.1IDA版本
" O) c0 \" [  J; Z, v5 l3.2.2IDA许可证- p+ M. ~9 y1 l! O% F
3.2.3购买IDA6 _! {  ?5 u/ A
3.2.4升级IDA. [4 X9 ?, H0 W7 C
3.3IDA支持资源" {& Z' d% x9 ^- k
3.4安装IDA
2 [4 i, v9 _# K3.4.1Windows安装6 J# N8 Q4 s5 n6 Z+ R6 R# w2 e
3.4.2OS X和Linux安装
; R; S( O' L7 o3 A3 @! M; n+ ^8 F3.4.3IDA与SELinux7 H  H. C7 n# O9 ~: j# `
3.4.432位IDA与64位IDA
; }: z6 ?  k; `# \8 ?, ]: f3.4.5IDA目录的结构
! @1 L# v* h( M5 X, m5 g3.5IDA用户界面3 [& r! W; c% G9 k/ I. @2 }
3.6小结+ n3 ~! Q# T5 w; W8 A/ N! s
+ y/ s; Y, @! o1 T5 s7 h
第二部分 IDA基本用法
' N" j. s3 \* u* G7 l- O6 E' x: ~7 ^! K7 g% P- e
第4章 IDA入门
8 j( [4 h0 y0 w
) x/ I4 i  t2 I& e4.1启动IDA2 g, e7 B& w) }* I! K3 q% E$ F; C0 m
4.1.1IDA文件加载
+ D3 ~( M& r: j2 b& R; A4 Z$ t: A& f4.1.2使用二进制文件加载器
: Y- t! r- \7 ?. P4.2IDA数据库文件
9 z' m+ T+ \4 B1 Q7 ~( n' d" x4.2.1创建IDA数据库
: X* v7 m7 H& n& T! g. A2 ?4.2.2关闭IDA数据库
6 C) ]/ J6 O" A- t7 o4.2.3重新打开数据库
& G% d. I' q" h: ~4.3IDA桌面简介
8 s6 q) \( ?! L4.4初始分析时的桌面行为
" c2 h% y6 i1 I4.5IDA桌面提示和技巧& g6 D8 d6 u+ r' {
4.6报告bug
% E5 n* k: k3 E) m: a. i4 R0 N4.7小结( h% K3 z! P. @1 ]" _& u9 y' y
7 Q* k3 Z3 T- h$ R( A
第5章 IDA数据显示窗口
: S" n6 h4 z$ P4 F
. ^( u3 S: i  |5.1IDA主要的数据显示窗口
. Y' x. G2 d/ d" z5.1.1反汇编窗口
* Q9 y& a% Y4 `- f  \5.1.2函数窗口. N: C+ M4 g+ u% M: T; ?
5.1.3输出窗口% L' }& x- u: e
5.2次要的IDA显示窗口
9 Q0 `6 @  \! _+ u' ]4 g1 `( n  E2 b( T5.2.1十六进制窗口
- ]1 q7 Q4 b2 B, w5 j. o8 v7 |5.2.2导出窗口
  G  J3 r. ^# z9 ^  m3 P5.2.3导入窗口/ n. v2 f7 d' [5 j3 n# o
5.2.4结构体窗口
1 J- ?* U5 M8 ~5 |0 k5.2.5枚举窗口
* t3 L) [# J( ^8 L' m& x6 D; H: w5.3其他IDA显示窗口& n! }. P& e8 {8 s
5.3.1Strings 窗口
: m+ S: p1 @) O7 |5.3.2Names 窗口
: }" |4 ?5 B1 N& d- N+ m2 A5.3.3段窗口
# A1 ^' |) Y. W( v6 s  B5.3.4签名窗口
! i$ [* H$ F& z' n* R: Q" ?+ `/ Q5.3.5类型库窗口
6 z. Z) F3 x& W2 U7 _4 H5.3.6函数调用窗口5 i' w0 u6 I  Q. I4 }$ K% @
5.3.7问题窗口
7 J3 I5 l& M8 S2 l1 z# Y" f5.4小结
+ j. D- [7 X/ \$ w9 c9 O; P2 o& n$ h' M/ I+ _5 Z9 O$ ?5 K
第6章 反汇编导航1 R% M4 b4 F. ^3 X7 c% Y5 w

  C6 C( v8 t; u3 s7 u6.1基本IDA导航
& E/ n; ~0 f' n" h" R6.1.1双击导航
. x/ m& Z5 G: \7 l1 s6.1.2跳转到地址
2 l+ i: W. @/ G% P/ M6.1.3导航历史记录6 z* B: a# ^* }6 h3 }6 M3 h9 Y, X
6.2栈帧
; [7 \% V" W5 \, E- T- a/ }% u6.2.1调用约定
& L5 f. F' Q7 Z( p' w6.2.2局部变量布局
, T5 b" E3 Z7 c/ I: c  n' a- {6.2.3栈帧示例
) n  {- b# f. ^- m/ o6.2.4IDA栈视图0 D6 L. p! D! R  u# G& r
6.3搜索数据库
1 m9 l7 \) K  n) \& f7 ^7 {0 U/ F6.3.1文本搜索* a- o- i* a( H' J5 u7 d. {0 o
6.3.2二进制搜索& }- I+ d9 l) o9 G, a
6.4小结7 `0 Q! m) J1 k2 o, g7 u" `- j* v" g
" p2 U* W5 G% O1 f$ d6 ?3 F* j: C
第7章 反汇编操作+ i1 C* g+ H: I' W
6 x0 R8 g8 n8 d4 L2 {0 w
7.1名称与命名
8 ~6 N2 @2 G. q! R2 G* c, c- i7.1.1参数和局部变量
/ i( i; d' N9 C8 N7.1.2已命名的位置1 L; Z2 n8 |6 \4 A( E4 a) [/ J) b
7.1.3寄存器名称) l6 p4 Z( V7 l6 K8 p
7.2IDA中的注释
/ J+ \# g# u, X! m/ c- G7.2.1常规注释6 }" U& U; H) [0 [7 g
7.2.2可重复注释
9 N8 H* j# ^  @  |) [, Y, ^! j+ y7.2.3在前注释和在后注释
% _' x2 H: L0 O& X: E7.2.4函数注释% `  ?! Q% l; i! U
7.3基本代码转换0 k+ |. y% \* I6 ?
7.3.1代码显示选项# }1 H/ {, ?& H. n; l) N. B/ _3 S/ U+ |
7.3.2格式化指令操作数- ?5 F1 J; t" t4 a
7.3.3操纵函数1 i1 C6 l0 W- V8 p( ~5 H$ O' a4 ~  o
7.3.4数据与代码互相转换: P5 ~1 ]4 c' N  H
7.4基本数据转换
, }  @9 W7 D3 L7 ~7.4.1指定数据大小
% b3 I( S2 D7 Y6 @/ J7.4.2处理字符串
8 @+ J6 X; o, U' {) }/ y& s9 ?7.4.3指定数组- E. t) C$ R( |+ q0 {! Q! y, M
7.5小结
- N0 \$ z. y) p7 c3 P
7 h, [  b, C- b  i6 ~- p第8章 数据类型与数据结构
$ `( U! z" B: P% m& \
6 _: ~% Y8 p4 i3 s8.1识别数据结构的用法
' R0 k9 m7 D: c( s+ \! f* E2 F/ }8.1.1数组成员访问6 J( C' Y) I. w. a+ e- G! h$ z0 a
8.1.2结构体成员访问
2 [+ e3 G( U8 e9 r, p8.2创建IDA结构体. G% R7 A: D9 ?6 H" w2 r
8.2.1创建一个新的结构体(或联合)
$ V2 _5 G' w  @8.2.2编辑结构体成员3 L/ m5 }: K8 W, F- r! ?$ ?
8.2.3用栈帧作为专用结构体: P0 S: v& n1 {% n" h
8.3使用结构体模板
0 m; I7 O- \* f# q, K" q7 u) _8.4导入新的结构体0 J/ y9 j3 W1 ?9 R# V  I
8.4.1解析C结构体声明! q6 \5 A! @# F, f" b# G# a
8.4.2解析C头文件
8 {3 l! S# e1 R" h4 T  G3 x$ Y8.5使用标准结构体
2 \& F- H$ p3 J8.6IDA TIL文件
6 ]4 C% y% t" [2 M8.6.1加载新的TIL文件
* U7 U: U' ^& i2 L: k8.6.2共享TIL文件& I1 t9 H' j4 c% j6 s) D
8.7C++逆向工程基础
5 H2 ~. g/ }4 }1 q9 u8.7.1this指针' C: n$ N2 v! p4 z' A
8.7.2虚函数和虚表) f3 D( \; X' W6 e! r
8.7.3对象生命周期
( v5 N7 Q% L7 N8.7.4名称改编% S6 l* G5 e2 x! T; P
8.7.5运行时类型识别& T* y; |$ x  X# _
8.7.6继承关系8 y/ ^) \# J; K, l
8.7.7C++逆向工程参考文献7 x6 U/ ]7 U; g! @0 J+ a. n5 _
8.8小结
$ ]" m- ~4 J1 C# @) d
5 m1 N$ [( ^, h' n8 q! Q7 p) L' C第9章 交叉引用与绘图功能# U# q7 P+ s+ e  z6 t' s( r; H

; D0 q6 H8 r6 Q  n9.1交叉引用
7 Y& W& t3 ~% s4 d; l6 H9.1.1代码交叉引用
1 J# C( M" ?& Q6 B9 J9.1.2数据交叉引用! t, w/ d$ P! {- a* C
9.1.3交叉引用列表& U! O: ]8 X+ m3 \/ _- ^/ A
9.1.4函数调用/ Y4 Y) d! O6 m$ j& K
9.2IDA绘图
7 N" K" G1 Y- J+ K: t1 @9.2.1IDA外部(第三方)图形
* F  x# Q* t" Q; a9.2.2IDA的集成绘图视图
( _/ b" s1 u, x0 m! o9 L9.3小结' f/ }$ B4 F! C) S; v8 U$ {

/ _- \( f2 p; K3 i( D第10章 IDA的多种面孔
6 `4 N& `) u. {
6 x# s# y5 x' p3 i: q& M0 J% U10.1控制台模式IDA7 ]& B" v. {/ `$ n" A: d
10.1.1控制台模式的共同特性
6 i( ]2 b5 Y5 ]8 {+ c10.1.2Windows控制台
( p* U0 z+ p0 w3 K( O10.1.3Linux控制台
  Z" z" q1 U$ U# o8 b( F  \# Y3 o. c6 _10.1.4OS X控制台5 R% R) o& D5 |% B
10.2使用IDA的批量模式
+ {; N, t7 [$ D1 r4 x10.3小结
3 B4 z4 w& b7 m- z
6 x! t# p& M6 U/ M3 \& Z2 _第三部分 IDA高级应用
9 E( Z) V* y3 i3 c) q: }4 j) \5 N5 K+ q
第11章 定制IDA# O8 a3 j2 n# @, N1 {2 p  a
6 l+ v1 D" P) I7 X- D
11.1配置文件, |9 z# B- d; m( t4 E
11.1.1主配置文件:ida.cfg' V% \4 w6 q% S) V
11.1.2GUI配置文件:idagui.cfg( I9 Y" Z% u" D6 o- N0 T7 Q1 J
11.1.3控制台配置文件:idatui.cfg0 A$ l4 D4 i2 z! B' ]/ e
11.2其他IDA配置选项
# P. x$ q7 p5 x; H- g# m+ p11.2.1IDA颜色
& w* y3 |: n3 [$ E+ j11.2.2定制IDA工具栏
! _, ?) p8 ^5 P/ K5 G11.3小结# @/ E8 P$ N. R% K$ J  J
  W& F. W, h8 k4 t
第12章 使用FLIRT签名来识别库
8 m. Q& b+ W" I6 d1 M$ W
. e5 J  H/ v. o& F- M12.1快速库识别和鉴定技术- `$ n. I' e5 O4 D
12.2应用FLIRT签名
% z1 ]9 X5 P6 V12.3创建FLIRT签名文件
, O( D5 T# X3 ^+ N+ P  B; R. ~12.3.1创建签名概述
9 U9 a# o; d$ ?6 |) a12.3.2识别和获取静态库9 X7 |5 j7 J) z2 K- b8 b
12.3.3创建模式文件
# l# x' d/ @% R) ~) I/ H12.3.4创建签名文件
* n  c9 P3 U' O8 Z5 [' V12.3.5启动签名" c2 i  k- q1 Z/ ?; g3 l
12.4小结1 k+ }$ [' Q& i8 E( d

1 ]& X+ C/ x9 y8 \  w  F- ]+ C3 \7 A第13章 扩展IDA的知识
( q- c5 W1 M  S% v9 D
( J9 \- d; a% S' N" {+ A13.1扩充函数信息
' t* H/ |) ?9 e  Q. l/ j( R; s9 ]13.1.1IDS文件
# }3 j& W# B0 g1 ]( u. |13.1.2创建IDS文件
* d5 T( J" E5 \3 U7 a/ e& A6 l1 S13.2使用loadint扩充预定义注释
6 I1 y% A% Q1 u+ [' H13.3小结  z6 j5 R+ ?  e+ d7 B

6 W" U$ r1 X; p3 r第14章 修补二进制文件及其他IDA限制% j7 J9 G2 f. e* e4 a6 S6 P

8 h7 ~7 T( b+ |) C. F4 G& Y5 W14.1隐藏的补丁程序菜单9 O( X* G+ r$ w+ N$ }  i0 b
14.1.1更改数据库字节: B6 o, c1 ?) x$ l- u9 _
14.1.2更改数据库中的字* t6 A4 M  g: u- A  i" D+ V+ `
14.1.3使用汇编对话框
  }2 \! \6 c4 G/ ~8 G14.2IDA输出文件与补丁生成: S; M2 I8 K. b6 J! E* L
14.2.1IDA生成的MAP文件
! e1 f6 {2 h' ?; Z& M9 h; s14.2.2IDA生成的ASM文件
* h5 d: r4 [; C1 D4 \14.2.3IDA生成的INC文件
+ W! w& |! }" T5 `+ _: X14.2.4IDA生成的LST文件6 _( l$ a; f( B" x+ e, y
14.2.5IDA生成的EXE文件
! L* [$ _& _' J/ m+ N4 i; X14.2.6IDA生成的DIF文件
- s0 j& Z; |0 |8 c5 S# q# I+ C14.2.7IDA生成的HTML文件
4 D6 d  q7 @  o& g4 W  j) P14.3小结
) _' @1 g6 Y: ?3 ^/ L) ~1 B5 t: |0 s  @* v* a
第四部分 扩展IDA的功能  `" F6 A+ U' p' C) [) C; W: j

3 H2 J/ y0 ], Y* ?$ v3 U- `第15章 编写IDA脚本6 [4 @! k0 ]# ^; r' D* H
, o4 b8 L  A9 k! R, o
15.1执行脚本的基础知识
, a1 w' h* h/ y8 I' Q" p15.2IDC语言( u; Q5 M5 G' n3 P
15.2.1IDC变量
6 G6 r, k+ _" t$ X9 [) U15.2.2IDC表达式) t. z( l. w% ]  Q: x; x3 d7 N
15.2.3IDC语句9 H! ^9 A& _" |. y- U
15.2.4IDC函数- K- e( g$ |# f5 U3 S- ~  g
15.2.5IDC对象' q: \0 E/ a: I' u. W! e
15.2.6IDC程序6 `. z5 W7 D# T7 u  Z. L& p& q1 n
15.2.7IDC错误处理9 m* ^9 U; Z& j9 b: Z, y
15.2.8IDC永久数据存储5 q, |# r6 c4 V1 `' i
15.3关联IDC脚本与热键
* A- Q, i- E# e" U- y/ c- l15.4有用的IDC函数4 q( |' P4 I! @; e2 V  G
15.4.1读取和修改数据的函数
+ P! C. ?! Y  `3 c6 r6 T7 e: W: O15.4.2用户交互函数' \5 D" e" l4 k
15.4.3字符串操纵函数- _; h% L) R! M+ T2 n
15.4.4文件输入/输出函数
$ {7 `7 _0 `& t: n4 h, d; K, s15.4.5操纵数据库名称, v: z- w! e6 [, m6 [
15.4.6处理函数的函数
: E7 [* D3 Z, r. K15.4.7代码交叉引用函数0 e7 i/ u, \) a& s$ [( z/ F
15.4.8数据交叉引用函数
* Y% b0 K+ J, D9 o& J/ m! g) z15.4.9数据库操纵函数
( `* T3 S+ a3 d8 e: T9 a15.4.10数据库搜索函数8 |0 ]. O$ E7 [0 \9 |! Z0 Y
15.4.11反汇编行组件
/ X& r2 d0 z; |15.5IDC脚本示例
( z% M  ?  m* l15.5.1枚举函数3 m1 ~0 s- i, F# r6 r. p
15.5.2枚举指令
( `8 Y# ]; j6 e  u( U* U15.5.3枚举交叉引用0 }. r% r; x9 ^4 F
15.5.4枚举导出的函数( M; j: x5 H* z
15.5.5查找和标记函数参数8 l+ E5 h4 R8 h" n5 Q4 _" Z
15.5.6模拟汇编语言行为
1 u4 J% `1 z0 Q' V15.6IDAPython
3 s1 B6 |) g: P) Q& V15.7IDAPython脚本示例) i; k: \( V6 c) ]$ _
15.7.1枚举函数2 a$ E- ]1 |% t0 Z5 g9 A) M
15.7.2枚举指令
1 p3 y$ K. Q: O7 b; X) U# J0 x15.7.3枚举交叉引用
  M6 E# c6 Q; c/ y/ C+ l15.7.4枚举导出的函数- {- r$ J* ^+ d- c8 @
15.8小结7 N! A7 Y6 l3 O( g. w# w
/ Y3 X& c6 N6 n8 o1 N, v
第16章 IDA软件开发工具包
: q3 ~. H, V6 d0 u3 H
7 q& v0 x! R0 E3 b16.1SDK简介3 [% F5 `4 k% z9 D( f$ y/ D
16.1.1安装SDK( O$ g4 s3 Z. e% i1 |  |
16.1.2SDK的布局  r3 C, R4 a4 \6 u6 D6 |- |
16.1.3配置构建环境
$ @, C2 x- K3 m& V; e6 `( ^16.2IDA应用编程接口
3 N3 d9 |. h/ {$ k16.2.1头文件概述9 M" V: o! c! J. K; m) O  y
16.2.2网络节点& |5 {& B6 ?1 o: G% z! Z
16.2.3有用的SDK数据类型# ^3 c$ G% R9 z6 S# l2 ^' d
16.2.4常用的SDK函数; o' S& t4 D; t$ {) n# J* }
16.2.5IDA API迭代技巧
, Y- m2 Q2 f' b* l7 U; `16.3小结3 D9 W4 \$ [/ S% _

  `4 I0 E! F. r. |第17章 IDA插件体系结构
( [, o6 d0 h2 a8 X- t) Y
$ f6 }) O9 {( ~7 j  D$ y17.1编写插件  e* [/ s5 U! B: }3 I  c+ Y
17.1.1插件生命周期
+ \. v- A$ D! {) w17.1.2插件初始化5 Q$ }5 p4 Q" @' |! ]9 f, [  D
17.1.3事件通知
. w1 B$ O$ |2 H; b0 R17.1.4插件执行
& P% C& ?( Q/ n4 x, [# O17.2构建插件6 g1 w. z7 r( [$ P. B! q
17.3插件安装
% u1 `4 _2 W9 T+ O" m; S17.4插件配置* }% W& |$ c: o6 M/ ?! Q+ _( J
17.5扩展IDC
- \8 G+ t. Q% f# S% W( |3 g% u17.6插件用户界面选项
! [- `6 T6 G/ i, O17.6.1使用SDK的“选择器”对话框: X* p; p8 G( D+ Z0 \5 }. o
17.6.2使用SDK创建自定义表单) q; Y$ V* k' E+ y
17.6.3仅用于Windows的用户界面生成技巧
  E. R7 h* y. v17.6.4使用Qt生成用户界面
( ~' K+ O2 w" N+ O( @* ]. p6 s( V* o17.7脚本化插件
, O5 _' I" _0 T0 F7 b17.8小结
  e9 g. O! W4 t8 f# R5 e0 m7 P2 _  c6 F7 I5 F+ a' r
第18章 二进制文件与IDA加载器模块7 g  c) U* W7 B. y
+ x9 j- `0 [7 }" ]! I
18.1未知文件分析( d, Z( s$ Q2 E: |
18.2手动加载一个Windows PE文件
6 `1 R; t) w% n) H18.3IDA加载器模块+ P! S4 m& u& R: s
18.4使用SDK编写IDA加载器  x) G8 O) w  w" L# V1 A8 L# \7 i
18.4.1“傻瓜式”加载器
# s8 H. ~% i2 ?# L18.4.2构建IDA加载器模块
: w1 h! b5 f0 L* F3 q18.4.3IDA pcap加载器8 Z0 |4 l9 H% f3 I7 B0 E
18.5其他加载器策略
) k( ?% w! R* q8 A& K3 r18.6编写脚本化加载器
. h& l5 j6 b8 e7 {9 |: G  M" l18.7小结, S8 L6 t7 k# Y/ [1 V' a& p  W

- L% {0 m" Z5 s$ {: k. f第19章 IDA处理器模块
6 u  Y  w3 W% U$ R. O
* c& B* ]1 \0 }% P8 H" p" |$ h19.1Python字节码- C; d! Y7 ~+ p2 O
19.2Python解释器
+ [8 Q& I+ a5 m3 D& g, }. r19.3使用SDK编写处理器模块
: T7 }4 m$ _' N1 j0 Y19.3.1processor_t结构体
7 `/ q0 ]& {( i8 B19.3.2LPH 结构体的基本初始化
9 O& H" m+ o7 Y$ C! b19.3.3分析器
, b/ u1 u0 ]2 {19.3.4模拟器
/ _4 b: W3 @0 q19.3.5输出器" M4 ~: ~: S( B8 Z  J: k6 k7 m
19.3.6处理器通知5 h9 o9 a5 V0 C9 w3 ^* ^, G8 a
19.3.7其他processor_t成员3 Z5 C! D4 a- K6 s% k" _8 @7 N
19.4构建处理器模块) a' ^; |2 l4 J/ s) a1 l7 o1 Q
19.5定制现有的处理器) t3 H* w5 h, |5 r3 N6 l% u
19.6处理器模块体系结构7 @  x4 J6 }7 W, Z3 q1 H6 f( {% C$ s" {
19.7编写处理器模块
4 u9 G8 _8 h# N7 \( N6 K/ g+ [19.8小结
- `( J% W. R$ O( Z9 h  e! k
& V; |% |  J* R" p第五部分 实际应用! D- e) ~) Z7 m) T# P
, S$ ~* M  f2 Q2 Y, ]- ]9 u$ U- N
第20章 编译器变体
/ T, Y4 f$ e) ]2 W
7 M3 f! [' j* i; d8 n% e20.1跳转表与分支语句( z* w( W) E& g% F1 S0 K$ c
20.2RTTI实现
8 E2 r# q7 }) C$ P20.3定位main函数
: B- Y$ ]$ B2 e20.4调试版与发行版二进制文件
2 o5 c8 }+ T- R20.5其他调用约定
& X& P9 X4 [! r& W1 I& D20.6小结
0 c& I) l9 L/ A/ q/ U8 s) [2 M% P! k
第21章 模糊代码分析' ~- E. i9 I/ T

7 @; X: d  ^( G7 e/ @21.1反静态分析技巧' X/ l7 U/ Q& Y( m
21.1.1反汇编去同步
" w. k4 k) J3 L# R6 o. T" A21.1.2动态计算目标地址
; j2 b. C% P8 w" R# V( T( G) ]21.1.3导入的函数模糊
) _" E% P% q# s5 b% K7 _21.1.4有针对性地攻击分析工具
: [6 W; S4 v8 R9 `21.2反动态分析技巧
9 Q  h+ S# R( E21.2.1检测虚拟化
) c1 [+ q" M, l' Q2 q6 v! Z21.2.2检测“检测工具”
. g9 L' w  d  N7 \$ r21.2.3检测调试器
+ S* w# n) I  f6 \8 x21.2.4防止调试2 h2 I# F( @1 C+ U
21.3使用IDA对二进制文件进行“静态去模糊”4 O0 l* g! B6 ~8 Y% q$ m
21.3.1面向脚本的去模糊
0 l. ]. d  V7 n* k  `# t( ]; R8 X21.3.2面向模拟的去模糊
0 [6 t# W! W3 l) q, D21.4基于虚拟机的模糊# u% ^, {# r4 S8 `8 S
21.5小结8 x+ P  ?, u8 o! p5 b: E3 V. J9 b

/ H! h. z5 g' Z9 J5 ~第22章 漏洞分析
2 U% C) J; ?) s+ j
6 Z+ r) a6 s# Y8 X22.1使用IDA发现新的漏洞
$ z7 U0 o* w" O) E9 G22.2使用IDA在事后发现漏洞6 N4 w1 F5 ], {' g% b# Z( o
22.3IDA与破解程序开发过程
/ c( S" Q7 P/ c3 L! c6 M22.3.1栈帧细目0 R* q; r: l* p7 G2 Y% Y
22.3.2定位指令序列- m) H6 u( `  B. u) i; L
22.3.3查找有用的虚拟地址3 J8 H: A/ N* k+ b; q6 e1 ]1 d
22.4分析shellcode% t' R! N- s: b7 k; B( ~
22.5小结* g* M( `/ t9 d' d. P
" W: j6 o2 O# p, O9 @
第23章 实用IDA插件+ Z# ]/ B9 S0 ^" Z. Q6 P8 z/ n

& Q9 B  ]/ Q; Z# @/ _23.1Hex-Rays6 ^1 f9 d1 X/ z$ y
23.2IDAPython$ A: [5 ^0 ^5 t5 e
23.3collabREate
; {" n0 v- j, P. [. B" `6 Z23.4ida-x86emu. f4 U* C3 P/ }7 T; P
23.5Class Informer
3 X2 e( ?: Z3 C9 \# A23.6MyNav
* B6 }- R8 E* Q) }/ @: \9 s7 \23.7IdaPdf: G  L( E( X/ C1 H' j
23.8小结
! r  Y. g) D( m: \
+ \* \) ~$ `4 l# X# Z  [, J, P7 Z第六部分 IDA调试器9 t- _  J& j. o7 i& X  R1 D% a

2 i5 ]* i/ I( G0 V6 U第24章 IDA调试器# J( s7 G+ T( a5 g9 D# x
. Y5 r& [2 V- V0 W7 O
24.1启动调试器3 H( _  S' x5 L& c
24.2调试器的基本显示
8 G- n8 q# N: H- z5 M& g* c24.3进程控制& l7 Z; g' W9 V; P. d% T
24.3.1断点& I, E! v4 a6 c$ |9 _2 W8 K
24.3.2跟踪% u4 k/ b+ g4 h% b8 J; A2 U0 E
24.3.3栈跟踪
) k- Z; g6 k, B24.3.4监视
# h' V# q2 A' a4 q# U24.4调试器任务自动化
1 H9 \( Z3 [. P24.4.1为调试器操作编写脚本, B; R: R" n5 T; Y
24.4.2使用IDA插件实现调试器操作自动化
! f8 B2 s% l. v) f# a/ \24.5小结
& i1 w7 H& q  }% @( W- E" G& V( b/ u3 ?) ^+ k) G! ^
第25章 反汇编器/调试器集成
7 b* M1 d( A. A# `/ ]& y  U" f) d6 w- {1 f! {7 s" H
25.1背景知识5 ~6 V& ^$ e( N# V7 b- @+ \
25.2IDA数据库与IDA调试器
# f2 |% D  G0 j25.3调试模糊代码
3 k& E- c; T6 G  q. y25.3.1启动进程
2 @) q$ [3 V' }3 \25.3.2简单的解密和解压循环6 ?# Q8 p3 ~! e, [5 J' b
25.3.3导入表重建7 K) x. h( Z% i2 g
25.3.4隐藏调试器! m+ G: Y5 u( V% s2 f
25.4IDAStealth: y% f, v% z- h+ Z* U% T& C
25.5处理异常1 x) ~3 d7 J0 G5 a  V/ A
25.6小结
" d, J3 t4 \3 u: t$ u! Y, ]6 ]
, \/ ?# z' v4 |" v0 H8 g% I2 v7 m第26章 其他调试功能
9 w' G# r1 W/ y+ P7 H, w# s6 d6 n# A$ E# p' C6 ?7 \, y: S
26.1使用IDA进行远程调试
9 s( J. Y. g! W26.1.1使用Hex-Rays调试服务器! V; h5 N3 V  \
26.1.2连接到远程进程2 z3 o- Z1 ?9 A! V, B6 @- m
26.1.3远程调试期间的异常处理3 S: i/ b( M" y% t
26.1.4在远程调试过程中使用脚本和插件% x3 _1 `5 _6 K, Y3 q% S0 M  P+ O
26.2使用Bochs进行调试
+ t! h5 b) T  {6 |5 U1 O26.2.1Bochs IDB模式3 I& l! \( G2 m  @! {4 ^
26.2.2Bochs PE模式
5 y& u6 }2 _  ?0 r4 ]26.2.3Bochs磁盘映像模式& M, j: J# c" j3 Q5 b
26.3Appcall. ]' A( {1 V7 g
26.4小结8 X$ u( A$ T2 \7 R3 d

$ p# @1 E1 P8 }; @3 F- q附录A使用IDA免费版本5.0
: S6 K. R( o$ t/ {
* I& N2 ]$ s, `- G/ d附录BIDC/SDK交叉引用4 l& k; e) h+ z. V- g) `7 L& b

' L/ e% ^) N  b( b
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
累计签到:38 天
连续签到:1 天
最佳答案
10 
发表于 2017-6-15 15:01:15 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

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

小黑屋手机版Archiver( 粤公网安备 44051102000370号 | 粤ICP备11014136号

© 2010-2017 FishC.com GMT+8, 2017-8-20 21:29 Powered by Discuz! X2.5 Theme by dreambred

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