QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

主题

帖子

荣誉

管理员

Rank: 40Rank: 40Rank: 40Rank: 40Rank: 40Rank: 40

技术值
查看: 2590|回复: 1

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

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

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

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

x
22595398-1_u_1.jpg

9 k7 a: _( V, J! Q% T- A# y( K4 ~
. g* u# O  }. q8 c书名:《IDA Pro权威指南》(第2版)
, k% q3 n: K, u+ {+ {$ L作者:Chris Eagle8 S6 s8 I8 U; G( o2 B- G
译者:石华耀,段桂菊* ^. H2 r, d; b) t
出版社:人民邮电出版社
- g  K& B/ r+ R4 S: U出版年:2012年2月1日(第2版)6 h% s* y' Z$ D; U# b" [
定价:89.00元" X; s* W, j2 O1 V
装帧:平装
% d* p3 g. r! K( `; tISBN:9787115273680
6 `9 t1 ~! L+ e) a5 R6 x7 \; d/ q- D! S0 Z6 T, ]( T; A% w" o
购买链接:$ u" R+ U$ E2 u6 y! G& m) ^, m

; Q7 R+ y4 J& Z1 B9 O4 ]4 K6 p

% Q4 w7 J- H0 A) s8 x! Z' g亚马逊(Kindle)-> 传送门
! }. L3 B% X2 R9 A& g, O6 f! _; V) J8 L; P; f' i
当当网 -> 传送门
1 |% E6 M; [/ s' J& W1 ^3 W, b1 }5 i. Z2 E; }5 F/ q. q9 Z
京东 -> 传送门" O: Q) e1 x) ]2 b

/ ]0 Y' N. J- ]& l7 e天猫 -> 传送门# h6 h( e" }7 H9 }; |# u" @3 X
: ~5 _  l( r. l" [) o5 k  m7 g
: S6 k- F7 {" g2 o) {' P. x
内容简介:" ?( a. _: l$ p7 h. g0 ?$ u3 b+ o
; M9 W6 `. C/ ?# K  ?7 S

! L; g8 n1 B& v8 K, d1 \
《IDA Pro权威指南》(第2版)共分为六部分,首先介绍了反汇编与逆向工程的基本信息和 IDA Pro 的背景知识,接着讨论了 IDA Pro 的基本用法和高级用法,然后讲解了其高扩展性及其在安全领域的实际应用,最后介绍了 IDA 的内置调试器(包括 Bochs 调试器),一方面让用户对 IDA Pro 有全面深入的了解,另一方面让读者掌握 IDA Pro 在现实中的应用。相比上一版,这一版以 IDA6.0 为基础,介绍了它的新的、基于 Qt 的图形用户界面,以及 IDAPython 插件。《IDA Pro权威指南》(第2版)适合 IT 领域的所有安全工作者阅读。' @4 P* A  e- V6 E# N

, U* H3 l! t/ Z& e2 L' K; }1 G  G4 D+ l+ P' n
目录:& g( I, M& j, K$ z

& Y( z0 l0 V/ C2 v

5 L3 x2 {$ M# Y0 J0 T1 a% \第一部分 IDA简介9 l( S/ o9 F7 Z2 p

6 M: N. J. ?1 w; l第1章 反汇编简介
: p  t" l8 e9 l7 P2 U& [' L' A3 y7 |5 J
1.1反汇编理论
) }' R; j+ t6 j, O+ x1.2何为反汇编, @$ u$ C% A4 _! S( F  y
1.3为何反汇编
: u, E7 X( @: G) T9 o0 v" [* F8 z5 o1.3.1分析恶意软件
9 V, F. M  a' Q$ S. H1.3.2漏洞分析9 L/ n1 }0 @8 v; N4 K' Q" o* N
1.3.3软件互操作性2 k0 \1 F6 |/ f1 ^
1.3.4编译器验证- I* d% U5 {1 E( ~5 C
1.3.5显示调试信息* _  b4 U! v* L( N: L
1.4如何反汇编. T' g  N; D# X: C; O6 g
1.4.1基本的反汇编算法9 U2 P+ G" s7 o6 q* g+ s2 ]4 q( m9 y
1.4.2线性扫描反汇编5 g' w  p, ~9 [# Q
1.4.3递归下降反汇编
3 r: P3 i% \, J0 d' v  Z# I1.5小结! \) q7 s, ^) L
( ?8 D3 R1 R( d" t
第2章 逆向与反汇编工具
; s) u2 L9 s: E. r9 O3 \
2 Z( c5 p; j- i$ I2.1分类工具
+ ]$ E: X5 b- V  H& }+ G2.1.1file
6 x8 t. H2 c/ r7 P5 F2.1.2PE Tools* [4 ?( I7 S& U" P
2.1.3PEiD
% q! v6 C- M4 }! D, W2.2摘要工具
! W& O* q) R) a5 T+ o. |3 J2.2.1nm6 U; U& ?* S: \% U; t8 L7 l" u) v
2.2.2ldd
- Z6 ]6 W$ h0 B8 M0 F* z2.2.3objdump2 @) m. q$ s, b5 x" \# g% j
2.2.4otool
" |+ l$ L* X0 U# V7 A; Q2 ^2.2.5dumpbin! M/ e- O! b% Z/ L. T3 g  B
2.2.6c++filt
" k$ }4 M8 C" V; e: D2.3深度检测工具
7 d3 c8 b1 u& l2.3.1strings: K. Y+ b+ M/ n6 o0 x: |; G1 q
2.3.2反汇编器; a2 m% G, q$ e& G. j
2.4小结
; ?: V: W; B! I3 |
) @" O) ]5 l/ Q3 d第3章 IDA Pro背景知识
) C; h& o: h9 S& I' E- `! }" G
9 `) ?. ?, Y, l9 B3.1Hex-Rays公司的反盗版策略
- P! p' k$ g% a9 f) S3.2获取IDA Pro
5 F( Y$ d% {# K6 }) ?3.2.1IDA版本
) j) O+ F" ]4 ]3.2.2IDA许可证
! e' @) S9 A2 b7 Z. B* _3.2.3购买IDA
  ?4 }% @8 Y5 L5 q5 I) K3.2.4升级IDA
2 L: J- f. t4 c, S3.3IDA支持资源
$ f* g0 x3 C/ v  ~3 n, U1 _3 C3.4安装IDA( M" L) @, y; D; z, a8 i
3.4.1Windows安装! O( D8 T* U- S
3.4.2OS X和Linux安装
0 \6 N/ W/ R( O+ k9 {3.4.3IDA与SELinux
" I9 k! F* ^* L3 N) [/ r1 u) F6 ?- t; ^; _3.4.432位IDA与64位IDA
2 ^/ q* c. ~9 t3.4.5IDA目录的结构2 p' D  f& U) o/ [) i/ O' R
3.5IDA用户界面
2 O# @* _% E* e. T3.6小结
0 k( L. {) H( I7 L0 z
) p" t! H; y( j  b, v5 D, T0 Z1 j第二部分 IDA基本用法
9 n/ C0 p: k9 I0 }8 P% Y" ~+ l: m3 b
第4章 IDA入门
+ n: j  W7 O2 b- j- V8 r, u' J5 S9 ?. t8 p' w
4.1启动IDA
; x- ^- w' h( b. x  z( Z2 |3 v9 o4 D* s% Y4.1.1IDA文件加载) t/ p' w: u7 @- E5 F. ^4 B8 p6 I
4.1.2使用二进制文件加载器
" @! `/ U( G* N: l% h1 z- G4.2IDA数据库文件) S0 g0 h: ]. P7 t$ k; ]$ C3 q6 ?
4.2.1创建IDA数据库
/ V2 u( ~$ }/ [0 V4.2.2关闭IDA数据库7 f( p$ k' f4 U  J
4.2.3重新打开数据库4 ]0 x- k, I; f& l1 f. R# S
4.3IDA桌面简介
1 A" z2 U% r' A1 Z- T4.4初始分析时的桌面行为- f- @6 f& n9 J& S$ e$ p8 ~
4.5IDA桌面提示和技巧
% e6 C( {3 K- M  h$ n4.6报告bug
: j' j: J% m+ Z" }0 W& \4.7小结$ Q- k) p5 T' @: Z/ w( `4 j
9 I& o3 O+ h, I& ?% j9 n
第5章 IDA数据显示窗口
" r% T$ y2 L+ t+ c/ c3 e. W4 _' h$ c$ H9 D
5.1IDA主要的数据显示窗口' H8 d  q4 u/ D) a3 [. |9 P
5.1.1反汇编窗口
9 c$ \$ N" |" S9 b, `# G0 b5.1.2函数窗口
1 P0 j( S* U. T# n5.1.3输出窗口. \$ _' o8 {8 s% H$ X) A9 m
5.2次要的IDA显示窗口: R- R( b$ C+ L1 z; x
5.2.1十六进制窗口3 Z+ |. x; N9 s
5.2.2导出窗口
2 V2 G  S) Z5 e1 d& C  ]5.2.3导入窗口
4 k" g& N) l$ p5 Z( Q$ x2 T( Y8 C5.2.4结构体窗口
+ n7 E. i0 w4 i1 J! i& W( B5.2.5枚举窗口
0 j, @" z% W2 e  X" G9 Q' k5.3其他IDA显示窗口0 a. W* X' x; _' S2 M( |- y- s
5.3.1Strings 窗口
2 o8 p6 s  S0 D3 b* X$ g. ]. U5.3.2Names 窗口% }: v" S% h3 y
5.3.3段窗口
' y+ ?8 I  ^# L5.3.4签名窗口2 r' V2 x% L% i- t( U+ s! c
5.3.5类型库窗口
9 W. Z, u$ ~3 G6 V9 {7 |% F5.3.6函数调用窗口
9 u6 X6 p- H1 q; \& T8 a5 D5.3.7问题窗口  `# E/ |2 k8 T) C0 h( k$ ]
5.4小结/ Y8 n0 n% C7 H; m  D6 O

  q. [& ?' P9 j# _6 u/ s5 i$ K6 `6 m第6章 反汇编导航- y) G+ A5 D0 Y" U0 E+ i; p7 \

! W3 o1 M  s( s6.1基本IDA导航, N( K8 c+ |( r( N9 Q
6.1.1双击导航
, V) _! z; e6 Q6.1.2跳转到地址
" j- c3 c& ~8 m8 O1 w- M' R6.1.3导航历史记录& G9 N' h+ o7 N" Y* J8 s' ?
6.2栈帧5 Y4 h$ j! l* }8 a1 x/ s: x
6.2.1调用约定) ]; D4 w! i' F6 F0 |; _
6.2.2局部变量布局, i5 G9 e' X" j
6.2.3栈帧示例
  b3 e! |# u0 F; A/ C; z% M6.2.4IDA栈视图" e  y4 a& @- x* c
6.3搜索数据库" k/ N/ m8 J( r: `3 Y$ l! V+ [" X
6.3.1文本搜索
! j2 u! E8 d" {9 |  s9 @6.3.2二进制搜索
1 v8 Q- k* |- e9 ^6.4小结, K- C' w, T( B3 B' z- f  f8 W

7 ?4 P% H7 Y3 Z* A+ v4 B. m  T% L1 z第7章 反汇编操作& ?7 X1 i% Q. o. m0 p7 D
5 j! H4 r! B8 `
7.1名称与命名
0 y" ^& u0 |$ ?7.1.1参数和局部变量
6 R  W, q0 e: N8 U7.1.2已命名的位置
: s; \  \1 U: B7 Z9 c1 H7.1.3寄存器名称* y5 U) Y, l4 R: ~0 W9 x9 ]
7.2IDA中的注释' X. N! L+ v! h, Q
7.2.1常规注释
* u5 D5 z% s+ y# M+ L9 B7.2.2可重复注释
; @6 N/ H+ Z+ E- j% K) c7.2.3在前注释和在后注释
9 p; z2 y5 [7 Q0 c7.2.4函数注释
+ H4 H  ]" W3 q" R% U7.3基本代码转换% j, G2 W- o3 k+ y1 m
7.3.1代码显示选项% m5 t, j9 W3 y( Q
7.3.2格式化指令操作数
  ^/ E' Y7 k  A% n  I7.3.3操纵函数' m' L1 V& y. ^: n
7.3.4数据与代码互相转换
  _5 O1 n7 A$ i7 }7.4基本数据转换# K( p& M! I: F. W
7.4.1指定数据大小
5 g3 U5 k, U4 }8 I+ A0 _0 p7.4.2处理字符串# d" g7 g6 g8 f. O, w$ {
7.4.3指定数组! [1 Y+ B, n- ]9 ~3 k
7.5小结4 u0 v/ \/ q, Z9 x

( s- U1 S  @% p9 i第8章 数据类型与数据结构
- _, t2 Z2 D- g: F; t2 n. I2 |7 f
8.1识别数据结构的用法
9 _9 k; h1 r, F% Q! k0 a2 k2 V8.1.1数组成员访问0 d  u' [) Z) h0 V; B: Z8 w% |
8.1.2结构体成员访问
! J9 Z, N/ y. t' n. b8.2创建IDA结构体
8 S4 `: u' e# N7 A8 j+ Q8.2.1创建一个新的结构体(或联合)
% m) o+ ?# ^4 t) E; v0 j8.2.2编辑结构体成员
0 p1 K9 r9 z$ ~" t, `  h3 n3 U, W- `* s8.2.3用栈帧作为专用结构体1 E4 f/ V4 ]1 Z7 d9 A
8.3使用结构体模板5 c) B; U% L: z+ u5 i
8.4导入新的结构体: P0 `+ ?) I- r* o) z) Y
8.4.1解析C结构体声明5 Z4 x" y) V3 ]0 L7 N$ Y% r, v
8.4.2解析C头文件
9 l" ]8 o; O9 g2 j2 E5 w- B$ F, S8.5使用标准结构体) U0 O$ h- O" g. p
8.6IDA TIL文件
$ ]( [! e6 X+ y- k5 z8.6.1加载新的TIL文件
4 D0 p$ p' W* F: l8.6.2共享TIL文件# V0 f3 n$ m% _- L
8.7C++逆向工程基础
4 S' y5 o, h/ `6 s6 ]% |# u1 J8.7.1this指针
  P- E4 P6 s% C) L: J/ z  A8.7.2虚函数和虚表
