鱼C论坛

 找回密码
 立即注册
查看: 8788|回复: 2

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

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

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

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

x
22595398-1_u_1.jpg

* w5 [4 ^' V7 \$ [8 w! X7 X( t, a! F# b! k( t9 O3 a
书名:《IDA Pro权威指南》(第2版)
: C  h* O) j5 P# c! n# C$ f6 ?) V作者:Chris Eagle
% C6 r) N3 P7 q译者:石华耀,段桂菊
+ z% J7 r8 V1 }/ ~0 s# Z# X出版社:人民邮电出版社
' I* u# t" ]6 |  z5 j出版年:2012年2月1日(第2版)* h1 G0 K- v+ G: Q# e* l
定价:89.00元
# i# i9 _0 y2 S" ~( e6 y6 K# B装帧:平装- n2 M! {6 r; Q/ j9 H: n8 ^- Q2 j' h
ISBN:9787115273680
! e9 M  T; w1 N, N9 O4 n& C/ Y% i0 A. l/ q; ?0 u' O
购买链接:
) l$ g) C4 j. Y% U) E. _" o2 F7 E$ Q, e" u. J; Q9 k


6 f$ \* ~# d) f, y2 {' O4 ^& j1 N亚马逊(Kindle)-> 传送门
# L8 y) V* C! j" @: ?
$ @9 }- n& j5 m* m  w$ K$ R当当网 -> 传送门9 d" X! y4 a4 r  V

