鱼C论坛

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

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

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

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

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

x
22595398-1_u_1.jpg

2 Z+ R) C' F% Y3 M) _
8 M) [0 Y# }# w3 w书名:《IDA Pro权威指南》(第2版)
% R8 V  p9 G: X3 L6 T作者:Chris Eagle
4 m- ~4 E# O  b3 W译者:石华耀,段桂菊) Q2 \- r. b0 s4 O
出版社:人民邮电出版社2 @( B& U1 ^4 _6 t$ P: L
出版年:2012年2月1日(第2版)
# \- C+ S  j9 D0 E! |. y定价:89.00元
4 o+ T2 _  a8 y1 L' ~( ]装帧:平装
# W0 f- p6 S! {+ O1 j3 _ISBN:9787115273680# Q* J0 G$ x$ `3 B* V' B
" M, }# D, D! [  d8 \
购买链接:2 f: H1 j: N2 q" t8 ?9 {% v8 M
1 T. S; B# Q+ R* R/ a+ I- S1 l# b

2 B( ^* O. x4 U
亚马逊(Kindle)-> 传送门
3 G2 I9 m# f+ Q  l) Z, \( g: ?; f: J, A3 o) c% X+ L0 t9 A) v
当当网 -> 传送门
+ U3 D: g4 w$ N# m1 ^9 ~' P7 B$ M8 O# ~% ~4 T
京东 -> 传送门
5 R0 e3 ]5 z9 s* e9 G; Y' Q6 C7 t$ q
天猫 -> 传送门& \9 X) k, }& I, k: j0 a
/ `/ f1 y+ N; `+ n$ `! f, X
- m; I; Z0 E3 K# R
内容简介:8 R5 ]2 u0 p2 D, t% e
' B& e8 I7 _% B" U2 G


2 u. v3 z' Y6 Z- b) ^8 d《IDA Pro权威指南》(第2版)共分为六部分,首先介绍了反汇编与逆向工程的基本信息和 IDA Pro 的背景知识,接着讨论了 IDA Pro 的基本用法和高级用法,然后讲解了其高扩展性及其在安全领域的实际应用,最后介绍了 IDA 的内置调试器(包括 Bochs 调试器),一方面让用户对 IDA Pro 有全面深入的了解,另一方面让读者掌握 IDA Pro 在现实中的应用。相比上一版,这一版以 IDA6.0 为基础,介绍了它的新的、基于 Qt 的图形用户界面,以及 IDAPython 插件。《IDA Pro权威指南》(第2版)适合 IT 领域的所有安全工作者阅读。
; d/ [$ Z+ {$ p+ Z: s7 A* }7 h' v
; R- M' ^% Z- y
+ L1 _2 q3 S; r# K目录:5 Y# h# I9 f+ e; m+ n/ @, e  [
" Z9 u4 `. d' q. Y! e  [3 Y


8 W; \3 ]; T0 Q, T/ A0 f# \第一部分 IDA简介- z, M1 L. f6 j( D& U