# L# ~/ T% p1 q. Q8.7.3对象生命周期  G& V! n% l* X9 J- {, y
8.7.4名称改编$ m9 P; V" Y" _& v0 j
8.7.5运行时类型识别1 s& n1 Z. R' {$ P5 F( {
8.7.6继承关系- i( i5 o1 f$ X$ d
8.7.7C++逆向工程参考文献# v7 m$ v1 w, v& h0 r
8.8小结+ w6 s! a  Y1 X3 N
* g! g+ }6 ]# L+ _% `* g5 D3 a
第9章 交叉引用与绘图功能
7 {/ f0 Z7 |, A( @& Z4 n  K% e& X) f; Q- r/ v# x9 f1 `
9.1交叉引用
3 l% b. w1 O: }* F1 a9.1.1代码交叉引用$ e# O3 @$ P- c3 W0 `
9.1.2数据交叉引用
# H) ~1 r5 m5 u4 J+ m9.1.3交叉引用列表
- I4 ]) P# _4 i; `9.1.4函数调用
8 C) A" G9 |+ Z5 {/ w9.2IDA绘图+ u. C" D6 z+ G% Q' C' y
9.2.1IDA外部(第三方)图形
9 S0 X" `5 V8 n' v8 C' N: i& }9.2.2IDA的集成绘图视图
4 Z8 g' X8 V0 y: N5 v# h5 w1 n- H9.3小结
* ]; g4 H4 d; ?& I" D2 g0 ?4 ^
( W% B2 M1 |& C1 M% N3 P) D第10章 IDA的多种面孔
4 V+ v8 i+ H( k) K( U3 L! [6 p; r3 K, P- w8 q0 x+ h
10.1控制台模式IDA1 N  p; E4 v! V. m
10.1.1控制台模式的共同特性
6 y; s- A/ a$ h10.1.2Windows控制台+ r/ F% R; d; S; Z
10.1.3Linux控制台
# @+ x. F6 f1 o  |0 v10.1.4OS X控制台  S9 w! l% {" ]) v3 C1 E
10.2使用IDA的批量模式
2 g' x. p% b- d4 S9 l10.3小结
4 T2 I' B5 k" h3 s7 Z! [7 f$ f9 I4 n9 ]
第三部分 IDA高级应用
: |, S+ E8 N, G. S* W
: j: d% u7 U6 z5 r1 m0 L第11章 定制IDA
/ Z: @1 C1 X6 X* ]( L6 D
0 N% I* @  E/ m! s11.1配置文件
, b* ]0 G& l" V: v, Z$ e+ c4 s11.1.1主配置文件:ida.cfg
5 v- r9 V$ b2 l, c! U- Z+ z1 V( @11.1.2GUI配置文件:idagui.cfg0 B9 n% T, r, r( c3 E) A! |
11.1.3控制台配置文件:idatui.cfg
! c. N2 Z4 g) `" E11.2其他IDA配置选项
8 ~4 d' I- Q+ D) {! X4 ]5 [' T11.2.1IDA颜色
( Q& ]; r& }7 o* u, J9 R2 t8 |7 S11.2.2定制IDA工具栏
8 R  t# X; q8 e9 [8 K- e9 Q5 h1 A7 K11.3小结3 c3 b- Z2 {5 P) H5 q) F

% S7 D* I. E1 Z第12章 使用FLIRT签名来识别库, v1 N  {+ x! z7 U- z+ c# l
% ~! A  i- X! _: O6 ]. |9 G5 P  V
12.1快速库识别和鉴定技术
+ A7 ~0 d( T/ T1 a. R& \( q) G12.2应用FLIRT签名; a) w/ w+ l0 I2 n( l+ I$ S! Y
12.3创建FLIRT签名文件* c& H6 [& j* l2 L5 g( d
12.3.1创建签名概述- `2 I' {" P' F6 E& S2 K6 k
12.3.2识别和获取静态库
8 H8 c4 W" S& y; M1 ^+ P12.3.3创建模式文件" K& d. V7 P# {1 B2 o9 k
12.3.4创建签名文件
( x+ u0 D, j- P! e- F& F12.3.5启动签名6 k3 {1 D; `5 g0 z0 F4 a
12.4小结
! o" G( P5 X' k, h7 c! M1 M6 b$ k2 z4 X5 a+ n1 ?
第13章 扩展IDA的知识+ h* E5 t. f& q& n0 e

/ b  |' u: X& Y7 l- D& _13.1扩充函数信息8 t1 n0 l  H6 q5 B- g  `7 D" ~
13.1.1IDS文件1 p; p$ {6 O2 R& n) |
13.1.2创建IDS文件4 c1 i# f# y# t9 V4 l2 F
13.2使用loadint扩充预定义注释. N, {8 z$ C1 y! R$ l5 w$ z( Z
13.3小结# M4 N4 r, Y% z- G' z( F

4 W) h  C2 ]2 D0 ?" k( d, b第14章 修补二进制文件及其他IDA限制% _# W) w) {  V& f2 `2 D2 s

! I5 P0 w+ {6 y14.1隐藏的补丁程序菜单
- \/ x, b, }& ?  D; _7 C: {14.1.1更改数据库字节
9 v+ n% {) ]/ A4 ]14.1.2更改数据库中的字$ M, R4 Z0 t5 A+ w. k' d/ z/ e
14.1.3使用汇编对话框" a, j( x7 x1 k7 Y
14.2IDA输出文件与补丁生成* L/ S/ c- @: r# [6 q" R' T+ s
14.2.1IDA生成的MAP文件' ^" a1 P8 V! F5 Z
14.2.2IDA生成的ASM文件+ W0 }9 }) |% g" ?
14.2.3IDA生成的INC文件
% U; R0 ]: ]* q/ S( W& {/ q14.2.4IDA生成的LST文件0 d4 i4 H) n$ @' ~* r& O  F
14.2.5IDA生成的EXE文件
$ r7 F1 {$ d1 J9 l+ B& G7 N7 |3 @; t14.2.6IDA生成的DIF文件
4 N8 z; V3 i) X" i14.2.7IDA生成的HTML文件5 C7 f% s- |3 C
14.3小结* S% W9 F+ g5 r

  E* E9 y3 |* Y第四部分 扩展IDA的功能
$ W3 a4 W% w; y/ H/ ~* h* p
' H) p( ^6 W/ g. c. ]3 k第15章 编写IDA脚本/ @9 G3 Y  \4 l; z% t. G2 V
8 F3 H/ B: |& r$ U+ [9 t
15.1执行脚本的基础知识& v7 m  J: u( t5 o! ]1 x
15.2IDC语言
5 y" O0 Y; i9 \2 Z' I' u15.2.1IDC变量
3 g/ r% G8 o* F15.2.2IDC表达式- D3 C' Q9 ]4 m
15.2.3IDC语句" K+ D  M7 j, m+ N
15.2.4IDC函数
. L+ h: R: b& _- d15.2.5IDC对象0 c8 I2 o4 R; w4 s$ q
15.2.6IDC程序
6 k- v6 n. y! f" S/ W6 c15.2.7IDC错误处理, v0 y: Q6 J0 k$ ?3 C5 Q: m5 y
15.2.8IDC永久数据存储
- c4 @: J7 k& j% S! p  R15.3关联IDC脚本与热键$ z2 F# P  h0 K$ A( G. z
15.4有用的IDC函数
# O( T& v) a1 B/ |- g) _0 H15.4.1读取和修改数据的函数
4 A4 W  A) _# `1 R( H8 ^( @3 }; {15.4.2用户交互函数2 N) k" R' F3 c  T" ~/ ^
15.4.3字符串操纵函数0 T! T, r* o  j8 \3 Z7 Q6 T# A
15.4.4文件输入/输出函数
4 i2 w2 K. l# n% f" C15.4.5操纵数据库名称
; V& ^( A2 J& f; I- L15.4.6处理函数的函数2 ]! B: I1 v! S3 w+ i2 \! f
15.4.7代码交叉引用函数$ _3 k" e2 w( `  K: @% F9 N+ D
15.4.8数据交叉引用函数
% o" ?; y$ N) ]" E6 Z* ~# H15.4.9数据库操纵函数
' R) F/ K$ ]- y$ M- X15.4.10数据库搜索函数
5 h8 _: |) |* P& y0 d15.4.11反汇编行组件# M+ n7 {$ w4 K! u
15.5IDC脚本示例
7 p3 c6 B$ h; W  S9 x/ c7 v+ P15.5.1枚举函数
: x$ ]! s/ u& ]0 e( Q15.5.2枚举指令
3 z3 Y2 u: f! k: k( T1 r15.5.3枚举交叉引用$ P9 ?, c, p' `
15.5.4枚举导出的函数/ M7 N: @% \- {. N
15.5.5查找和标记函数参数
2 t4 h' i& `* {5 Z) F15.5.6模拟汇编语言行为
$ c1 e$ p1 P1 B. p) P/ F" w3 j2 {15.6IDAPython" f8 l' \( A  j4 I0 D1 _# K/ `
15.7IDAPython脚本示例
" N% B  h' D' m0 f5 v15.7.1枚举函数
: I* b# {6 e) P. E: b$ g15.7.2枚举指令" w3 K! V7 |  v6 A) X* J$ |
15.7.3枚举交叉引用
+ K& y5 z* P4 I4 d1 L" e) r5 ]0 U15.7.4枚举导出的函数
: m) V: I( ^5 G* |15.8小结
3 b4 p) I6 x9 Z8 M
3 m+ l- n8 ^3 ]( j3 r/ b第16章 IDA软件开发工具包
' N+ p& e9 i. X  k; @& v* V; \4 `& Q. X% A! z& d1 m5 x* n$ j( R
16.1SDK简介8 O% n5 l) C& ~  Q0 m9 G8 _
16.1.1安装SDK
  z& s) L2 w# V3 j16.1.2SDK的布局, ~- R7 h/ }. \: |. I8 b
