QQ登录

只需一步,快速开始

搜索
查看: 2148|回复: 1

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

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

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

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

x
22595398-1_u_1.jpg
$ S8 Y. A$ s; N( y3 S; l5 _- ?

8 ~" V& O( |+ t! W书名:《IDA Pro权威指南》(第2版)5 f2 l: F: U" w3 {1 u. L; j) C" P
作者:Chris Eagle! B  h; M7 i0 A+ j$ G5 N7 k
译者:石华耀,段桂菊3 j: K  t* Q$ Q' ]! w; Q
出版社:人民邮电出版社
$ W0 t$ d3 b3 n2 A% V4 O2 U出版年:2012年2月1日(第2版)
: m4 f  v/ [! Q定价:89.00元
5 I+ @2 y6 f4 x) ?0 {7 J装帧:平装3 c& g0 H- B* J$ k( t; p$ C
ISBN:97871152736806 W2 `# q) V9 ^; R& t- H/ h' F
% f0 I5 F/ T5 w5 z0 W& s
购买链接:
) k# p. w2 X' I. P! J/ s! q  G0 s8 R! r$ d+ M2 K$ a. @1 {


3 Z) V4 l, u4 m7 N4 i. m亚马逊(Kindle)-> 传送门' W  f* ~' g& f5 ^3 t) f* F

7 W2 w1 m- R- i9 r* b  z# ?当当网 -> 传送门
3 o3 G# h$ m" q
/ U1 R# `2 S7 j8 L京东 -> 传送门  l4 n$ W2 J8 S5 ?0 @# B" j

  u% s; f5 @4 P# O. W3 N. d3 e% R天猫 -> 传送门5 Z- q6 j/ ~% V" I" ~' x( U* W

; [" M3 B' _$ @- \# H! B' Z
) R# s% v- s' Q- t; D内容简介:; Y8 `7 J! Z/ R1 Q
7 c" u: g; N1 C5 ^2 R


' I9 _7 t/ I* a《IDA Pro权威指南》(第2版)共分为六部分,首先介绍了反汇编与逆向工程的基本信息和 IDA Pro 的背景知识,接着讨论了 IDA Pro 的基本用法和高级用法,然后讲解了其高扩展性及其在安全领域的实际应用,最后介绍了 IDA 的内置调试器(包括 Bochs 调试器),一方面让用户对 IDA Pro 有全面深入的了解,另一方面让读者掌握 IDA Pro 在现实中的应用。相比上一版,这一版以 IDA6.0 为基础,介绍了它的新的、基于 Qt 的图形用户界面,以及 IDAPython 插件。《IDA Pro权威指南》(第2版)适合 IT 领域的所有安全工作者阅读。; |$ K' n# W, I( l
" C( {4 g- M, E3 T9 w" T
* K$ u" W8 _  Z9 Z; s
目录:
$ N, \: }% Y' _. u! h  L
5 A7 N5 [* d9 R; Z/ ]

* }/ N9 Q* k0 u1 n1 @6 h' F第一部分 IDA简介) p2 W6 e. N$ ]/ [5 K" a! z, \0 x
5 _  ^+ @. E1 q6 y/ A8 P
第1章 反汇编简介
0 y; R' b& Q& J+ r# r
' ?# Z7 K+ P/ C$ a% s( C8 J1.1反汇编理论
2 K: w. d: Q% I1.2何为反汇编6 a7 _+ \# i) a+ E1 H3 x- U
1.3为何反汇编
. J5 p) i# n9 v1 {3 r# E- W/ p) G1.3.1分析恶意软件
$ K0 X+ C7 D/ _  `9 G/ f1.3.2漏洞分析8 D, r$ ^; D. W2 O3 J
1.3.3软件互操作性
! i$ o: w2 j* L$ n' G1.3.4编译器验证
! V0 L4 ?; D; S: ?# @1.3.5显示调试信息) _) j' Q8 B! H& ]7 ]; v
1.4如何反汇编
+ X) j: F& j9 L) O% f# Z$ v$ b1.4.1基本的反汇编算法
+ F' g- r0 n0 d" t% Z1.4.2线性扫描反汇编
1 L0 G) T/ D! ?: o! z1.4.3递归下降反汇编3 R4 v6 c8 V8 }$ h4 _
1.5小结
7 |: l9 V9 y# K2 s/ v# e9 H- H' y! ?1 \% a) S- b( k' f
第2章 逆向与反汇编工具
% y2 }" o4 {+ L' e
" X) `( W- l! r2.1分类工具
5 n9 F# p6 C6 c1 T9 Q) Z8 `2.1.1file
6 Y& A3 I& P0 t1 D6 j2.1.2PE Tools8 B7 W! d0 z. D  g# ]
2.1.3PEiD
3 |- }+ `" N, F1 {" U7 R3 \2.2摘要工具
+ k9 c/ L" x( Q0 a7 h/ {2.2.1nm8 L5 K! y# Y4 y6 E
2.2.2ldd
2 y4 z) T; A; ~3 l2.2.3objdump5 J' }! H; N# d3 o, E3 T- S
2.2.4otool; j# L; T- Y9 d; f" B, ]
2.2.5dumpbin
5 G$ {. z8 f  C5 }& u6 Q" S2.2.6c++filt- u0 K1 B# |9 u, T
2.3深度检测工具( _" b  k  b+ s0 T+ X% ?( m: K
2.3.1strings
0 M( ^' U9 D. v) g: @$ C: n2.3.2反汇编器
/ c' b. v: ^+ n0 S9 _# b2.4小结7 I4 r8 S7 U& h# g/ N6 f/ O' a+ y$ ]
2 K) _" A' V( ~: q/ x. N
第3章 IDA Pro背景知识: S' r( Z6 o. w9 X5 K2 b/ \* L

( p; ~' \0 M$ D$ j+ }3.1Hex-Rays公司的反盗版策略
+ b; C3 O! h% }% G: [! b3.2获取IDA Pro
/ s. x4 a. u; }6 T. W3.2.1IDA版本, J6 T4 J/ {  J5 a
3.2.2IDA许可证3 }+ p* Q  O* D+ y" z
3.2.3购买IDA
1 l' U* T5 L0 k9 |* @3.2.4升级IDA
3 Q1 [3 u4 V: T0 k8 ~/ W& U! ?3.3IDA支持资源5 S( _% W4 g. S7 w; {
3.4安装IDA. }$ y, I% ~& l6 I1 {! D9 O
3.4.1Windows安装# g# E' m- h5 M$ E* o; l4 i
3.4.2OS X和Linux安装
& l$ p! Y# p: ?' n3.4.3IDA与SELinux; `# a. U9 d1 f  h7 S* U
3.4.432位IDA与64位IDA  a+ R0 b! G" A- y  F9 I
3.4.5IDA目录的结构
: |: m+ v9 c5 x3.5IDA用户界面& f! t6 h! E6 T0 `, o) I/ K: R) N
3.6小结
; x1 X$ `2 _7 s2 n' d4 ], }0 t/ k% H2 _7 r
第二部分 IDA基本用法. a4 {% Y7 z& b9 ~- ?& b3 \7 s: I

, e: X2 B0 I% W( @2 g& f7 q第4章 IDA入门
( ]/ b' D( h9 }  r) }4 B  m
/ {9 Z$ Y' @; e9 ?( t* [7 [, t8 s$ S4.1启动IDA
' j: @# z5 U* F, ]7 |& n0 f: M4.1.1IDA文件加载
2 n4 [' x/ d. F" t" G4.1.2使用二进制文件加载器3 s4 W9 A+ S( r
4.2IDA数据库文件
/ \4 M. F  N" M0 T! t& N4 p4.2.1创建IDA数据库* S# U) R) z8 L+ K
4.2.2关闭IDA数据库1 t5 m2 f0 m* K- i4 ]) C
4.2.3重新打开数据库
7 I% I( Y/ O5 A9 I4.3IDA桌面简介
8 V% o" ^: I* w4.4初始分析时的桌面行为
# J) s6 a) W5 l; p  s, f$ ^, v& y4.5IDA桌面提示和技巧
5 V4 H5 k; }- `9 t3 Z- _$ H4.6报告bug
8 [3 ?  B/ n& Q; @, g4.7小结* E* d4 N/ u: d
1 g8 Y7 [7 [: m5 n! E& a5 E
第5章 IDA数据显示窗口
( p$ ?6 j" g: P/ q4 o" Z) {/ ]; S, D0 z' Q5 Z. `# t. l; t
5.1IDA主要的数据显示窗口( K- m. ?, z1 E/ E
5.1.1反汇编窗口
- u1 Y2 T2 m/ }; r9 }/ d  w5.1.2函数窗口2 P- C  [" u. d( F
5.1.3输出窗口2 `2 ]: l) Z) P& @4 C3 h- e
5.2次要的IDA显示窗口
% J$ ~$ @1 e+ C5.2.1十六进制窗口
/ v7 y: Z. i) S2 L5 Z5.2.2导出窗口
" e* Q- G& L$ j2 l- Q- B8 [5 }5.2.3导入窗口
: F) H: @: H5 e( b$ M5 D( }( x# g5.2.4结构体窗口
+ V8 }+ {2 |  J, ]: [3 _5.2.5枚举窗口  z$ u+ |# A. d6 L* m
5.3其他IDA显示窗口% I2 x# R" V$ f% ]2 k
5.3.1Strings 窗口
! O4 m# d; @1 A6 t' ?5.3.2Names 窗口
+ Z' L0 j: m& I: T( v5.3.3段窗口
: O  n% ]' M+ ]: {4 u" x( p  B; L" Q5.3.4签名窗口
+ P! F0 h9 I2 v" {: e* X5.3.5类型库窗口' L, x9 v/ D  a8 |. g
5.3.6函数调用窗口( Y+ Y! u: W6 c3 a; H3 [
5.3.7问题窗口
; y2 G  W0 m! y! K5 S8 j1 q7 n5 M5.4小结5 p2 w% |2 I, H

; i/ U$ _% _1 w; [) v. X2 t2 C第6章 反汇编导航
1 \; @( K) x% Z( d0 Z+ C% T
1 V! z' M; u- h* s6.1基本IDA导航
" A. A" a3 D: k* V# b9 {5 ^0 L! E# A6.1.1双击导航
  H& r6 |! x# D6.1.2跳转到地址
1 B; W' v! h, z1 `7 f& _/ Q6.1.3导航历史记录4 y  w6 J: n5 [9 T
6.2栈帧) s7 U" V. H& i" L# ]
6.2.1调用约定
7 @% h" |: ?/ i+ @/ {6.2.2局部变量布局
* J$ r0 U$ U, K4 t, p* _6.2.3栈帧示例4 z; f7 Y1 O/ r4 a+ I$ h
6.2.4IDA栈视图
8 r% B( A7 X4 H1 a. K6.3搜索数据库& E; v! ^+ h( U! U( D4 t
6.3.1文本搜索2 n" F! p- t4 Z: Z, V& n) @9 F# |2 p
6.3.2二进制搜索+ J% c; ]% e+ A1 R; F6 H7 x
6.4小结
9 H* _8 o; G% e2 J9 k
" Z7 w5 V" N, z+ j第7章 反汇编操作3 H; D$ K+ s; Z7 N8 r2 [) D
. g; w8 I8 i3 I/ l- t" V& }
7.1名称与命名' U1 y) v, {1 M, [& q( @0 j' I6 U, f! k2 l
7.1.1参数和局部变量% U) m' N. A4 h1 Z% [# V+ a) c
7.1.2已命名的位置5 y: A  k9 C' P7 U
7.1.3寄存器名称
% a2 w) F9 m$ [- k* i, G- D4 s2 j- M7.2IDA中的注释
$ o; q" _; @4 F1 [4 n+ ?7.2.1常规注释
$ v$ z8 n( W# E* _4 X7.2.2可重复注释+ w7 ]6 s! p( b6 d
7.2.3在前注释和在后注释
' e2 V$ o8 n8 @7.2.4函数注释- ]9 S( |, {- x
7.3基本代码转换
3 Z3 G6 I0 H, z, c  `7.3.1代码显示选项
! P! N! W' T& k2 {1 s% T- d: p" I$ A: M7.3.2格式化指令操作数5 O! K" s5 |1 e2 z  ]- R
7.3.3操纵函数" e' \, A$ U; Z& n% W: o) P5 E$ o  j
7.3.4数据与代码互相转换/ z0 l/ g' E8 ?
7.4基本数据转换
( {# K+ K2 \2 V" N# c9 q. E, n7.4.1指定数据大小
% G8 B6 ?5 }7 D# q# x8 \7.4.2处理字符串! k. }- d7 a7 B/ b* \, h% o
7.4.3指定数组9 h* c0 ?; [  O0 l3 M5 o
7.5小结# q5 J7 W# O0 O# \- F

4 u1 W: s' f4 m1 Q! u+ O% z5 X第8章 数据类型与数据结构+ R7 y1 L4 m% X8 L/ H

+ w( }2 C3 y5 h! P% ^* m" S8.1识别数据结构的用法
8 h" S9 o# ?" T+ Z% {+ C8.1.1数组成员访问* K, \9 ~5 r5 [
8.1.2结构体成员访问
* R: D6 t( r9 K& }8.2创建IDA结构体
  g9 W$ a( f1 e! m" `8.2.1创建一个新的结构体(或联合)
5 e8 W$ G4 d% c. j8 o2 `3 s8.2.2编辑结构体成员9 b: \3 L1 N3 w: I$ `% E
8.2.3用栈帧作为专用结构体: }& R: ?3 b; i" ]
8.3使用结构体模板* {1 ~. U3 w/ v$ f& i
8.4导入新的结构体2 ?0 M6 ]; G4 z1 P0 M) w
8.4.1解析C结构体声明: Z7 G$ n# p  E" g
8.4.2解析C头文件2 l7 I4 j, Y8 k. O# m
8.5使用标准结构体
) w+ P8 B- K. v  ]( U" m3 s% h8.6IDA TIL文件
" s4 z( d& N/ S* a: ?: v) u5 ~8.6.1加载新的TIL文件9 \2 B* e+ U! M0 `% V3 ]
8.6.2共享TIL文件; G  W7 S2 D: Z- I9 h. M3 n+ o
8.7C++逆向工程基础
( F8 q( K7 O0 g- n3 `$ f4 n; K8.7.1this指针
: s$ \, O' \& r5 y; n/ f5 |( T' y8.7.2虚函数和虚表4 l2 p$ K- [2 S  h1 m/ W. Y# \
8.7.3对象生命周期
. P2 A4 Z6 _5 x7 w7 I" N. p, F+ ~8 P8.7.4名称改编1 i2 C5 G, c0 e3 ~& L& s5 b* s
8.7.5运行时类型识别" d$ u3 q1 Y, m$ f
8.7.6继承关系& R/ t  Z& ~; R% o
8.7.7C++逆向工程参考文献9 ]# p4 L, R1 z. V' k2 l
8.8小结
( u" j0 y9 v& A8 _9 b; L/ k$ ?3 V; H5 g. R1 s
第9章 交叉引用与绘图功能! ^6 U* u# e, y( K

1 ^7 c0 k/ E" Z. h9.1交叉引用4 e* ]- D, d7 n: T2 F
9.1.1代码交叉引用) B* G6 h6 |- S9 m/ A
9.1.2数据交叉引用/ h1 M4 g0 t  X1 a8 G# O/ d
9.1.3交叉引用列表2 F' i5 m: T# ^! H! B
9.1.4函数调用
$ c  i4 f8 P6 k9.2IDA绘图* H6 k. p3 s; h3 v( W0 }
9.2.1IDA外部(第三方)图形
1 C5 }! d; K$ |9 T+ J4 J' B/ D4 F( F* f1 e9.2.2IDA的集成绘图视图1 ]& y3 Y8 O. h+ H0 E6 n7 b- I
9.3小结
9 F) j; n0 X" w; u2 E% E0 \8 Y8 u+ e4 I5 }6 f
第10章 IDA的多种面孔
6 R) `! Z  w* g" W) l' L0 g$ P0 ^- e0 v
10.1控制台模式IDA
: Z# d3 @6 R' c% [( h. g8 D10.1.1控制台模式的共同特性
/ M8 h9 i/ j% q; V4 Z' Q% e10.1.2Windows控制台
1 o, C9 y5 l; U, ?% M* g10.1.3Linux控制台( z* U2 s8 X, \: c3 a
10.1.4OS X控制台8 C6 ]' S5 S! W! K* O
10.2使用IDA的批量模式& a3 \' N# H1 Z: }$ S; S
10.3小结
. _# k# I/ r, u6 T) z$ W% X/ ?9 ~3 F& p. s
第三部分 IDA高级应用- m( T% b. y: Z0 F3 n& E

5 E7 z5 v  T+ `: X3 E第11章 定制IDA
  P! e8 Z1 ?8 @. X* B% J. {! b$ {& G) _, N) c
11.1配置文件% |" ]2 J; R( ~1 ]' P
11.1.1主配置文件:ida.cfg0 K+ P( r, @% ]# M& G8 K
11.1.2GUI配置文件:idagui.cfg% R& P3 I2 i* i$ {! _. f7 S" w
11.1.3控制台配置文件:idatui.cfg: Z1 V5 s. u2 T! r$ k- n
11.2其他IDA配置选项
1 s5 ?3 f" f1 {" {9 V+ c' [11.2.1IDA颜色. ]. `! d( q& G" b; c: a* z5 ^
11.2.2定制IDA工具栏+ h9 f6 S. t/ J5 n. S) A! n
11.3小结$ |) D, `5 Q" Y  F; V' e) E
) t1 x2 X: |) ]0 z9 u
第12章 使用FLIRT签名来识别库* k1 j: V2 d* d  G0 N
+ `9 F! b" p6 j+ M) ^% H
12.1快速库识别和鉴定技术" ^5 r2 S0 Y1 a# _
12.2应用FLIRT签名
2 ?: {" I! l( H( ]3 q) }' G12.3创建FLIRT签名文件! w) J' ?% i% c9 n( e" P9 R
12.3.1创建签名概述* H7 w; A; M6 U' ^6 ^% Y
12.3.2识别和获取静态库
2 y( V3 h# |) s. w* ]7 Z! Q9 x8 n12.3.3创建模式文件7 t9 }: _9 Z& `1 l$ I- G
12.3.4创建签名文件
( L7 s; ]; _: O5 X1 @: Z* N12.3.5启动签名
  m; j; c$ @2 N0 x) f12.4小结
  g" I! o* N6 a/ Q7 U6 N6 ]- l* j4 B( B
第13章 扩展IDA的知识
& d# Y5 z' p1 ~9 _, U4 L; h* i+ l
  `5 P; w! s5 u4 M) Z) P* t13.1扩充函数信息
' G4 i) O; `* r- O13.1.1IDS文件7 ]7 y% U2 Z" |/ f2 r0 P
13.1.2创建IDS文件! z3 q, j8 S- _; }: Y
13.2使用loadint扩充预定义注释- ]& ^: M9 `1 p9 Z
13.3小结
+ o: p8 ?: ]# C6 ]& v" X' M  L' |
6 S( Z& X. r- V* m- y! @第14章 修补二进制文件及其他IDA限制
3 b. t$ F* \. B
5 M7 v- r8 O8 I: q. t. ?; a14.1隐藏的补丁程序菜单5 Z( z5 x3 r" c! Y, }" \$ ~
14.1.1更改数据库字节
' I$ v1 C5 }5 z8 @14.1.2更改数据库中的字
/ \6 y0 Q) v: h: F) a5 j14.1.3使用汇编对话框3 b+ \% Z% b2 n4 F
14.2IDA输出文件与补丁生成
4 u9 i% c5 g7 k4 b- E14.2.1IDA生成的MAP文件
" h' ?7 c8 m# i3 s2 ^14.2.2IDA生成的ASM文件* G& M4 |+ W/ ~% f9 }
14.2.3IDA生成的INC文件: Q' K0 ~6 @1 }9 A2 M
14.2.4IDA生成的LST文件# D# m, s  t* a0 K7 l- j1 J
14.2.5IDA生成的EXE文件3 K! e* x' u7 g9 n0 A' |
14.2.6IDA生成的DIF文件. x- T' Z1 y  @3 [  ^
14.2.7IDA生成的HTML文件3 g. a1 B  e0 m: d4 o
14.3小结+ O" w7 U4 d, z

- I1 M2 V. L0 q/ m( o" w第四部分 扩展IDA的功能# `/ t+ @6 a5 N

& R( w' q+ {+ l6 f第15章 编写IDA脚本9 t  `+ x, n5 C
$ _8 T" p0 B8 c( c8 T0 u% d, R
15.1执行脚本的基础知识
0 n$ p' p6 U6 B( X' J15.2IDC语言
+ I5 m  S- h% D- A; K; F9 p15.2.1IDC变量
6 o( p; p5 d7 x4 U8 c% e7 j$ P15.2.2IDC表达式. q+ H) u7 D: d) n* \& g! D" g' ]
15.2.3IDC语句
3 v# n$ q  T& O15.2.4IDC函数5 j% ]+ C! x  e6 N
15.2.5IDC对象
. w. h4 h9 b7 c+ S* X' b15.2.6IDC程序, t0 T8 }# n  G9 s% g' i  ~
15.2.7IDC错误处理
. g$ H  H/ @3 j1 z# S15.2.8IDC永久数据存储7 ?% J2 P! G4 T! S1 l1 ^
15.3关联IDC脚本与热键
4 u/ g+ ]: J9 |15.4有用的IDC函数, k4 l7 G3 D, @: W* x8 y  G
15.4.1读取和修改数据的函数
& r* Q' [' z9 K+ r% d. S& p- M! X15.4.2用户交互函数
4 s. V# T& m. S15.4.3字符串操纵函数' A5 g; u* k$ e  f- m% ?6 O
15.4.4文件输入/输出函数
% }; r  R. d( V# s" ~" J& |; L15.4.5操纵数据库名称- L/ M* f9 Y7 [; I! s: A
15.4.6处理函数的函数
. F) U) p* U8 Q" A7 ~15.4.7代码交叉引用函数
2 [$ M$ L& ?# w. Y. R. d% `15.4.8数据交叉引用函数. s8 t) `! A3 S* D
15.4.9数据库操纵函数" t' d2 M+ z% o! S
15.4.10数据库搜索函数+ n/ Y+ s) [. a1 |3 o- H7 w6 ~
15.4.11反汇编行组件
: d3 e3 x/ q2 m& o15.5IDC脚本示例
: E0 x2 {0 ?6 _, c15.5.1枚举函数/ a. Z/ ~  {; f
15.5.2枚举指令
  Z/ e" X: x( G* n5 e15.5.3枚举交叉引用
$ G8 q5 w% I2 v3 P* z+ m  i" o. `6 r15.5.4枚举导出的函数: V. Y3 }+ t. M
15.5.5查找和标记函数参数& H$ v8 X, Q% u6 U- n
15.5.6模拟汇编语言行为
6 s0 p4 G2 v, t; Q% y9 T. D15.6IDAPython/ P* C( J3 j0 A) {' R
15.7IDAPython脚本示例  E5 M9 [7 a( w0 x; u
15.7.1枚举函数3 F3 G* {! O/ O+ r
15.7.2枚举指令
' f1 m, i6 L/ E2 e9 ?$ p15.7.3枚举交叉引用6 Q2 V; w" C3 \* s: j; h
15.7.4枚举导出的函数
) ?/ o( g; d- L5 v9 a15.8小结" K5 F' h' C7 l, m+ W# Q6 o
* l5 U, G0 E5 t7 e8 Z
第16章 IDA软件开发工具包8 M1 O$ k) j# s& q5 p

# \  u$ ^" l( e+ L0 T16.1SDK简介) d; h" b: I) B* x; }% y6 N
16.1.1安装SDK9 b0 s3 p* S. f  b! c6 B1 v
16.1.2SDK的布局
+ r% B/ d8 y$ |: j16.1.3配置构建环境
* F1 V" X9 a* E8 C16.2IDA应用编程接口
/ S& M; P7 U; d" b) ^* R, m! b16.2.1头文件概述
% d3 K( _' @2 [0 \2 Y* x16.2.2网络节点6 R% D. f# Q# q1 k# O, d: c/ t
16.2.3有用的SDK数据类型; p) r2 b( b7 ~6 i1 X; N
16.2.4常用的SDK函数
& J) m, L9 [" j0 q  i1 Y% H16.2.5IDA API迭代技巧  n# S9 f: l" Y& A! k7 B. k
16.3小结
) j: ^/ B( D" |9 [
+ u/ r% b: U  f4 C第17章 IDA插件体系结构
2 W& z! f+ N) R$ G/ q; }3 V+ f5 W* u
17.1编写插件* f  d. a% E4 a! `
17.1.1插件生命周期
* J: y# l9 w9 }1 s  o5 R17.1.2插件初始化
  w- m0 }; d' w; z8 W17.1.3事件通知4 P* {* V" J) J
17.1.4插件执行# e3 p! w+ P7 V, M8 e7 X
17.2构建插件
3 \( {7 J) k' Q: c+ t: U" o17.3插件安装: o  h6 {& O! w6 @( |
17.4插件配置
# h1 Z! Z- B% f17.5扩展IDC
+ e& r! V) N; ]17.6插件用户界面选项5 E6 Y* ]# y  O# Q  w
17.6.1使用SDK的“选择器”对话框# c9 P+ I+ l' m
17.6.2使用SDK创建自定义表单
0 p+ ~5 K' c8 K; @17.6.3仅用于Windows的用户界面生成技巧+ W; a5 ^  T/ n7 S) k8 J, R5 u; |$ [
17.6.4使用Qt生成用户界面  u- F* N" z1 j1 i4 K. X+ ]/ o4 D
17.7脚本化插件
! ]; j: s5 p4 N) o1 ^7 E2 |' j17.8小结' {; O% S  {! j- G: h7 w* T
8 V" w8 G! p8 Q. w5 t
第18章 二进制文件与IDA加载器模块  A* v' n% `* {; |9 Y5 ~- y

6 x0 u) v! d) l- H: T' j18.1未知文件分析8 W* i5 D& @( ~  k
18.2手动加载一个Windows PE文件$ W. E+ W% \/ S% m
18.3IDA加载器模块
) ?) V, ?) s3 D5 G0 \1 @18.4使用SDK编写IDA加载器$ v6 w( S8 u% N# `+ Q
18.4.1“傻瓜式”加载器
& J. r4 f5 a( M4 z1 u% g5 u0 l" {8 _18.4.2构建IDA加载器模块4 A  j; ^8 _' W) A9 U- [
18.4.3IDA pcap加载器
' s6 i4 A! l  x  C5 a3 k18.5其他加载器策略
2 y: N, L- [) m2 D& z# b18.6编写脚本化加载器% x" V/ H. n4 u3 N' b2 ?6 {& k
18.7小结
+ g( O" T& z% \/ X  a4 [3 @. |7 R7 v6 A$ l; B% U
第19章 IDA处理器模块
/ F  C% X8 p9 v; k
# z6 [8 g: t! k2 m- w) _19.1Python字节码& O* n4 `8 u, H  _
19.2Python解释器- e2 d' E3 b9 T* Q# A- }6 q
19.3使用SDK编写处理器模块
8 M; ?" l5 d/ z' @# o6 v# M: l19.3.1processor_t结构体7 K6 u1 D/ q( J; j: d  T# l
19.3.2LPH 结构体的基本初始化4 a6 g: q# z/ `' x. F
19.3.3分析器( t' U9 n# Q! g0 F# B1 b! i
19.3.4模拟器
3 j6 c8 b( ^1 f/ h19.3.5输出器
% e8 P1 B3 i: Y+ t2 e2 F2 H19.3.6处理器通知
, b0 [+ Q3 Z) [/ V( e19.3.7其他processor_t成员
$ W0 V9 G: r% o7 c8 ?19.4构建处理器模块5 G2 d! x* ^* g6 {1 i2 K6 @
19.5定制现有的处理器) q& z0 m) D6 r' Q
19.6处理器模块体系结构, n2 x( a* Z& `. N0 t* A* v) e! z
19.7编写处理器模块
+ ^" t  ?+ {, x$ w19.8小结2 `- g+ N1 |2 |3 t1 B- a: H

; S4 @+ [+ i  u6 V第五部分 实际应用
, f$ [3 d3 Y  p- O5 ?
( C) L$ l- x1 Q- d2 l! F第20章 编译器变体# T6 o/ f6 g( \  O
4 H/ U* n9 D1 t( M% O* j
20.1跳转表与分支语句
/ D. Q" r/ q6 U20.2RTTI实现: q( f+ P1 n0 }
20.3定位main函数+ N- S' m; e1 |8 N1 t* o$ Z
20.4调试版与发行版二进制文件
* d0 W  l: J% z20.5其他调用约定
9 ~: i  c- M, V1 n20.6小结
: Y; u$ O' k+ N( q$ @; n% n+ g4 B
第21章 模糊代码分析
7 q' v4 _. J! E( y. S& b
' b  B* v) g0 z4 x; l0 z21.1反静态分析技巧: ~0 ^9 A2 x) H8 \  T
21.1.1反汇编去同步
: U  M( X4 k" ]8 A0 G! F# ]2 {21.1.2动态计算目标地址- [. O  f* a4 }& X5 P& u
21.1.3导入的函数模糊
! u/ u7 v0 i$ k: {9 v21.1.4有针对性地攻击分析工具
9 V/ G+ @% p/ _' {  _5 p) M21.2反动态分析技巧
: Q# H( O# m1 Z0 b# x5 [: j6 O21.2.1检测虚拟化
. i% }) {( @/ I. u6 _21.2.2检测“检测工具”; S/ l* l  H+ P" v1 D
21.2.3检测调试器# Z* D) P' \6 z
21.2.4防止调试* e" H( G0 T  a! b& L4 u7 K* f0 I
21.3使用IDA对二进制文件进行“静态去模糊”1 d4 B8 z9 V, [" f+ F9 g% n. w
21.3.1面向脚本的去模糊- U& Z6 ]" E7 P) v. Y: I8 c
21.3.2面向模拟的去模糊
( a: j8 y+ Q1 M- r21.4基于虚拟机的模糊
3 E, `' V0 S& [6 J) o+ T1 D# P# T* I21.5小结
5 ^( Y( R( W# _; |  |8 ~/ _' `  G- g0 B8 y! s' s5 g6 j
第22章 漏洞分析
- k3 j  R  Z/ t3 S
% U2 o$ o' s5 x4 H9 ^( ^  P22.1使用IDA发现新的漏洞
4 J1 o6 g' Q8 P  T" \) G6 E6 N+ a22.2使用IDA在事后发现漏洞
8 n8 r, {( k+ }/ ^  ?22.3IDA与破解程序开发过程
8 q- A' e0 s1 N2 T* X, ~* R) s3 ?9 l: T2 |22.3.1栈帧细目
  N) R: b8 L0 Z& y2 q0 t2 }22.3.2定位指令序列
9 D7 L5 B" N# L( ^: L22.3.3查找有用的虚拟地址
7 z( A. [( S2 q3 {' H$ s$ K5 J22.4分析shellcode
7 L  W* g' E# D! R+ h) \22.5小结
% w# ^. n/ Y  R. q- H, T0 J, C1 @) g) q) S# ]) [  y" D$ U8 ^
第23章 实用IDA插件; K$ o$ s" N2 L  @/ X# w4 h% ^6 V

7 q8 I& O4 j9 V* {23.1Hex-Rays
3 U  E+ U$ ?( T23.2IDAPython& G9 J7 a, ?+ M4 Q( t
23.3collabREate6 t4 p" T9 D; p5 t. S7 }
23.4ida-x86emu
& l, r$ A8 o+ d) \  M" Y23.5Class Informer
$ ^, o8 b+ g1 P$ \9 {4 Y0 X; U23.6MyNav7 }1 i9 Q9 N6 y# G' a& a0 w
23.7IdaPdf
. q* Q+ @, F8 Q4 G+ _  j23.8小结" M; B$ W5 @5 Y$ Q

5 j5 N6 Z0 v, Q2 p# m# c' S, L  E第六部分 IDA调试器
8 q, Y7 m; T' T" ~5 l. f# v
2 `2 l( K8 u5 w* s3 y& l第24章 IDA调试器0 y: H" O; K  f9 A) C

  m8 f! H3 d# m. R+ j. ]2 X2 z24.1启动调试器
9 u3 c  F( g6 E7 A24.2调试器的基本显示) L; x. z  U/ k. S- M7 f
24.3进程控制
. k  Z3 f/ w0 H24.3.1断点+ `; c5 i" @% ?* A! y$ f
24.3.2跟踪
* _' {2 u* E1 e  l* k* y; M: c7 I4 L24.3.3栈跟踪
% f1 A* _+ c3 d24.3.4监视( q& |' Y; C. x( ?& X4 i" z
24.4调试器任务自动化
7 q3 `: U. O0 L/ p24.4.1为调试器操作编写脚本/ e7 J3 w; n3 }- C  ?5 @
24.4.2使用IDA插件实现调试器操作自动化
3 [) t4 o$ @7 F+ v  ^0 K3 @" w24.5小结/ k4 n" [6 e( q9 c7 p
/ O7 F$ v  v# E2 t' J$ W" W
第25章 反汇编器/调试器集成0 x  J' o: p+ s; j' ]# X- I  `

# v% s' Y* S* V2 j& N5 K/ A25.1背景知识) g: _& m1 K$ v+ X8 I# @7 `2 W
25.2IDA数据库与IDA调试器- H1 _* Z3 ?9 D5 E7 q
25.3调试模糊代码
9 ]7 G" g9 d- O  B5 b: {6 `25.3.1启动进程7 s) R& @8 N1 \6 O, {
25.3.2简单的解密和解压循环6 P1 m( i: z8 T5 D2 z; U$ R
25.3.3导入表重建
$ i( [* v* @4 F; a/ }25.3.4隐藏调试器4 p" T2 ^5 d# l* u' {  a+ X
25.4IDAStealth
5 f% j& r( A0 r8 ~1 |0 _( M9 z25.5处理异常
. J. t' H9 a0 e! X: x8 P7 t' v' I25.6小结
8 q  U  O) y$ u( H; A6 S1 [$ x* [/ E9 ~5 x- }: Y
第26章 其他调试功能
$ e0 o" [7 t4 q2 Z+ @! [& X6 ^4 t7 B: Q; E9 z/ z+ p
26.1使用IDA进行远程调试/ N6 a3 r9 \  y
26.1.1使用Hex-Rays调试服务器
, p. ?: D4 o/ Z" V0 v# O9 W26.1.2连接到远程进程
, N  p! E* i8 r5 G3 V26.1.3远程调试期间的异常处理" R8 \0 A: V" I( {3 z' G! r7 @
26.1.4在远程调试过程中使用脚本和插件
6 Q( v2 u9 n2 `6 G% C26.2使用Bochs进行调试
: ]$ z& Q) l  l; d0 g9 z$ z, ?26.2.1Bochs IDB模式
# K4 [3 v4 _5 ?) Q26.2.2Bochs PE模式
: C  [& G0 u, e% P: V26.2.3Bochs磁盘映像模式9 I1 p% m* W% j: k, s
26.3Appcall+ w$ _' Q$ V2 P2 |- L/ d( E- }; D
26.4小结
' t1 Q; {( |+ Y8 A
  q- J* ?/ m9 m" ]附录A使用IDA免费版本5.0" I) Q1 z$ G- B  w
" }8 D5 D3 c* F; F) a9 f  m+ ]
附录BIDC/SDK交叉引用
3 X8 h9 y8 J  t7 N8 _( f
2 c8 k1 n/ r% @7 h( o1 _" e
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
10 
累计签到:41 天
连续签到:1 天
发表于 2017-6-15 15:01:15 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

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

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

© 2010-2017 FishC.com GMT+8, 2017-10-23 23:28 Powered by Discuz! X2.5 Theme by dreambred

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