( C$ t6 e, N  Z! M- B. S4 P/ m京东 -> 传送门: `; b! j/ S' b( ?  _

1 ]& }! P8 {* u% S8 ^0 h% H2 v0 ]/ P天猫 -> 传送门
( F; v: F& U* l9 z" ]
7 g" R3 \/ X; M
6 A1 S7 ^* f( \0 V3 z2 [' O( H内容简介:
- v3 M7 P$ @% M3 G
7 [' T! N% G- d4 D8 D# \+ F
" B; M5 f7 k6 r$ @+ D5 T( _( B3 ^
《IDA Pro权威指南》(第2版)共分为六部分,首先介绍了反汇编与逆向工程的基本信息和 IDA Pro 的背景知识,接着讨论了 IDA Pro 的基本用法和高级用法,然后讲解了其高扩展性及其在安全领域的实际应用,最后介绍了 IDA 的内置调试器(包括 Bochs 调试器),一方面让用户对 IDA Pro 有全面深入的了解,另一方面让读者掌握 IDA Pro 在现实中的应用。相比上一版,这一版以 IDA6.0 为基础,介绍了它的新的、基于 Qt 的图形用户界面,以及 IDAPython 插件。《IDA Pro权威指南》(第2版)适合 IT 领域的所有安全工作者阅读。* ?2 i& {% `! N$ r# ]9 g0 s; E

! [: _1 r5 d2 s3 D
, K. {  \; v- T. P+ u0 L. d+ C目录:/ ^; X. E& J. P2 Q" N
' H) ~; C9 W) P0 R' ], }


+ h! n* a/ `4 @! `5 D8 }* G第一部分 IDA简介1 ~7 S1 {5 E! s7 R) C
( R% W) g- W) y
第1章 反汇编简介2 R. n' I* G! i+ `  l1 s! G
7 S+ @% ~" y$ u  ?- j4 F
1.1反汇编理论
1 m* ~) n6 G& s! e1.2何为反汇编
. S: I; \, ~; L7 l: g1.3为何反汇编" ~( ^. F! J+ l
1.3.1分析恶意软件5 q$ _, R) \1 m1 q9 f! I, Q$ n% d
1.3.2漏洞分析
( y' d: y- P0 i7 j: ?1.3.3软件互操作性; y7 O* S8 b7 {# I% u! f
1.3.4编译器验证
& C: G6 N* g+ q2 S9 m1 b) D/ a1.3.5显示调试信息7 {! Q( V2 }5 N5 X6 D. M  V1 {/ `
1.4如何反汇编$ q" D4 `% ~# V4 }4 m
1.4.1基本的反汇编算法
& Q8 d4 J( C) u, R1.4.2线性扫描反汇编
4 F7 P% u3 r8 {9 Z6 F! }& h1.4.3递归下降反汇编& W% u; u& ^' a0 v- m( m0 P) V
1.5小结% t) G& ~5 ^' g9 b- A  y- ~% ?
6 z0 C8 b: T" I0 Z, a, V
第2章 逆向与反汇编工具
$ O% w8 }" c6 O/ ~$ E4 W* E" d
2 i! w; \3 d; y* A2.1分类工具
, u# j4 O4 u8 B) }5 P2.1.1file
, o0 s% g  g. U$ z4 y8 s: m- W2.1.2PE Tools. G. r6 E4 q1 d& y5 G
2.1.3PEiD$ v( g5 a2 u# d' {. i9 A) Y
2.2摘要工具
$ u  a  K0 G: N* ~+ V7 I; _2.2.1nm
$ L0 G1 [' M: H1 b0 W, D+ p2.2.2ldd7 n( o1 E, o7 o2 J
2.2.3objdump6 G+ r( W0 g; S2 f
2.2.4otool1 Y; B2 ~1 f4 Y) S0 }
2.2.5dumpbin
. a. s) m  E' X  T# u3 J6 t& D2.2.6c++filt
' g) ]; C$ M$ b, l' z$ {/ A/ h$ q, T8 n2.3深度检测工具7 W. ^* f4 Q/ |8 f& `3 n! R" l
2.3.1strings
' u/ R) N/ J( c  A8 v+ j2.3.2反汇编器4 s% m1 `4 s) p/ C
2.4小结
$ V* h0 l7 a1 }, z& M# E9 a; |& s
# t4 ^2 u: E- |9 w第3章 IDA Pro背景知识
2 K! r$ p9 n& k# N
/ q% w7 S2 c$ }; @8 S# y& r) `6 ?3.1Hex-Rays公司的反盗版策略, c" @1 K7 b  I, J) {! B5 A
3.2获取IDA Pro
5 g1 [# ^% N$ Z. O3.2.1IDA版本' [2 S( f! F$ l
3.2.2IDA许可证5 ]+ A9 M8 q7 X4 ?
3.2.3购买IDA
/ N0 O% u9 L! n$ r3.2.4升级IDA
* P5 [/ c: f4 `" V* Q0 V3.3IDA支持资源2 B" i! Z6 V/ t( X8 r8 H
3.4安装IDA. a" G+ s$ L2 q4 e
3.4.1Windows安装
) a5 S- B0 h1 s. G8 D( S3.4.2OS X和Linux安装6 O( J. i" M+ S; N7 l
3.4.3IDA与SELinux, `7 \6 d" _$ b
3.4.432位IDA与64位IDA# Y# N; l) b# ~2 f9 r$ x! ^
3.4.5IDA目录的结构
5 n, w. d8 H$ L% h: p3.5IDA用户界面
* O3 m3 W; L% U7 X* O1 o- V* n3.6小结
5 ~' y7 l. F, X, q, Q5 [4 f
6 z2 Y5 f$ @  R! d第二部分 IDA基本用法
9 l+ A  n' I; O" M* V9 [$ l5 J2 t2 m. x- |( [2 H
第4章 IDA入门
1 y+ H/ o9 l, Z- K
3 l$ d& g& E) ~( D4.1启动IDA
: M) K* f5 J2 j1 a4.1.1IDA文件加载  |  y6 L- D! \# d& m7 a, e
4.1.2使用二进制文件加载器+ P6 \/ G& K1 G( z+ H
4.2IDA数据库文件' [8 R6 ~0 r$ Q8 T; w
4.2.1创建IDA数据库
% m* L* G7 i, z- x1 \4.2.2关闭IDA数据库
+ |+ r: `3 h  h1 A. [4 Y7 u+ j4.2.3重新打开数据库1 P* G6 }. V( G. U- C  ~
4.3IDA桌面简介1 I' t# X; H3 G, O
4.4初始分析时的桌面行为
4 t) s4 r+ B) M8 K9 z: [/ W4.5IDA桌面提示和技巧
- Z( z" T- b* U  K& m4.6报告bug5 ?# M2 ~- q+ D( M% D  y
4.7小结
0 t0 b4 `- W$ z" b6 [! V+ K
7 K3 T8 c( N, x第5章 IDA数据显示窗口
; f, d/ o- u2 y$ o: @
2 t1 h9 x* G2 s& E1 z0 A7 s+ H5.1IDA主要的数据显示窗口# Q" q+ @! F6 _( i
5.1.1反汇编窗口1 y! p7 A( I% f; x9 {0 l9 Q* d
5.1.2函数窗口
9 E: N5 Y* V8 s5 Z4 [- `, N5.1.3输出窗口8 {" E  H2 w9 [# r. V) f" T. d
5.2次要的IDA显示窗口
5 z3 k) a9 n; }0 r: _4 }5.2.1十六进制窗口1 Q0 d& J0 x  `# R+ D; ^! x/ R0 n
5.2.2导出窗口4 B' Q" m' m/ i) k; k/ n
5.2.3导入窗口
3 j' {3 G; V  Q5 p* Z" n* I5.2.4结构体窗口
+ l: S* v/ W* [4 a! e# m( o5.2.5枚举窗口2 m+ g2 N7 v! v: O. ]" A1 y
5.3其他IDA显示窗口: X0 d8 K( F) H: p& p6 I. m
5.3.1Strings 窗口8 t8 V, Q# K9 G  h; G# T) L! I
5.3.2Names 窗口
, [3 p" Y9 c8 b( ^1 A& q5.3.3段窗口1 h9 }# _4 F$ M- E9 X! k' n
5.3.4签名窗口
6 S8 ]' ]& y, M- ]. J5.3.5类型库窗口
+ [0 C: R' ?/ R8 o( \5.3.6函数调用窗口" z- O# n# V( ]% v+ o
5.3.7问题窗口: ]) ^8 D" p# H+ W" K/ n9 z, C) v
5.4小结1 k! b- N, [; T5 h3 M0 C; x% p

' x- B4 M  F5 g2 A+ m5 A# G第6章 反汇编导航- @+ ?. d+ a5 j' Y+ ]: ?% I5 I
* {2 l0 R4 Z: |2 p4 }0 p5 K
6.1基本IDA导航
3 D6 I5 c0 t! x6 r6.1.1双击导航
, a$ O; |2 Y. S! z2 {2 Y* a6.1.2跳转到地址8 j1 v& L# A. a4 k* \4 S/ I
6.1.3导航历史记录1 V9 T$ c3 h5 i  R. L- G
6.2栈帧' G; c: ~; t; b
6.2.1调用约定3 r; A5 G: I0 P7 t
6.2.2局部变量布局
+ x8 f4 R& H( s% u+ {( Q8 L6.2.3栈帧示例
& Y6 O; v* U5 R' Y3 y6.2.4IDA栈视图4 l/ c+ W% m) O) p4 P7 T
6.3搜索数据库0 v- [# I0 Z& w1 V! ?! {3 |
6.3.1文本搜索8 D! a9 J4 [5 e* B
6.3.2二进制搜索
1 Y  _/ o8 Y" }- Z) c8 P$ ~6.4小结
  D- Q. [& ^+ I: F/ h) l4 T' h7 y9 ]
6 V- d2 i* c; e6 H8 r/ o. ^第7章 反汇编操作
, \; l- k" X# Y! i0 F
- [8 r" ^$ X- O# }0 b7 P* _/ M7.1名称与命名
6 @8 T( M" O6 u3 r8 g7.1.1参数和局部变量
& `2 f$ b( O" y2 a  e( E7.1.2已命名的位置2 B+ a( L9 P2 Q0 z5 U
7.1.3寄存器名称
7 N) E0 P8 u: F! m$ i7 T1 v/ y7.2IDA中的注释
( h$ j$ `" r6 b$ k; ~7 ~$ A% H: E  J7 i7.2.1常规注释
1 r& p! X# d4 D9 ^7.2.2可重复注释% L4 b: K3 y. N" Z6 m% G
7.2.3在前注释和在后注释
3 V# B+ v  u. t; x5 E8 \- x7.2.4函数注释
" ]: c$ u5 J" W( J7 l9 z1 g1 ~7.3基本代码转换
0 Z: h; O9 |) F+ p7.3.1代码显示选项1 u( B% n  V* }3 r
7.3.2格式化指令操作数' ]/ }" }- A' ]% U0 i; w& E% m
7.3.3操纵函数# A* N! T& ?* d# x) {7 j& t
7.3.4数据与代码互相转换
: V! G& Z% ~2 \+ V7.4基本数据转换' {: Y4 H, H8 j3 U8 k
7.4.1指定数据大小) d- \, x0 }8 e$ Y
7.4.2处理字符串0 o) W1 U# A1 @5 g, Z6 k4 r
7.4.3指定数组3 \( a9 X- }% w# c0 Y
7.5小结
4 J5 q3 u% B5 Y3 Y. r' \0 ?. p4 T
第8章 数据类型与数据结构
. ]: a& C7 ?7 E4 w) g- w( |- D, R1 B3 E% U1 n
8.1识别数据结构的用法7 y. j3 x: h& J5 h8 D5 z  O
8.1.1数组成员访问
+ `/ }, s6 ]7 C8.1.2结构体成员访问4 r- C5 [' l! T4 E1 G) q' Q
8.2创建IDA结构体
! b8 j1 d9 g' @* V8.2.1创建一个新的结构体(或联合)5 l2 K- x- L8 a  P, T
8.2.2编辑结构体成员4 f8 x3 p. q4 T; j- [- B
8.2.3用栈帧作为专用结构体+ D$ k0 N. p+ Q  R. ~
8.3使用结构体模板; I( M5 J7 |3 g
8.4导入新的结构体: g9 ^* u9 e1 O' i; K
8.4.1解析C结构体声明( a8 J; ]; Q" E
8.4.2解析C头文件+ x4 n" g! W8 ~& `2 u' K" h1 ^5 `
8.5使用标准结构体1 S, i; q9 p  J" S6 U- f+ o, J
8.6IDA TIL文件# K4 p! g' l$ }( f3 q: \6 k
8.6.1加载新的TIL文件
: F8 e/ y2 T4 n( [: X/ O8.6.2共享TIL文件
* Q' V6 f' Q' C0 P" Z$ p5 }8.7C++逆向工程基础
* _' ~3 m6 |. F; P2 b& D1 w1 X8 V( N8.7.1this指针2 H; _# ~, F1 E, X5 h* k, \
8.7.2虚函数和虚表+ y% l; n. \/ [. y! K0 x
8.7.3对象生命周期
  F/ [& Q/ r+ Z. I9 U8.7.4名称改编. R& F5 |/ c' t' X
8.7.5运行时类型识别4 w1 a. m. `$ a# ?/ c8 w0 ?
8.7.6继承关系
4 K  i9 S. ]# ~/ j4 _. s: o) q$ C8.7.7C++逆向工程参考文献
2 ^2 r( c& X& U. Y  ]) a8.8小结
1 I4 _4 v5 I- P1 W: Z+ p# S
- i# f$ k/ J7 X5 _# I; D& W第9章 交叉引用与绘图功能
  C/ K+ ^/ \& w2 ?! i0 m
8 }5 C* y& l2 i' \9.1交叉引用0 A/ x) V* }! B
9.1.1代码交叉引用; {! K7 ^& o% Y6 [: M
9.1.2数据交叉引用
/ I( ^1 o( M, B' ]5 M) o9.1.3交叉引用列表% t9 N3 C0 p- E' `: I
9.1.4函数调用
. b, c+ d; j/ z! }2 W( e( S9.2IDA绘图
& Z5 _6 n- C4 ?5 c# N9.2.1IDA外部(第三方)图形% _5 V0 Y* s) Z1 j  P5 L$ _+ W! o
9.2.2IDA的集成绘图视图
$ m6 w1 P3 q# |4 o9.3小结
- i& v; m& L0 _; \
( Q4 _+ I6 y1 ]% b7 p' U. _第10章 IDA的多种面孔
; _# t/ b* L' J3 M6 o
8 p! u) P1 h+ z4 Q10.1控制台模式IDA
4 k  F, n+ Q: c10.1.1控制台模式的共同特性
2 {$ b  D% K; I, e0 j7 l10.1.2Windows控制台
8 d: U; W. h, _% P10.1.3Linux控制台0 e; q9 P6 V' q, e; C+ U5 \8 h! G
10.1.4OS X控制台" F, t8 j3 Q) U9 Q+ _. e" r2 }
10.2使用IDA的批量模式& @9 G1 {1 K/ b( q
10.3小结
0 o7 @0 ?& m$ s. D* S" k: Q' q# w" E' Q/ Q8 c/ U, ]
第三部分 IDA高级应用+ J3 [6 s# S: V! F
0 k  u- r" T0 [4 @6 M$ X
第11章 定制IDA% M' o4 ^% Y9 l
  d! _* F; O; G4 R9 N3 z, Z1 ~
11.1配置文件
7 J& \* Q3 o3 [) z0 f# V9 |11.1.1主配置文件:ida.cfg' o! y. }. _! M% G& k* {
11.1.2GUI配置文件:idagui.cfg
' V0 Q4 |. \! j9 t11.1.3控制台配置文件:idatui.cfg! P6 S' j$ W+ j$ n+ X4 D' g
11.2其他IDA配置选项
6 R; a& c, G" f  D. p' i11.2.1IDA颜色8 i: n6 z& w+ u7 s1 K
11.2.2定制IDA工具栏8 q6 T8 m6 w/ I4 E/ D
11.3小结' D1 a3 f, H0 f$ l9 B
% ?3 L' r+ m% ^. J& |
第12章 使用FLIRT签名来识别库
6 \& z! ?) D  p& v/ G& R' O( V  }/ Q' v) I/ i0 E
12.1快速库识别和鉴定技术
5 f% p: D$ v8 f# e* K( I; U12.2应用FLIRT签名+ a6 F" K$ J/ g" {
12.3创建FLIRT签名文件& t3 b$ s( J' Z# o& \
12.3.1创建签名概述
1 }3 F% o& C* T12.3.2识别和获取静态库
& G6 z" ]# B- E1 Y6 _% z12.3.3创建模式文件
% h  P7 I. M  h12.3.4创建签名文件+ z5 `5 }$ M0 Q- c) `) m8 N5 S! F% g8 [
12.3.5启动签名
) h( d& `1 T( i$ A: ?12.4小结3 B- {6 d5 j0 X- M  E) i% U
/ x& Y$ J. d$ ~; L
第13章 扩展IDA的知识
7 P& S  ]2 ~+ B' z7 U- |- j8 ~: P' @9 g
13.1扩充函数信息
" s# E: p! J$ J! {4 |13.1.1IDS文件! m' j  i' k7 s) u& g, ]& m
13.1.2创建IDS文件
9 `' s8 X: K( G! K- j, U13.2使用loadint扩充预定义注释2 X5 Z! o: S8 A+ N2 @! j, B
13.3小结# I( q% X, a# t" e0 q
. M9 Z9 s$ D( b9 }$ S
第14章 修补二进制文件及其他IDA限制
, ?' s' ^3 D9 E) M) B3 R
) z# Y( \" o/ Y: B% B" ~9 f1 W14.1隐藏的补丁程序菜单1 O5 c+ g2 ?2 |4 A+ T. L! Y& K
14.1.1更改数据库字节7 F% C7 r+ A: ]; {
14.1.2更改数据库中的字0 L- G1 j2 `: ^/ }& F- y: s
14.1.3使用汇编对话框
6 k* q  Q! z: X; R14.2IDA输出文件与补丁生成) v: m9 h& M2 Z
14.2.1IDA生成的MAP文件8 ]4 c# j+ `' Z, p/ `
14.2.2IDA生成的ASM文件1 `: Y( t9 h& R
14.2.3IDA生成的INC文件
$ m# m9 \) M0 X; J14.2.4IDA生成的LST文件
; M& l' o% ?9 U6 O1 O14.2.5IDA生成的EXE文件
! d9 H) C/ y0 D0 F: F14.2.6IDA生成的DIF文件7 Z: ~3 H& F* t' C  y1 L" {3 L
14.2.7IDA生成的HTML文件" i5 D3 I6 n6 M) M/ u$ ~, f
14.3小结
5 u6 t/ o. w# v) w3 K
) [+ O8 Q. B3 r2 T2 t6 j第四部分 扩展IDA的功能
3 s, @: T  V+ p6 @4 X& T  w6 j
第15章 编写IDA脚本5 v* C3 F+ ~6 B/ `7 _; D

# F  D# H8 G& }2 ]& }15.1执行脚本的基础知识
" {$ B2 _9 H+ L9 X; D; R15.2IDC语言
, o: Y. V* I: S" M+ [: G15.2.1IDC变量
! ^, E& p" y% u1 Z) F" j; L15.2.2IDC表达式9 H. w9 p; n' k% s
15.2.3IDC语句4 W7 i2 d7 T6 u1 P+ g5 V1 F: Q
15.2.4IDC函数
8 D7 E" Z! V: j* A: e( f15.2.5IDC对象" Q6 L# |& A% z& ^
15.2.6IDC程序2 ^. H3 g1 G4 d- F( _% {
15.2.7IDC错误处理
* E: F( W* x0 o4 [3 I2 [! |) E7 u15.2.8IDC永久数据存储. Y! u) S/ @7 ~! w% |4 F% Z
15.3关联IDC脚本与热键
) s5 R( T& I2 }15.4有用的IDC函数( }0 H7 y0 w! @1 H% i
15.4.1读取和修改数据的函数
& O  V& U* m4 W9 d! ]- q6 p. K15.4.2用户交互函数
+ G' T: I; G5 ~- e8 m4 s* f% M15.4.3字符串操纵函数% P5 O, X" B, N5 F
15.4.4文件输入/输出函数
- k6 [6 t! n9 j4 W2 X2 ~, s; O15.4.5操纵数据库名称
# p2 O0 d9 `3 R. U. D15.4.6处理函数的函数' {8 w6 k: v3 {* M) c* u2 d7 |& T, M
15.4.7代码交叉引用函数
4 Y9 f+ F+ `% q1 q4 c15.4.8数据交叉引用函数3 n# t  j( C: I' c
15.4.9数据库操纵函数
1 a* C+ @- X) R15.4.10数据库搜索函数
& p) n& r, i3 t$ A! I$ I15.4.11反汇编行组件
# G, R( n: Q, f' f15.5IDC脚本示例
4 r0 h5 v& B) ?1 `$ t( n: c( L1 N15.5.1枚举函数- Z; f  \2 X9 S. J) B# Z3 I
15.5.2枚举指令5 l0 P# J9 k! i
15.5.3枚举交叉引用
9 D1 d: t( S& u& m5 @15.5.4枚举导出的函数
- `9 D. C, \) w, ?  X3 Z8 a& Y5 D$ M/ M15.5.5查找和标记函数参数
- X1 h% F, z; w/ Z( u15.5.6模拟汇编语言行为0 x/ Z( y, g. x
15.6IDAPython' e% i5 Q1 L) [9 A8 t% d, h# ~
15.7IDAPython脚本示例
2 T. V  j/ q5 \: S! p9 I+ Y15.7.1枚举函数
) _  K* h" i% z15.7.2枚举指令
$ ]2 b# y4 I! S+ G# G# i15.7.3枚举交叉引用
$ P8 U% u3 t/ [1 O15.7.4枚举导出的函数& ]! D5 z# x% o4 k5 E
15.8小结, G3 ]2 R% z1 ^8 P+ k( I. H

7 Q+ \* E4 o' w0 M7 z1 G第16章 IDA软件开发工具包
& ]) }6 {. o+ w0 U- _7 K. Q# z
( J5 H4 J& M. B& E: c# E, {0 i7 N16.1SDK简介7 v- W" A4 }6 D0 u
16.1.1安装SDK: Y  j5 Y. J3 f6 k
16.1.2SDK的布局/ y- j- M; t: a$ K( o9 |
16.1.3配置构建环境
/ j2 z9 |/ R, P+ |16.2IDA应用编程接口# }  K; k+ i, D0 W
16.2.1头文件概述
- w; J+ p  ]$ X0 j# I16.2.2网络节点6 m9 m. P0 N% R: P' s" Z
16.2.3有用的SDK数据类型
- Z7 {( X$ n8 z, t- j1 A! j1 _7 R16.2.4常用的SDK函数
3 i2 B: i  |! f, J4 H9 q) Q16.2.5IDA API迭代技巧" ^" i, y- n5 s' o* o! x5 a
16.3小结( B) c5 a# c7 K6 C2 w; _, F  p
4 v7 ~* W. h0 g+ ~' ?
第17章 IDA插件体系结构$ ]5 ^! P2 U; P; ^( E

& S& M" I: E9 N( P. b17.1编写插件
6 X5 f9 D, e. s8 ?/ V  U17.1.1插件生命周期* ~- ~' ~1 L8 r5 h$ `
17.1.2插件初始化
$ S! L) {% q1 x6 M2 G& A  M! [17.1.3事件通知( a1 `8 ~, }: S8 A2 m
17.1.4插件执行& x& k3 R8 o) Y0 Z% U; X' i
17.2构建插件
; q3 ^2 ?/ }; W- a  F17.3插件安装+ |4 E, a1 t  t: K3 z
17.4插件配置0 V! c4 t# l' w: i# t
17.5扩展IDC2 H5 n. m) {2 y# M* @
17.6插件用户界面选项7 H, Q- I! b! r1 I9 _
17.6.1使用SDK的“选择器”对话框2 |1 M# Y5 P+ T9 J/ ]( Y& e8 W
17.6.2使用SDK创建自定义表单! F1 }. R1 e1 k4 @/ U0 [
17.6.3仅用于Windows的用户界面生成技巧1 {: [7 s  M$ a" h) g
17.6.4使用Qt生成用户界面
0 Q2 z/ I8 X) J. s8 r4 j- f5 D1 Q. V17.7脚本化插件& T8 z" u; Z' I$ `
17.8小结
0 F. |  X6 x. t4 B- G7 J6 M& a. K- ]  R* `' C, L
第18章 二进制文件与IDA加载器模块
7 f' [. S) y7 O; V- F7 \' o% F$ N" v- x1 X6 Z; Q+ q2 |
18.1未知文件分析1 m8 y% k- c" g. u( A  e
18.2手动加载一个Windows PE文件. p# Y+ l% W# j2 J! L0 {2 ^
18.3IDA加载器模块8 Z3 g3 G& J3 s( e& T# ^
18.4使用SDK编写IDA加载器
. k5 Z" m/ {+ k5 o# W6 y18.4.1“傻瓜式”加载器
! ~# j8 H' t4 d18.4.2构建IDA加载器模块; H- K6 O3 ~) V1 K' Z' z
18.4.3IDA pcap加载器
1 N' L& @) L  F& k" C18.5其他加载器策略
' o: j& s& k% F; d( C  A18.6编写脚本化加载器
. E- i9 W- L' J9 W: p18.7小结& z! {. Q& Q" f$ u: X! w
$ `2 K" C4 E. J1 f% r" d& K8 y' q; P
第19章 IDA处理器模块
" T0 {8 A3 H3 t* u7 V1 |
- m" F% V$ V/ x9 T1 `19.1Python字节码
; u5 I+ `$ m9 L6 F: S; v19.2Python解释器
* [, d, Z, w& o# w4 g5 H" |( b19.3使用SDK编写处理器模块0 H# v, G; j5 g' J& ^# x6 C
19.3.1processor_t结构体2 w/ q- x* O* p2 }' w7 j  ~$ M0 n* _
19.3.2LPH 结构体的基本初始化3 ~3 y8 x! d6 ~2 R- ~4 A# j
19.3.3分析器
5 ^1 t( a1 W" e) q. W19.3.4模拟器
& Q" b! p, W9 X( B19.3.5输出器
  f/ J9 a2 r% D, y  J' l( P19.3.6处理器通知
) `3 c8 Z; _  v; |: K% N3 T) A19.3.7其他processor_t成员8 s2 p5 D. P8 r# G% L8 A% h
19.4构建处理器模块
; u- n) U. d' k  J2 G3 Y! R6 f19.5定制现有的处理器
  V2 s1 u" X4 G1 y' H19.6处理器模块体系结构( }/ v/ l% m$ o4 M# G6 G
19.7编写处理器模块+ s+ t7 D+ H3 y6 {6 s$ P7 d* T
19.8小结
  F  d% V& l9 |4 B2 \* q5 A, O, Q* U  D" }) e
第五部分 实际应用
6 o- _' v) b- k$ ?& d, I% ?
: M* s6 u! c1 T第20章 编译器变体
- _8 M% \) L/ W0 F1 n4 J/ [2 l4 E9 Y0 ]$ t% ~; j" J4 @6 H  X* b5 A
20.1跳转表与分支语句
( Q; ]9 Z! V5 ?6 \( A2 h9 U6 I" D20.2RTTI实现, a6 [9 u1 [* l. o& L: @! }
20.3定位main函数9 `* q- L4 c/ Y# P0 e
20.4调试版与发行版二进制文件
; @0 e+ m$ f. x7 o' Y# {( m20.5其他调用约定: E. ~5 t" J8 ^$ i. }8 l2 B* ^" _
20.6小结
  a9 V' u( u2 ]
- Y& p6 ^, ^, S$ B: x第21章 模糊代码分析
3 K6 Q1 V5 G1 v+ \6 F3 j- z6 i; Q! m- T
21.1反静态分析技巧8 C+ Q& F0 }2 E9 t
21.1.1反汇编去同步/ K" W  I- v- c( ], B4 |
21.1.2动态计算目标地址/ ]2 ^: [; V2 L' O9 J
21.1.3导入的函数模糊
* K% u% B8 x! S; ^21.1.4有针对性地攻击分析工具7 ]8 u) B9 n% a" b' W; N# f1 a
21.2反动态分析技巧
; Y8 v/ r  t( j2 f& \21.2.1检测虚拟化' o! n  `5 [- _( X* g5 @% `
21.2.2检测“检测工具”6 k7 Y) M( S' S9 n2 H3 f/ _- \0 V
21.2.3检测调试器
* V: f. C# Y( h$ _  O" J+ [21.2.4防止调试
! ?0 F& M* b3 b! z21.3使用IDA对二进制文件进行“静态去模糊”4 E+ a1 T* e% y- f
21.3.1面向脚本的去模糊; e! K# m: @7 _+ l
21.3.2面向模拟的去模糊: {0 ^6 w, _8 Y3 r; Y/ p
21.4基于虚拟机的模糊
% _! ~: d' O0 o7 z- ~+ M21.5小结
" ^  ^, I0 k. }+ Y4 |/ M1 O, ?% ?6 ~* ]# O/ Z1 X8 P
第22章 漏洞分析3 ~' U- a% ]) F' F0 k: t% g$ O

, }$ l9 \0 X" W( U5 N7 P( l3 X22.1使用IDA发现新的漏洞# P: t" p- h' X' S
22.2使用IDA在事后发现漏洞, h% i/ T4 M7 @/ P4 W5 L
22.3IDA与破解程序开发过程
; `  j* v  G  C6 E$ l22.3.1栈帧细目) B6 ?- z1 z& h7 n- J( A- f
22.3.2定位指令序列
, T+ w" T0 H. q! J6 }22.3.3查找有用的虚拟地址  N5 @4 u# n2 O. p1 W% a
22.4分析shellcode7 d" V5 }& T- f2 ]
22.5小结0 P9 |# g0 e0 A

7 p, I3 Q1 \' ^* I, j) b- N第23章 实用IDA插件
- J! K1 ?' l- [/ }5 a5 N+ d4 ?; u+ T4 q3 w7 f4 X4 j# N3 X. ?
23.1Hex-Rays
$ p8 ]0 j1 G! d: F23.2IDAPython
! w) V3 D1 ?! o8 x! d2 @7 q' s9 h, T: P23.3collabREate
1 v/ j! P5 _2 {4 i! B( v23.4ida-x86emu
, I$ B6 V* g( O: a23.5Class Informer
$ v0 C; z% O, j/ Q9 m23.6MyNav5 q( }# p; K9 q7 v3 D3 e; ^7 P
23.7IdaPdf
- r# b- z9 D/ T1 P8 L, z23.8小结
6 l) M$ V# x. Z# H8 e- R& Z6 D9 @9 ^4 R* F
第六部分 IDA调试器; ]# `. M* c  i" k

  t& f5 m: G. A6 B0 |7 \第24章 IDA调试器
2 W- I" B7 J* H  ^" p: k
3 q* ~5 `" I0 S* w' ~5 W24.1启动调试器5 V( Z4 i9 K* q$ ~. p2 [
24.2调试器的基本显示' J5 O# P+ k2 J+ C) ]0 e
24.3进程控制5 R* R/ @. D. U1 |/ U
24.3.1断点
- p, f2 T; Q8 {+ z& s: p1 `24.3.2跟踪
7 X7 |3 |0 C5 B" ~24.3.3栈跟踪
& a0 m  I' L1 i24.3.4监视" B4 H  A0 F3 s
24.4调试器任务自动化0 @6 P) k  l6 x( R) Q, z
24.4.1为调试器操作编写脚本
% O/ ?8 D3 r3 s# o' ]24.4.2使用IDA插件实现调试器操作自动化
6 [7 q9 o- H1 ^* A, }24.5小结4 O4 d: W0 S0 K0 l" J

7 \( M7 |* ?/ o: S8 h  ?+ Q& t8 q+ j第25章 反汇编器/调试器集成  A7 J# s: f+ a2 K2 `1 \2 o' w

0 V; t7 r/ a0 p/ z* G25.1背景知识: R1 _5 @6 s4 D3 H7 A; }! A9 a
25.2IDA数据库与IDA调试器
. j) J" _$ p7 j9 m! s5 @5 `, {- }25.3调试模糊代码( G5 \# k' s7 X
25.3.1启动进程" A! I4 X, E% N7 o: d8 F
25.3.2简单的解密和解压循环1 |9 @+ A& R8 Q- o  S. u2 x
25.3.3导入表重建5 c8 T# A2 L* g5 S
25.3.4隐藏调试器; t6 o+ K% k" ~: v
25.4IDAStealth, n7 D8 b1 T# Y- T
25.5处理异常7 e. x! G' k/ D' h& B: B
25.6小结
4 P2 [& B7 `" y5 n7 j* B. _% A2 ^1 J4 o6 V; d5 W
第26章 其他调试功能
& S) `  G' W% K4 x. T8 G1 x( a: E
26.1使用IDA进行远程调试7 i/ a3 t2 w% J9 F; I! b
26.1.1使用Hex-Rays调试服务器- f7 Z4 C( E. L7 }- i' w, U/ b3 R
26.1.2连接到远程进程
" d7 A, F. j. z& k26.1.3远程调试期间的异常处理# g- s) k; w0 f* N; o4 U; Z
26.1.4在远程调试过程中使用脚本和插件& p/ P5 y& m- b1 ^* }$ q4 a0 m
26.2使用Bochs进行调试
: s7 Q. [3 }  c/ X4 P8 Y26.2.1Bochs IDB模式
+ F$ p6 R3 d! R: b4 M  }1 g26.2.2Bochs PE模式. A; `9 E$ \# s9 ]$ M6 `; ]
26.2.3Bochs磁盘映像模式6 y8 ^' G) E1 O  W( j0 V% T4 o1 l
26.3Appcall* I/ k7 C$ K2 {- o$ P) d% Z
26.4小结
8 |& n# u& z0 a! s% X* H& O. c
- y% u7 `0 Y) l4 q/ X' T- l, M附录A使用IDA免费版本5.07 W. W3 J4 p; h7 }( d  x* ]0 O
# O4 _  Q8 _1 [8 ~
附录BIDC/SDK交叉引用
' |9 U" ], ?0 h  q% C/ \) W# C
" P. l5 r. s* H: a8 W
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-15 15:01:15 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-5-27 09:36:21 | 显示全部楼层
感谢分享,能下载吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-16 15:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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