16.1.3配置构建环境
, ^1 i3 p! \6 b! b0 k, q4 J9 A8 p16.2IDA应用编程接口
% U9 d& {( x& @5 N$ `: {3 g16.2.1头文件概述
  F* k" u6 r( c4 q2 P1 d* R) c16.2.2网络节点
/ u+ z2 P) W) p16.2.3有用的SDK数据类型
, R, V+ s1 X* D( Y16.2.4常用的SDK函数
* I  c# N3 g4 O2 L- H  v; d16.2.5IDA API迭代技巧' v$ A2 |. h# M4 m4 u) W& k
16.3小结( N/ @& S2 V% F/ j/ r% @
1 e6 l1 I6 L6 i( g) u/ C
第17章 IDA插件体系结构
: H2 v' M4 {" A5 K! j; a
) A) K' `8 _/ }" U17.1编写插件/ x9 H" l5 S) m( r: P4 G1 j$ ^
17.1.1插件生命周期$ z# {* J# T4 B" r) \  O
17.1.2插件初始化
: x& U) t9 X+ B17.1.3事件通知! f: b6 t9 j. W$ C2 U3 i: f/ y
17.1.4插件执行
9 h1 V( f2 U' G1 L/ @17.2构建插件
# S, E- V  R& F  u17.3插件安装
' m5 H: I3 `) ?5 o1 D$ n9 u; Y% z17.4插件配置( P. ]4 H: z& W$ ~- Q, y" B
17.5扩展IDC
! r+ m9 n$ o' k17.6插件用户界面选项
8 J( l& U; G9 y9 U3 j& S* p17.6.1使用SDK的“选择器”对话框& u0 K% Z1 [: l$ @; H
17.6.2使用SDK创建自定义表单
- s$ s5 |9 N% z17.6.3仅用于Windows的用户界面生成技巧
4 j" y( H3 W3 G8 G3 ^17.6.4使用Qt生成用户界面% N; V- g* U( V; v4 \) E0 S' o
17.7脚本化插件5 f, `: }. v. f! w6 z( P" q4 f$ @7 E* X
17.8小结8 g; c! s9 j) L6 x9 A
( N$ G9 j, x2 e" Q& D! D  a' Y
第18章 二进制文件与IDA加载器模块
& W2 n1 |$ N% m; t8 }+ I: W  f$ A! D6 n4 i+ x) U2 j
18.1未知文件分析( }. I1 ]  L: q( k2 G% f
18.2手动加载一个Windows PE文件  Z/ o0 ~5 |+ z# f+ _& z9 ^& b- L
18.3IDA加载器模块
5 d$ N- ^5 Z( U0 U; Q7 l1 S( c18.4使用SDK编写IDA加载器
. U& r) t1 X% y6 M% ^18.4.1“傻瓜式”加载器
5 ]& x2 {) Z7 Z! P1 t18.4.2构建IDA加载器模块$ o7 m# |8 Q( x* e
18.4.3IDA pcap加载器1 M  l/ u0 c" i# J7 @
18.5其他加载器策略: |; u% ^7 O# J: q, a- a5 t& n
18.6编写脚本化加载器
, b/ {- q" e0 L4 T18.7小结
; F( G. L. D; y' H* P# A" S) t- E* ]5 p5 Q% y
第19章 IDA处理器模块8 G: f$ a0 \' ]
) K* B+ V+ @# k$ b: u# K! l
19.1Python字节码/ V: f+ ~' [2 z; _9 u7 g) T/ P
19.2Python解释器
1 b% I6 E  G: r7 m% \( k& v+ n/ }19.3使用SDK编写处理器模块
5 H* U; n) m( e4 S  C; d# H19.3.1processor_t结构体
2 V2 c% b  V. s8 P, R4 m) X19.3.2LPH 结构体的基本初始化
" E$ ]0 n6 ?4 w. C) v1 H19.3.3分析器0 y" K5 j- _+ p$ F' l" I$ R! Y
19.3.4模拟器4 X& V2 v# v& A& K5 p0 P  K( E
19.3.5输出器
+ P& u: E- x% l, a. a9 y19.3.6处理器通知
3 @3 [6 o& z( |  i0 Y% m( J, |' ~19.3.7其他processor_t成员
: O" C. J6 h* W; H. x3 X19.4构建处理器模块% K, J, g$ {9 a7 c# v9 E' y
19.5定制现有的处理器
  D; |! w4 ^5 h' U+ S5 U/ c19.6处理器模块体系结构
% [! C1 T& {9 T- w7 F19.7编写处理器模块1 X. a$ {7 o, V0 X) g
19.8小结
7 L0 e" v+ z% ~+ S5 u2 v) z% n
第五部分 实际应用
' p) q- p' g5 c0 n- K- ]$ e  U" p, [7 a- ^6 j" y- I1 g' m
第20章 编译器变体
1 }- T+ c* _. B) |* P' Z+ N
( H" D$ d- w; Z  d20.1跳转表与分支语句  @& v) o1 E4 s/ P
20.2RTTI实现
" l( R0 h* }" a5 B. |$ i20.3定位main函数, J- K, j0 B" r2 {- h- w) [
20.4调试版与发行版二进制文件
. i6 o0 f. C1 v  e# v  i  ], W20.5其他调用约定( y( a/ [- B8 b9 T! f2 u0 V6 u* f
20.6小结$ k: K8 U: R" o; t! ^  P. _

) `# ]' j& j4 O- r9 Y, f0 ]6 ]第21章 模糊代码分析  k8 M- ^4 z4 W8 n

; }9 S$ y1 W% c4 h4 [/ y6 f& W21.1反静态分析技巧$ @3 I* j" Q1 c1 [0 k2 t: u: C7 H$ h
21.1.1反汇编去同步. W' P# O$ B0 F
21.1.2动态计算目标地址
4 }; e& z$ D9 `' D4 Y8 c0 G+ ~21.1.3导入的函数模糊
0 [7 o" T0 {- o, t" @3 K21.1.4有针对性地攻击分析工具: [* r1 i6 V* r/ M
21.2反动态分析技巧4 @2 O' B4 h) a/ z' t3 K1 Y
21.2.1检测虚拟化
/ _5 z/ G+ ]+ @% D21.2.2检测“检测工具”; ?: C" j+ k% Y1 E: y' }
21.2.3检测调试器' H* }' n* f' e% @' K5 B( P
21.2.4防止调试# |! e+ y& H" L# n; I; r6 o7 V
21.3使用IDA对二进制文件进行“静态去模糊”
' E; D8 D% [8 R# d7 z8 Q4 T21.3.1面向脚本的去模糊
) i8 ?, K) }* Z" Z21.3.2面向模拟的去模糊
1 E, ~/ C  F1 E# }9 m21.4基于虚拟机的模糊
: W/ C; w/ F9 {. H3 M5 y0 N9 s7 }21.5小结! K- h/ u/ g- f) O! ]# C# x! {8 ], J$ @
& m2 z4 Q( r. i. S; Y2 J4 A8 x9 x; k, W. g
第22章 漏洞分析: P: v4 F) _& `% B) [1 r/ r/ ^

8 H$ h8 k4 f# Z6 Y# E22.1使用IDA发现新的漏洞  U+ r3 T3 \! c6 v4 h
22.2使用IDA在事后发现漏洞
6 R7 ~/ Y, N" a+ z( R( T22.3IDA与破解程序开发过程5 L. K+ C; i4 R1 \
22.3.1栈帧细目
7 n, k8 |4 g8 A0 w# w$ ]22.3.2定位指令序列
4 d! G' G# ?* [% e8 }- v22.3.3查找有用的虚拟地址
$ P! Z! \2 N6 U" j0 ^22.4分析shellcode, y' Z0 ]+ B8 ]5 E7 [
22.5小结  E/ c0 [4 J! w( {3 k; |7 L; l

! I# o7 s/ b8 J- g+ Y第23章 实用IDA插件
7 G2 r2 o- g, }- J5 f! w0 v2 L7 h, a$ z" ?; E
23.1Hex-Rays4 ]$ |8 W9 V7 `9 m* }: p8 G0 P
23.2IDAPython
: a8 s3 e, q2 a23.3collabREate0 G+ Q6 Z, T$ x! r) H* v
23.4ida-x86emu
% d3 V" J7 n; C6 ?1 j: f23.5Class Informer
2 o5 {6 l' F) b* h7 q23.6MyNav9 ^+ r! `" f* u/ W: L
23.7IdaPdf5 H: d3 K( A8 `, Z( B- F7 V' J' \
23.8小结
4 m: Z, U4 C" c& \* I
' X2 B& w* W' S! a9 A第六部分 IDA调试器/ z+ |! y- w5 p/ F1 p4 Y
9 Y+ ]- l9 R! E( ~1 l
第24章 IDA调试器
7 ?. q$ E6 Z4 f' i" ^
+ ?, z  s* x5 A8 [, n24.1启动调试器
8 B8 v+ W" g" E: X* c24.2调试器的基本显示
3 @$ i# o  |( Q5 j  M4 J24.3进程控制6 t- |9 z+ D+ A; s& A
24.3.1断点
9 ^. u) E, L5 X! m3 ?24.3.2跟踪
$ O; U6 \" y" Q0 u- _- X8 i- c1 A24.3.3栈跟踪
$ f  K  E) b9 s; `$ u$ A7 C/ f2 l7 Y24.3.4监视% c( E, n2 V3 y, M( U& v
24.4调试器任务自动化
# \) \9 ]( e$ p. t1 e" l24.4.1为调试器操作编写脚本
! v! `* h7 `- @24.4.2使用IDA插件实现调试器操作自动化
9 z* {9 ?0 z0 J; E5 Q24.5小结* o; Q; ~" X4 @3 a, X- Y

+ ~7 E( j6 K( u- c- P. y& a第25章 反汇编器/调试器集成6 ?# ~6 c5 F9 S. I% |# O+ u8 L
  ~8 c# D1 s2 Z+ y
25.1背景知识
3 Q$ T- i" p: A- R  |25.2IDA数据库与IDA调试器
6 N9 X% w0 W* V/ [' s8 v25.3调试模糊代码
0 f: X- r$ ?8 k) s- g& G! U, ?25.3.1启动进程
" f/ x( E- X$ g9 X6 e25.3.2简单的解密和解压循环
" j' ]- B% ]; r4 K1 W, B6 H: r25.3.3导入表重建
# o  Y* X: g; c, Y8 n25.3.4隐藏调试器3 u, m0 c& E- o* j3 s
25.4IDAStealth
7 h/ z) {2 f1 d' }25.5处理异常+ K% a* o% q0 T  S3 [
25.6小结; p* e* Q- O9 o1 W

( t# O9 S' Y1 ^  F第26章 其他调试功能
. p6 ]: t/ g6 L) Q2 P
8 z; E6 I. B8 u5 X& d26.1使用IDA进行远程调试$ t' u" L/ q) n' P6 D1 H" n
26.1.1使用Hex-Rays调试服务器) ^6 `5 _; c' m, g. t9 ?
26.1.2连接到远程进程
3 f$ ?% Z" W$ K0 f$ Z26.1.3远程调试期间的异常处理
7 P" h( _. ^$ c+ i26.1.4在远程调试过程中使用脚本和插件) x' F8 }6 ]6 Y! K* E% z/ H; F" [
26.2使用Bochs进行调试0 L3 i6 \5 L4 C2 Z$ `0 q$ e! T9 \
26.2.1Bochs IDB模式: h* H. h5 K+ o1 e" f/ X% X, s
26.2.2Bochs PE模式$ p3 a7 w5 T5 U2 O
26.2.3Bochs磁盘映像模式) i# C- R. g2 L% A& a
26.3Appcall
7 j6 d/ M* W0 u9 u5 @) S3 j4 M# o26.4小结- c: M3 E* A  y/ E  n/ @+ a

( g( `$ ?, l% a" ~- a9 q: w8 a附录A使用IDA免费版本5.05 b" m) c$ |; l+ i' v# r; O

- [# ~) s9 B6 o9 K: I附录BIDC/SDK交叉引用
2 c0 w% _) m$ S$ A! b7 ~
! E, `# a9 I* I/ {1 C
楼层
跳转到指定楼层
最佳答案
10 
累计签到:41 天
连续签到:1 天
wuyuan2011woain 发表于 2017-6-15 15:01:15 | 显示全部楼层

发表回复

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

本版积分规则

关闭

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

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.1 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2018-1-18 23:42

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