1 t$ T6 o+ h) K( J" C- w第1章 反汇编简介
) h, C) K9 P# z( C; b
; r  E8 A! P1 o( k6 G$ O; P1.1反汇编理论( q7 D' U0 b0 Y) s( s9 F5 G
1.2何为反汇编5 N  R/ |: V& N9 f. M
1.3为何反汇编' u' [! S1 b( e9 t
1.3.1分析恶意软件
4 Y- ?. A. `1 U- k: B1 ]$ T& F# R1.3.2漏洞分析
7 G5 k, A: e" `( }1.3.3软件互操作性! V; k$ ~' B' s
1.3.4编译器验证+ P! {, o# t3 [! _
1.3.5显示调试信息4 H! a8 _& v- s2 n) R6 F& g
1.4如何反汇编
, T$ r, H/ n+ r1.4.1基本的反汇编算法7 p9 W) b) o3 f% Q% Q0 S
1.4.2线性扫描反汇编" F/ M7 Y/ u* h+ G4 V( F
1.4.3递归下降反汇编+ i$ @, l  U/ G/ D5 L8 V
1.5小结
1 n4 U) m, l3 ?" d" u
- Z2 o* B/ J5 o$ A第2章 逆向与反汇编工具
* [6 `  W: u  _% d/ y
8 \- S" K+ g+ F2.1分类工具
. k$ m9 w* g% E5 O0 q- K2.1.1file: c  g; \4 M; t1 v
2.1.2PE Tools
& ^3 {+ o" t9 u2 ]7 Q) ?6 m2.1.3PEiD
, u7 A7 _! Q0 a& s$ q2.2摘要工具1 R$ W0 c1 q( ~* k) l% C0 p5 D% |' z+ e
2.2.1nm6 @" O) l9 d0 m7 y+ V5 ?: @' y
2.2.2ldd
9 B) [* }# g$ z% }6 z, t; |7 ^2.2.3objdump
* U5 o" P! @: d- a6 w3 ?. k2.2.4otool
: H( l( ?2 ]7 m) c- e- i) q9 l2.2.5dumpbin
$ k1 m+ F3 j- m7 z2.2.6c++filt
3 m( K% I5 I  l2.3深度检测工具
6 K$ x9 y0 ^, o' U; b8 c# l2.3.1strings/ n7 \% b  `2 i% u
2.3.2反汇编器" C8 D/ @: S# K3 j& u" T9 D- o
2.4小结
$ N. Q* s6 G. U
3 {6 F6 q) _' x3 r* z$ W% x第3章 IDA Pro背景知识. p* `8 Z$ g# q/ M+ `; |

# E! t0 S7 ^! S, Y5 T3.1Hex-Rays公司的反盗版策略# {- n# }3 U7 q1 [' H; h
3.2获取IDA Pro3 _, ^( o, T% L
3.2.1IDA版本
' H% n2 F3 @  F0 j# Z# ?: ^$ m3.2.2IDA许可证8 }& N' x: {- H& s- ?- w
3.2.3购买IDA7 k) Y! m( X4 w% u3 i5 [0 w
3.2.4升级IDA
7 h7 G5 D1 b. u0 v& m. E! r! s3.3IDA支持资源6 U8 g+ F4 g6 ^  ^& u
3.4安装IDA
$ f  V: U5 n  B& N  L' _/ n3.4.1Windows安装
6 C) L2 I0 c% P) N! n" }  j3.4.2OS X和Linux安装. V" B! F& m- A) J8 i
3.4.3IDA与SELinux% J  Y0 [6 G2 B: Z' T7 u/ ]" @
3.4.432位IDA与64位IDA! d3 I( N' p8 Q8 U" \
3.4.5IDA目录的结构/ P* _+ I1 ^/ O+ W0 d/ O4 Z
3.5IDA用户界面
' k5 s% m: R1 J9 _$ t- E& ]2 z, Z3.6小结
3 l* d1 x9 c; s( U- C9 R& \1 f- q! i+ Z
7 m( m+ K) U4 h: H9 q第二部分 IDA基本用法
; I% e6 h3 t4 s' a8 M) B, U& ^* {3 F$ J1 F' O/ I# u) f4 O
第4章 IDA入门# b* S" `4 X5 l- I8 S0 m% i8 r: y
6 E, |7 K# m1 w8 G$ L! X7 f
4.1启动IDA
' G  U* n/ M5 U* G6 ?% I, U4.1.1IDA文件加载5 ?5 D! ^: S) O9 M0 `8 ?. B' X
4.1.2使用二进制文件加载器! ~6 b* Z8 _2 d) G: e) p# a
4.2IDA数据库文件
3 y* i( T; G9 _  [- k4.2.1创建IDA数据库8 W8 v  W) J: Z9 f. b3 C6 m% R# V/ m
4.2.2关闭IDA数据库
) x8 c# z: }8 h8 l0 {4.2.3重新打开数据库& r; e9 I7 i: r) z
4.3IDA桌面简介
. j- f3 Y6 P9 J4.4初始分析时的桌面行为, }2 F: S; x2 T% Y5 V) R6 E
4.5IDA桌面提示和技巧
4 U+ `0 H6 g. B( h  _6 a4.6报告bug
1 Z0 z: ~5 V( N$ c. A4.7小结4 E9 v2 h$ h9 p8 U
- W  A0 k2 R, ^' |7 r* I! G
第5章 IDA数据显示窗口
) t" \- c8 k6 |7 Z8 \2 |: [, K+ R, J3 v$ _* R8 y& R
5.1IDA主要的数据显示窗口! c3 G3 c- F/ V0 Q' n9 f9 {. D- v
5.1.1反汇编窗口
" e' f, d/ \2 z; K5.1.2函数窗口
: T: N- H1 U9 a* {9 p) x. B5.1.3输出窗口/ ^  T! D) d" _! w5 t
5.2次要的IDA显示窗口4 \4 ^$ r9 \4 Z0 I4 d+ A/ D
5.2.1十六进制窗口7 t; w! X! X6 K) ], m6 ~
5.2.2导出窗口9 `; h1 S. K: \- A5 C% @7 o
5.2.3导入窗口1 V% J$ r3 g+ \+ j
5.2.4结构体窗口
1 [+ d# q/ S* u4 h6 _" w5.2.5枚举窗口
$ n. \5 ?2 Z, [: w. T5.3其他IDA显示窗口# j9 `! W" J- Z/ g
5.3.1Strings 窗口9 D1 K3 N: g8 Z1 ]
5.3.2Names 窗口
8 h4 J2 E: X& M/ F8 X3 a5.3.3段窗口. q3 I/ B% W7 X# X/ ^9 G9 I# m
5.3.4签名窗口9 P' G* X  W: l4 [0 L
5.3.5类型库窗口
+ o( n, T, D: w* Q* B- ?5.3.6函数调用窗口: q* ]7 Z2 q, ^* _
5.3.7问题窗口
: h- S" z) S8 v7 `3 z5.4小结
9 Y1 M& O0 f0 W) [& d$ \; c" b, ^, |7 _: K  c4 R+ k
第6章 反汇编导航$ e0 r% }& X! X; f2 J
  b; [8 l/ x. U+ ~" R
6.1基本IDA导航$ h5 L+ j8 c4 P  L6 t% V/ _. c
6.1.1双击导航% Z" p- Y! O. A6 o( M
6.1.2跳转到地址
- }3 p9 S8 d5 }# l# x6.1.3导航历史记录
) ?9 ^; H3 e& f! C/ ]1 Z+ v, F6.2栈帧% ?. i+ O1 {4 y7 b
6.2.1调用约定. z7 l. S: `7 W2 N
6.2.2局部变量布局
. U! L: K  K* a* A5 ~; C6.2.3栈帧示例4 o4 H) O  O: A" d" w
6.2.4IDA栈视图& R3 r8 C0 B  ]
6.3搜索数据库/ ~, n  v4 A3 \' a. w1 o9 P% \0 v
6.3.1文本搜索
* f3 K2 @4 n. l  s1 Q6 P; J6.3.2二进制搜索3 K) Y  w/ c& R3 c! o
6.4小结) e6 Y. R2 C6 ~' I- h& G3 p% T) i

$ H1 d$ ?1 b( M' I% b  F4 s& R第7章 反汇编操作
' B6 ~" m6 f0 E3 K# f/ z% [) q& L6 L8 m0 g
7.1名称与命名
0 l9 P; n3 T" I3 C6 g. @. m* O1 K7.1.1参数和局部变量
+ a3 Y: t, a; m& [7.1.2已命名的位置5 S: b/ h1 A5 X) P- e3 @, ~
7.1.3寄存器名称7 ~3 d9 }+ f' O- b
7.2IDA中的注释
! }5 H2 ?  t4 a& o) w7 D( O7.2.1常规注释
/ x+ m( H: k9 [5 u# V7.2.2可重复注释
3 I' t- j) o! S8 E7.2.3在前注释和在后注释
# i3 p0 `5 s) J! E7.2.4函数注释8 O) L2 }* t2 A" f3 o2 X
7.3基本代码转换$ X' `4 s1 M8 t$ z
7.3.1代码显示选项
) v7 C) Y$ ^& u/ X0 s7.3.2格式化指令操作数8 p- H! R0 I+ a$ B. b" G+ P' a6 R
7.3.3操纵函数
2 m% s( {, Y& u' U6 V3 u7.3.4数据与代码互相转换
; c! b4 \/ c* F8 `7.4基本数据转换
/ j+ T2 \% F8 T( ?* _8 a/ s7.4.1指定数据大小8 |: w) \; ]3 |7 X4 O/ S) `1 E
7.4.2处理字符串4 _4 b4 U0 U4 E' `2 x4 y
7.4.3指定数组
# t9 f1 W+ [& @) t5 D: I7.5小结
7 I0 ?: C1 {# b- v; X4 i, K( l$ z, Y% ]4 T# D& w0 T( q/ G- ~
第8章 数据类型与数据结构1 \1 }5 s  Z2 d5 o/ n

# q0 i8 r. R- w% H8.1识别数据结构的用法7 I6 {0 q3 S; Y! A
8.1.1数组成员访问' @( Q' Z" |8 Z8 U! S* t
8.1.2结构体成员访问' X' e3 o' s1 K- d' [# q
8.2创建IDA结构体
( D/ ~/ g2 T$ E  [+ e, G7 Y8.2.1创建一个新的结构体(或联合)" y" O% v& h1 y- b' `" S) Y
8.2.2编辑结构体成员3 l8 \( S' x  L) i( T/ J( n
8.2.3用栈帧作为专用结构体1 f. H. p. E5 w3 j( t: b
8.3使用结构体模板2 O8 y# p, A! C* v
8.4导入新的结构体6 [; O$ s* @" T3 |! O% i
8.4.1解析C结构体声明0 s7 G# D7 Y: [
8.4.2解析C头文件  J. ^/ A! c! ^8 {
8.5使用标准结构体1 n6 a' }' r2 P3 j: c
8.6IDA TIL文件
0 L% @/ B! F/ ^4 s1 a8.6.1加载新的TIL文件
, m/ S8 G0 o6 K( Z8 w* a( z7 o8.6.2共享TIL文件
. H7 L( v1 A' u& n' |7 x* G8.7C++逆向工程基础! r" [% X- K" G. v+ C% f* M) k' _: d
8.7.1this指针6 C! q! l& m& H- F
8.7.2虚函数和虚表& G  H+ l, a) g5 Q! j3 U& w
8.7.3对象生命周期
, d, g. u+ W5 ~* i! S0 L  J# N( R8.7.4名称改编
  ?8 ]2 w0 v+ N- e; k8.7.5运行时类型识别3 h/ [$ z( G, E9 B' d
8.7.6继承关系2 |& c/ d3 W: Z5 S& Q4 C
8.7.7C++逆向工程参考文献
/ z; Z6 b6 f$ V7 B8.8小结
5 x4 j4 B1 I* H. G5 S( {
" I9 [( o5 @2 s4 g3 `第9章 交叉引用与绘图功能$ N1 x# x, P" B5 m
# c: e+ K9 K& p2 h9 Y1 O* ?7 R1 D
9.1交叉引用7 F8 @, d8 o3 d9 Z/ q
9.1.1代码交叉引用" p# ~* M! o$ U3 w
9.1.2数据交叉引用
* Q+ }: }: M0 m7 Q& h9.1.3交叉引用列表
: c' L9 ^) b' \9.1.4函数调用
; r8 N( K- u8 J. ]4 @6 c! [9.2IDA绘图
" e8 L8 c, z  w8 l% i9.2.1IDA外部(第三方)图形
  [/ |$ c0 p4 L- T! k+ |# E! W/ D9.2.2IDA的集成绘图视图
0 B# a: z4 D- G( l9.3小结
" V; H( \5 s% f% z2 j6 c2 F6 x" c
  k6 G  u- x. I. P* J- K" l: y第10章 IDA的多种面孔
# C2 {( Z: F9 w: i7 t% {. m3 Y9 t1 ~2 p- A
10.1控制台模式IDA8 `# h" b0 E5 G" z
10.1.1控制台模式的共同特性. k4 ~4 d6 H4 r$ G. h
10.1.2Windows控制台
- W2 [6 a. N( _8 I7 }. y  p/ ^10.1.3Linux控制台
& V& w6 E+ E. b* [7 s! @% H7 \; q10.1.4OS X控制台
# j0 |6 e6 w9 \% Q( r10.2使用IDA的批量模式6 `& D4 s- ?) O
10.3小结
, `5 P; @) ^& l% \" c4 p2 w# l# x1 ]( C
第三部分 IDA高级应用) q) h7 X( z  ^9 x* [* I
8 r0 _4 u0 Z; \; K$ i4 q) o, N. Y
第11章 定制IDA
7 O: c# T: W. b( U/ C3 ~$ B* Z7 g& T) l% W
11.1配置文件
& s6 c  Z1 p4 J11.1.1主配置文件:ida.cfg/ `, r, v0 a' A0 C  h. e
11.1.2GUI配置文件:idagui.cfg% @  I' t5 a1 l8 x  J% F
11.1.3控制台配置文件:idatui.cfg- p$ h5 p$ j0 k: [& ^7 N5 O2 @
11.2其他IDA配置选项
. x5 m# K5 o& [- L! ~11.2.1IDA颜色
& I/ b% l3 ~5 T& E  Y: y$ U! _. i11.2.2定制IDA工具栏8 Z& R# J0 k2 h
11.3小结
- W' k6 }% A7 S
9 w( p; u$ z7 U: f6 ?2 J* M% v4 v+ j第12章 使用FLIRT签名来识别库' A' y7 N# @1 _; A# a) g  f' `# b" l# o
7 E3 {5 ]% r. U- L2 D  P. X1 Z* Y
12.1快速库识别和鉴定技术2 q! O  m+ }# V# C+ J1 u& S1 s
12.2应用FLIRT签名5 P  Q1 D+ X1 k9 A6 V5 Q
12.3创建FLIRT签名文件
1 {' L% w4 Y, w  w* i% `7 m2 A# X12.3.1创建签名概述& T; ~3 ]+ B# f& i
12.3.2识别和获取静态库& F# W4 Z2 R9 g: ?# i5 t
12.3.3创建模式文件
( ]- ?( f4 j6 t" e: I4 I: A12.3.4创建签名文件
2 q7 G0 R. b' H$ s12.3.5启动签名* l3 d. a* b4 ]  B0 ~6 \! L
12.4小结3 \. |' A6 D, O. ]8 O7 o6 l: p

# y% p3 f: c/ F$ s' K3 B0 `第13章 扩展IDA的知识
2 x: f& \# M/ E) d9 {' F9 o: M: X) d" b, H8 m
13.1扩充函数信息
: o% @( ~' S* K( Y13.1.1IDS文件, l! {* s. c  _. F3 U* F
13.1.2创建IDS文件
8 M3 G( [* v8 g( A13.2使用loadint扩充预定义注释2 G1 T8 O4 z8 z7 f) n( C
13.3小结  R- z% p8 r7 H# P5 f# n1 S

7 N/ a0 U$ r( Q# W第14章 修补二进制文件及其他IDA限制
* q- H9 |/ R0 e/ f1 _$ x  v& `1 t( |: ~2 c; x' [- f( F
14.1隐藏的补丁程序菜单2 d. @$ T; |/ P. V4 ]" ]# P. y
14.1.1更改数据库字节
2 W( W! g0 @' ~) ~4 u9 ]: X14.1.2更改数据库中的字
5 U  G- y3 i. R# f0 a14.1.3使用汇编对话框
/ w1 |; C; o; |9 I$ s8 R' Q. y, F3 X14.2IDA输出文件与补丁生成
+ E/ m8 ]4 T% g7 Y, E4 Z, z14.2.1IDA生成的MAP文件
2 F+ |. \/ ]* d& z! N8 K& U14.2.2IDA生成的ASM文件" a8 \7 j: L7 a1 |
14.2.3IDA生成的INC文件
, }( M3 i; G5 O; W, v14.2.4IDA生成的LST文件
3 W2 C  [. S- q1 X5 F% o( r14.2.5IDA生成的EXE文件# o! Y$ e- j* T; E
14.2.6IDA生成的DIF文件
. U9 _9 _* ~4 {5 ?- T4 Y# `14.2.7IDA生成的HTML文件
) v& ]/ T3 A8 g* }0 ]' y0 P3 Y% a14.3小结. d) f0 Y; A9 q* H7 K3 k0 y
7 I+ ^/ E3 ^  B
第四部分 扩展IDA的功能, p+ ^9 O& H, u
% Q( W$ m7 s2 r& M4 i/ ]
第15章 编写IDA脚本
- O; B( d1 p. j8 r1 q7 k- O* E
0 @3 {% A1 k; |4 a5 F7 F15.1执行脚本的基础知识, s, B3 ~  t2 t: C; c
15.2IDC语言4 L- H9 j7 I$ l% o- o* [
15.2.1IDC变量& C) `) [8 {- [9 L% r# o
15.2.2IDC表达式7 S4 @2 k9 i) ?: R* [
15.2.3IDC语句- m! d' e" {+ ~7 o/ M1 P
15.2.4IDC函数) R8 c# o  k# H! \  j
15.2.5IDC对象
" r8 V. O, k# v4 Y  X0 Q/ b. i% x15.2.6IDC程序- D- P1 w# y% U0 R
15.2.7IDC错误处理
% K% x, v4 j# e. U15.2.8IDC永久数据存储# \) O0 o1 P, {( c
15.3关联IDC脚本与热键1 h# ?; ~" m9 [; V  ^& M
15.4有用的IDC函数
$ Z  V5 d' x: J2 |3 Q15.4.1读取和修改数据的函数, _& w6 R0 d- W9 U0 a5 `
15.4.2用户交互函数
3 m  {  m+ ~0 R4 J, _9 p15.4.3字符串操纵函数
1 L6 m8 W. L+ ^5 ~8 c+ D15.4.4文件输入/输出函数% C! Z) z0 F) e: G8 f  H4 x
15.4.5操纵数据库名称
$ v  [8 M* t2 E4 j  N+ n" z7 ^15.4.6处理函数的函数
% L$ {& [" O" F" h" P& u* {" s15.4.7代码交叉引用函数/ X7 o& \4 N2 A& b
15.4.8数据交叉引用函数4 S4 Q% i, S5 O1 Z1 V
15.4.9数据库操纵函数: s& R$ V, L. c8 Z7 P+ ]
15.4.10数据库搜索函数
! E0 j" C) D/ D) A8 k) K) ^+ L! w15.4.11反汇编行组件
6 j% f8 \/ q/ G* r4 N- l15.5IDC脚本示例1 w' N3 ]5 k4 ~6 I
15.5.1枚举函数
6 _  [/ s1 e  z' D) {15.5.2枚举指令
9 J& y9 P5 L. r# Z* `5 V15.5.3枚举交叉引用
( J; r* [# O/ G3 M7 L) C! G& F15.5.4枚举导出的函数
- z# ^! K+ B+ r5 U; V5 B15.5.5查找和标记函数参数
4 s4 w. @  k4 w, Y9 D2 N15.5.6模拟汇编语言行为
9 Q# i6 S3 V- k6 l" r- M15.6IDAPython
) [# B6 _( w$ D& A- \2 |15.7IDAPython脚本示例
& M6 \5 ]/ [2 Y# [15.7.1枚举函数
. X% E& T) e& H- \: p) ?3 T$ G$ z15.7.2枚举指令
4 w: i+ ?7 V/ Y+ r# N& i" a15.7.3枚举交叉引用
4 M. H6 k' E5 [$ [& [15.7.4枚举导出的函数
$ c: V' c! v! S15.8小结
, r% D% b  @4 j1 U
* `% r8 J5 _6 ~: u+ _* \' w第16章 IDA软件开发工具包. }& }% a" \. c: V$ @& H9 }
- l, \% a/ P1 _2 [# C, n
16.1SDK简介( z9 j, J2 J2 @/ `8 @0 v
16.1.1安装SDK
; d' A( ^4 H0 D0 W* K9 N16.1.2SDK的布局
3 u- x9 g7 t# E# `# q+ ^. K- o1 N3 G16.1.3配置构建环境
1 T" l+ v" G1 V( X  G0 [16.2IDA应用编程接口) w  }7 J7 K" i4 H  j) W
16.2.1头文件概述
) |' h7 o$ [. l: c5 G16.2.2网络节点# @. L+ i  i' J$ _
16.2.3有用的SDK数据类型. D, e& p" G7 }3 [2 \- I+ J
16.2.4常用的SDK函数
! I$ N& d# V, I7 o16.2.5IDA API迭代技巧% X& t+ @/ |/ e* `" x8 r% X& {
16.3小结
. X  F1 K; g  o4 l8 q
1 a  x7 y7 Q: V3 q5 G0 E+ A; W3 b! ~9 p第17章 IDA插件体系结构
( C/ Z5 x3 R  m4 M- H
% V2 \( R& X! |% t) v17.1编写插件* O! n5 x4 n- C) a# ]  @' ^
17.1.1插件生命周期4 z4 O% `; r, Q3 E3 }8 k6 b& f
17.1.2插件初始化
3 Z6 X5 m. ?* I$ e17.1.3事件通知. Z3 _4 z  f( x! O7 G
17.1.4插件执行
  |3 z) l5 v& F17.2构建插件+ @" y* S' S% n5 @8 k
17.3插件安装
% M% Z. z9 L- `4 N9 Y17.4插件配置% {. G! y* Q% l( t( H4 Z9 ~
17.5扩展IDC& ?( ]8 T, |9 B8 e8 F4 {. [1 `
17.6插件用户界面选项
* m7 N+ V$ {" I4 G- v6 n17.6.1使用SDK的“选择器”对话框! t) ?4 ~" i& q2 y& U
17.6.2使用SDK创建自定义表单
8 X; n& C3 c% J17.6.3仅用于Windows的用户界面生成技巧
! O# }; M( Z; m/ E2 L+ v, v. c% d17.6.4使用Qt生成用户界面
, w7 d2 g& S6 s. W5 m17.7脚本化插件
; |9 l9 c5 e6 m' h8 J, \1 M$ _, W17.8小结" u0 ?  ?* a8 z2 e
; S/ d, E$ D0 X1 {
第18章 二进制文件与IDA加载器模块$ j& K* i* m, I' s( k
. B, S/ ~4 ~8 q8 ^/ x; x3 e, D# b) f
18.1未知文件分析7 l5 l, j: ?" {1 S' W- Q4 s
18.2手动加载一个Windows PE文件
' ~# R! K; W. F! X1 {& S8 T8 }18.3IDA加载器模块
4 E7 Y, m# C9 N# Q18.4使用SDK编写IDA加载器( N0 p) y( c5 v2 [8 Y9 K% ~7 l9 Z5 B
18.4.1“傻瓜式”加载器5 R5 B  J4 g. e* f0 }2 E  Q
18.4.2构建IDA加载器模块1 C" z" d4 Q. v* H5 y. M# c7 A# F
18.4.3IDA pcap加载器
' d: V5 _4 \2 Z6 @18.5其他加载器策略
, z9 C; T' ~9 S7 T$ F0 f2 ^/ J18.6编写脚本化加载器
2 |. S4 p( H& A, p3 K4 S' p18.7小结0 s, f8 i7 B" t# D# T# E" j2 c& D3 s

+ H$ P( K6 x" ^, ~5 K( x: }8 x/ E第19章 IDA处理器模块
+ ^3 o) z% k+ n" J3 ~/ [. f4 i" n8 h' d. }
19.1Python字节码% a" G3 M; s0 N' a8 I
19.2Python解释器
  O2 o% m- C' I* M" Y19.3使用SDK编写处理器模块$ S, k1 F. o1 h" q  P! s
19.3.1processor_t结构体; A( R: `8 W9 ^$ l$ i  U
19.3.2LPH 结构体的基本初始化
: p$ K' j- a4 @7 W7 p% K6 r19.3.3分析器
9 X% E$ t5 R  \8 @  a) D3 J19.3.4模拟器
5 L4 g6 E' }7 O19.3.5输出器
, a* b' b; {. h. o19.3.6处理器通知
4 f9 ~! O' J; G# g19.3.7其他processor_t成员
& N2 j4 E, H' S/ f% U1 |5 a. }& |2 [19.4构建处理器模块
8 P9 N( J* b) r! w) d4 x$ m7 ]3 {19.5定制现有的处理器
) Y4 A" I6 G$ `19.6处理器模块体系结构1 a# ~( o0 j, v4 g7 h( `
19.7编写处理器模块
- h+ K! k  i2 J9 H' x$ d19.8小结5 O9 m8 d9 h% O: A8 u7 P& E; @
  d5 P* J) b) A' ]
第五部分 实际应用! c2 \. h2 X) ]
; _/ s: R4 p0 B3 x+ l
第20章 编译器变体
# [2 g4 F- K" K
: |# M/ x$ [3 i' U5 K  H20.1跳转表与分支语句1 ]& H# [4 o) y8 o
20.2RTTI实现9 _! ?- c# q, c: E
20.3定位main函数
  E! z# f% J4 c20.4调试版与发行版二进制文件
. N/ ?3 w; a# ^" }9 \20.5其他调用约定
9 W, T8 E8 K4 k. G* Y1 [! P20.6小结% O% X$ {6 s4 l) m9 N, ^
5 F7 U$ A- p* S: i
第21章 模糊代码分析
& q  `9 u( P+ k% Q2 ~
% `' X6 D) f6 E* V) H21.1反静态分析技巧! x* n2 K; X3 e8 y
21.1.1反汇编去同步
/ f1 W% S+ y$ u: I21.1.2动态计算目标地址) y5 o/ s! p- m# a, |
21.1.3导入的函数模糊: g4 h( m) J" Y
21.1.4有针对性地攻击分析工具
" S9 C7 W& u7 V: g: v7 d7 |21.2反动态分析技巧
+ M9 [" u8 ^: a" V/ a  @) Q21.2.1检测虚拟化
5 m/ [  N7 y. ?7 C) h21.2.2检测“检测工具”
- s3 X" T  j0 B4 E3 E. [) n7 ?21.2.3检测调试器
/ h4 s( \3 N% |  c0 O  L% H21.2.4防止调试
+ F# K& O. Q! R6 w1 R21.3使用IDA对二进制文件进行“静态去模糊”5 m% x$ t" `( B
21.3.1面向脚本的去模糊% _5 `( }* ^6 h" ]' `
21.3.2面向模拟的去模糊
# U" M. K3 X' b/ p, B9 F21.4基于虚拟机的模糊
! `5 g6 j2 @" G0 G% s2 G21.5小结
' S6 n- [  U+ w3 [* R$ l
, m0 N) b. o# ~1 x3 v2 u) i第22章 漏洞分析: h+ q- M3 [( d9 e# T
& h2 r  \8 z8 j, G
22.1使用IDA发现新的漏洞' x- Q" C1 ]% q0 f/ U" Z
22.2使用IDA在事后发现漏洞
6 s6 o6 l2 f, O9 j, S. V22.3IDA与破解程序开发过程1 d5 G4 o1 p' \4 S6 X
22.3.1栈帧细目
/ n; h$ N1 P0 w$ l/ B1 _22.3.2定位指令序列
, N" N) M( g( ~2 _( F# b1 {- N22.3.3查找有用的虚拟地址3 g8 R& S! i4 e
22.4分析shellcode
# y4 W4 M+ y5 q& X( K22.5小结
" l% I8 D! ^$ d/ D6 ]2 l% d% C
5 v/ U5 j$ Y& m3 Z) L$ L2 Z第23章 实用IDA插件. Z: i  X+ @4 P& k9 z. V
$ ?5 d: \$ P. i
23.1Hex-Rays
* P8 I% U+ X( j3 k" {# H0 x  V( e23.2IDAPython! w5 k" z' G( t2 N: l8 F( {" R* @
23.3collabREate! `3 G( E. a; x& E( `6 Y
23.4ida-x86emu, Q% u' G: \$ Q, E9 i# D
23.5Class Informer. W! d- {  v' e4 ]) M- M% \$ W
23.6MyNav3 A) w7 k9 X& @5 d
23.7IdaPdf! E" ?) R) |/ h# r/ l- @; I
23.8小结- B4 D. Q; G/ ^0 m  S

' \) w0 |& g( f4 G6 H第六部分 IDA调试器. b3 C7 ^7 U* x; h

5 O) O# J6 d5 ?- ~! O7 M第24章 IDA调试器
$ F* j1 @( O# |! {- d# ?. p" l! D9 H
24.1启动调试器
4 |4 T" g) Z8 B' y( i24.2调试器的基本显示
5 z- }) g  O% f% {& g24.3进程控制% o( I2 `% c7 L( F# y$ G
24.3.1断点
! g8 w1 e2 n% s1 ~9 }24.3.2跟踪  x, f$ \5 Z2 z# m! [; n- t# [
24.3.3栈跟踪  F& h/ H; s2 J" H
24.3.4监视
9 L3 r) Z' c, D5 H. b7 q) z  ?24.4调试器任务自动化
1 H4 l$ n3 [+ Q, z" O24.4.1为调试器操作编写脚本
4 S1 ?- H7 }- j2 ~24.4.2使用IDA插件实现调试器操作自动化' a+ d5 l& y# m3 h5 g% Q9 u
24.5小结
; l+ f1 |" J% E. N( E5 @
( X3 e2 z3 m6 K% H第25章 反汇编器/调试器集成
" @! W0 h2 m/ E& h( n+ a0 u5 ]
25.1背景知识! F4 g) E& G& ~7 c2 H( ~
25.2IDA数据库与IDA调试器4 k1 |& H" s  @  R
25.3调试模糊代码
" K5 P; v8 a+ {. I+ d25.3.1启动进程
% j) Y; ~2 U/ l7 O25.3.2简单的解密和解压循环
2 v# V* v9 ~; B0 s" m25.3.3导入表重建
8 E$ l( z. {2 @5 |) }6 \25.3.4隐藏调试器3 N$ R% L5 p, a8 P7 u; ^" l
25.4IDAStealth
2 G* x- Z* X( p7 ~# x: l+ w25.5处理异常; U$ p6 @+ ~# x4 G( R
25.6小结* v" u, Y4 b4 _! l# m* H. k  s

8 ]4 Y- m9 [9 C0 t2 a4 u+ _) r第26章 其他调试功能4 E5 s" r% d5 @- m

7 E; G/ d% _7 j9 Y+ {26.1使用IDA进行远程调试7 F/ O1 K: k! H5 F, `" B
26.1.1使用Hex-Rays调试服务器- u! A7 \$ s6 C6 K1 D3 F8 ]
26.1.2连接到远程进程8 q3 l2 G1 c; l: `1 B; C
26.1.3远程调试期间的异常处理0 h' L/ {* ]* @& s: k" f/ L
26.1.4在远程调试过程中使用脚本和插件
: _4 s6 H) j; B0 U+ U6 S8 c7 Z26.2使用Bochs进行调试
5 b( {8 ]+ z- d) e0 P0 J26.2.1Bochs IDB模式- t$ Q# Z9 B, _
26.2.2Bochs PE模式* \& O  Y! s6 q5 I: b( |2 i3 u
26.2.3Bochs磁盘映像模式
% M8 ]. T6 H6 U, t% q/ z26.3Appcall
1 i( t, O, E% p0 S* ~5 x0 Z" I3 O26.4小结2 j. E( x# |6 O* Z

9 S9 \' T- _( a  Q4 [( v附录A使用IDA免费版本5.0
- z, S% w0 d2 Y& m: @- g, i/ r1 E2 S- x: i6 y6 U! V
附录BIDC/SDK交叉引用
4 F7 o7 \3 E1 `2 s4 }. n- r% i8 f3 A. a& D( x3 o$ v
想知道小甲鱼最近在做啥?请访问 -> 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-23 19:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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