鱼C论坛

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

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

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

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

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

x
22595398-1_u_1.jpg
7 F: c. z/ ~. {: G" {; p
4 G* q5 ]# q& d
书名:《IDA Pro权威指南》(第2版)
2 ]% I6 s9 ]& T4 j1 [作者:Chris Eagle# ^- K9 U: ?. ]. E1 h' r
译者:石华耀,段桂菊+ T. C" ]4 |( l( K
出版社:人民邮电出版社
; x# a1 E. n, v" X/ f& C8 F出版年:2012年2月1日(第2版)
( r9 [- [- |* ^$ ?; G- w定价:89.00元
4 ?9 D  Q' c4 S! o装帧:平装
/ E8 E5 y* s) pISBN:9787115273680( B* F6 A0 b; b! ]: t4 \
6 g: w+ t4 z' D0 i
购买链接:  i9 {( N# }! L3 N% h! b8 e: N

) t; t- d: @- f
/ ^) T% v  P" k- ^& [7 i/ }
亚马逊(Kindle)-> 传送门
4 U9 n; g) Y" N4 w- u* h0 i. J2 V& ^1 t0 \1 f5 b# j1 H
当当网 -> 传送门& j' C% L4 o# `  f& Y, a8 R

  X* [% B- T, M5 ]  b京东 -> 传送门
, P: _1 p! f$ }$ t$ v& a8 C" o
1 Y2 o4 T( L( W8 c天猫 -> 传送门, L3 G6 b* i3 Z+ \7 B

4 |- d5 G& ~) l3 ^$ g) {# S% b6 g& O
内容简介:" U) j7 W" h4 }5 Y$ U; q+ T
, R8 z) C8 F- R  i


( Y3 L  `( j5 s! B5 D《IDA Pro权威指南》(第2版)共分为六部分,首先介绍了反汇编与逆向工程的基本信息和 IDA Pro 的背景知识,接着讨论了 IDA Pro 的基本用法和高级用法,然后讲解了其高扩展性及其在安全领域的实际应用,最后介绍了 IDA 的内置调试器(包括 Bochs 调试器),一方面让用户对 IDA Pro 有全面深入的了解,另一方面让读者掌握 IDA Pro 在现实中的应用。相比上一版,这一版以 IDA6.0 为基础,介绍了它的新的、基于 Qt 的图形用户界面,以及 IDAPython 插件。《IDA Pro权威指南》(第2版)适合 IT 领域的所有安全工作者阅读。
# v: q3 l) c/ ^5 O: r; G& O. q; Z8 E9 o/ u1 \5 h

+ t- x; z: P2 ]: P& ?目录:! b. j6 y0 l* a' ~
) x' o( b+ F; w* p" t: ~


; H8 S+ ^) Q" P4 V4 A3 P第一部分 IDA简介
1 N# H; N, H  K8 N; e* L9 o  M% K( T) O* b, I& y. Q
第1章 反汇编简介! Y5 s5 m9 H% [( |1 Q- M3 Z
6 \; ^+ P3 T& v6 B# F1 j
1.1反汇编理论
# G4 l& K/ b/ s$ M1.2何为反汇编
0 |+ S# q7 ]% C$ p1.3为何反汇编/ l8 n  i- a4 I8 ~
1.3.1分析恶意软件: m6 c% Z& \3 _/ @
1.3.2漏洞分析
+ H3 M# P1 p, m6 O/ T/ n1 Y$ |: U1.3.3软件互操作性8 [# C( c9 d! Y8 ~
1.3.4编译器验证
- O4 t+ c$ Y& M0 _0 p+ e1.3.5显示调试信息
+ p5 p& K. ~" H# o* n. u1.4如何反汇编7 y# D: w, A1 [+ M* j
1.4.1基本的反汇编算法1 _" }6 I7 I6 r" v
1.4.2线性扫描反汇编
& }; Y: V: M3 m7 j$ F& D1.4.3递归下降反汇编
: o* A0 |+ Q3 X# t) F' u- k1.5小结
- \# A5 E6 U  y2 M+ t0 \7 {: F$ z+ W: E6 C  j. w( ~( y
第2章 逆向与反汇编工具
% ^# E" [  _9 g( }, j! U" U2 a& U% D: d: v. z
2.1分类工具( U7 y% v# v& C) q2 y3 n. z
2.1.1file/ ^9 |- |9 W5 ^" o  F
2.1.2PE Tools- j; w2 r3 d8 h+ ]
2.1.3PEiD. z8 b9 u' T! m- I+ j/ Y
2.2摘要工具  S/ U8 H+ [! d: f% \
2.2.1nm' c5 t* z( S: h0 Z* B
2.2.2ldd8 y- H1 ?7 e$ [
2.2.3objdump
5 q' |# v; w) _: y  Y* V" U  ]$ n2.2.4otool
7 i# K2 D: t" z1 F, t2.2.5dumpbin/ ~) {1 r1 d6 \: h
2.2.6c++filt
4 z# u+ l7 J$ W( V1 a$ ^2.3深度检测工具" {: ]& G% r$ J% w6 H( C; P2 E5 x
2.3.1strings
3 y* |' s) `* C& U0 C+ Y! x2.3.2反汇编器
" [( a" u+ ?7 D# U0 r! f2.4小结* k" K% E. ?2 Q9 V9 P; J
% S/ p. t7 j+ _  |; g. m( O9 Q, j
第3章 IDA Pro背景知识
6 n6 T5 g) V! {9 H2 b$ K9 A3 Q1 M( z1 }; Y
3.1Hex-Rays公司的反盗版策略
" B, ^2 ?% y) ]5 z9 \3.2获取IDA Pro9 J9 g1 M- I9 R+ M# p4 E8 b0 c
3.2.1IDA版本
8 G0 _! [& U  y* [  u9 E5 _3.2.2IDA许可证% H$ ?* \: r7 @! o7 `$ V. A. S. \
3.2.3购买IDA
0 p# t& A8 p6 f1 V1 [3.2.4升级IDA
/ n; Y$ R) g3 H; d- w% n3.3IDA支持资源5 f4 g  _9 B2 \, J4 y
3.4安装IDA! w/ d2 B: S5 a+ Q" V2 P
3.4.1Windows安装
/ ?. M5 H0 I1 |) b" W3.4.2OS X和Linux安装! B$ L* g4 m: g& Q  n/ a) f
3.4.3IDA与SELinux
1 P# n! \) B( r5 n& W3.4.432位IDA与64位IDA
+ f4 O5 B2 R! y$ h: p3.4.5IDA目录的结构
& K9 U2 R' J2 r8 U6 V3.5IDA用户界面5 v+ P, S( i* X) e4 w( W6 g8 r. f
3.6小结7 R( |/ @7 x% f( g" [- k

. Q* y  K' K! U+ ]# {/ i第二部分 IDA基本用法
! P6 I" P8 R% n7 H' i  a+ |5 K- ^' ]9 u3 J- j
第4章 IDA入门' [% X0 a& ]* {4 y5 [& k) U

5 o. g" O0 ]9 Q4.1启动IDA
8 p. U, _& y+ M3 t7 }1 `) I( }4.1.1IDA文件加载0 i" |6 ^) B! [
4.1.2使用二进制文件加载器9 i, D! Y  J; h
4.2IDA数据库文件; I$ {7 @5 t5 G* Q3 K- D
4.2.1创建IDA数据库; [; F' m& \, I5 Z* L7 c$ a& p# k
4.2.2关闭IDA数据库
% C! `! N3 [- l3 O$ H/ J  V+ Y4.2.3重新打开数据库4 D& Q$ I8 Q; W- C/ u5 ^  J' e* \
4.3IDA桌面简介' f, r" ~. V+ A3 D, t4 F: z
4.4初始分析时的桌面行为1 V8 {, O- Y# L, ]1 f, O- E4 E
4.5IDA桌面提示和技巧
4 ^6 ]- \# V1 V. {, h% n" ^$ q' W4.6报告bug
4 f; y0 s, z) g) t# p4.7小结
0 r. T' c9 W+ I$ G9 l0 e- p
2 P" V: p1 g# Z- v# V8 C6 k第5章 IDA数据显示窗口7 \9 r3 K7 X: @3 Y. R2 K

: t4 j+ q2 s7 W" q, S5.1IDA主要的数据显示窗口
$ S' ~7 o1 S/ b( S5.1.1反汇编窗口
/ M1 }% s' y' Q0 N5.1.2函数窗口
9 }1 Y7 \. S1 `$ d7 ]3 j) C& a5.1.3输出窗口) [; l/ F" v! ?0 x1 `6 y1 _
5.2次要的IDA显示窗口
* y+ M! L; h+ {/ s+ q9 Y5.2.1十六进制窗口& ^; e) A( K* S- p# U
5.2.2导出窗口2 J# K+ Y1 t$ o0 W% D; B& y, w
5.2.3导入窗口. V% g/ H% v- r! J. Q1 }
5.2.4结构体窗口& C. W. Y3 b! v0 F) H! B0 h
5.2.5枚举窗口& ?/ `' W3 d6 n5 G' L
5.3其他IDA显示窗口
2 v8 @' ]7 R& ]( C5.3.1Strings 窗口
" k4 W. q: C# X% f5.3.2Names 窗口
! d7 f: a: J1 L5.3.3段窗口* g  h# k. B, K6 W( _, r; m
5.3.4签名窗口+ r% U5 m! p2 Y' d" v: t% J
5.3.5类型库窗口9 E+ k, c" v/ @) C* t  x* ?
5.3.6函数调用窗口  h+ ^8 w  S( H5 j$ o
5.3.7问题窗口
$ D7 T3 j/ \- `' G) L& F5.4小结
3 `# B+ W+ D- ^# j, G, B, |2 L1 `. Y/ |0 J# n1 ~6 V  N" ^  ^8 L
第6章 反汇编导航9 L% {" o3 U% F
+ J  S* @, T6 A' ]/ J4 M0 Q+ q; L
6.1基本IDA导航1 d; N7 C  a8 q/ w- I' Z
6.1.1双击导航
) \4 [$ z* o8 x' f/ J6.1.2跳转到地址" V! u% O' V2 M# N$ I
6.1.3导航历史记录
& h  ~: }; p6 ^& o( K3 h" W. @) g6.2栈帧' M1 a4 n5 F- z' x5 I
6.2.1调用约定
" e5 t5 m3 d: ?, _& g6.2.2局部变量布局/ A$ U* h+ a8 J. m1 N
6.2.3栈帧示例* Z& I  s, R7 y
6.2.4IDA栈视图
: K1 ^7 ]0 G$ A0 z0 h6 ^6.3搜索数据库4 f) J3 ^' N! `; M. ]& R8 {+ }4 @, J% K
6.3.1文本搜索. K( T. G. p; r
6.3.2二进制搜索
0 p6 g( J! M3 s. q7 z6.4小结0 x/ h3 v" w7 ]" q; z  a1 j

& a2 B, E7 a) D/ R1 a  P: d第7章 反汇编操作- L& j6 H; q* P1 a

0 A/ m0 _! g( Q; X6 q5 T' Y0 f7.1名称与命名
8 T. j8 ~8 G* r1 T4 J/ ^  p4 A; v2 t7.1.1参数和局部变量
: \/ W+ w4 }8 f% W5 V2 `7.1.2已命名的位置& I, [+ d; u9 c- N
7.1.3寄存器名称( v2 H' O: p2 p0 \, h+ y1 v
7.2IDA中的注释' \5 a2 r" t; w$ L2 n) r2 }
7.2.1常规注释- _' c6 l8 N- [  b0 `
7.2.2可重复注释
7 p- t  N" ^* n$ L* t7.2.3在前注释和在后注释
( Y4 r+ u$ P( ~7 R  P7.2.4函数注释1 {  R7 f6 M/ y
7.3基本代码转换
  K9 Q5 \$ ~7 \3 e" o7.3.1代码显示选项( X2 {0 ~& T! O! B% z; d
7.3.2格式化指令操作数
( U! L, V0 F8 b) s7.3.3操纵函数
1 p6 S+ M4 z3 v* E$ U1 Z1 r7.3.4数据与代码互相转换
( A2 `0 ^, v& o& f& \, P7.4基本数据转换
% v* a  d) M8 T# Q# X7.4.1指定数据大小. ~8 n  y# b9 x4 D
7.4.2处理字符串1 D6 z  _! h5 f3 N5 A
7.4.3指定数组
& o' L7 z/ x8 l0 @; E& n0 F" \7.5小结8 D* L7 ^- _( F1 y7 E* L& b
/ J' ^7 B4 K9 E
第8章 数据类型与数据结构/ T' s8 J- n/ m7 G  T
7 h; s' o1 j" W7 \4 X
8.1识别数据结构的用法) c, m& J7 I$ }/ P* O6 F
8.1.1数组成员访问) u; a2 W+ ^4 l; e
8.1.2结构体成员访问1 c7 `0 O) L2 l0 E4 \
8.2创建IDA结构体* S- z0 B0 g4 T7 `
8.2.1创建一个新的结构体(或联合)
& _" ]# Q) O7 e+ c( u5 V8.2.2编辑结构体成员
/ |" ]% @. S4 M0 m8.2.3用栈帧作为专用结构体; M4 t; B& R* A4 o
8.3使用结构体模板
% \0 V% v5 m7 O/ T0 v" F8.4导入新的结构体
% {1 `/ ~# _/ s5 C6 o" D1 ~+ y8.4.1解析C结构体声明
3 h  q7 k6 n2 K) L/ M8.4.2解析C头文件
' x0 V) `" @: p( M8.5使用标准结构体- k# y* t2 N: V( ], k
8.6IDA TIL文件6 j- I8 ^! L, l5 a. `3 o1 v
8.6.1加载新的TIL文件
" R/ ^/ k8 _% F6 }8 G  E3 c; f7 m8.6.2共享TIL文件8 b# f- L- M8 k; I5 v# J! r
8.7C++逆向工程基础
# R/ m$ V$ H1 m: u4 ^* p; X8.7.1this指针, X8 Q2 d7 z( _+ d; l1 [6 u
8.7.2虚函数和虚表% S" q" v8 g( n; l# H5 V
8.7.3对象生命周期3 P' f' N* f; u" R: O
8.7.4名称改编
1 ^% i7 \4 E; g5 }" B3 o8.7.5运行时类型识别& G+ c6 Y/ _2 d  u, k5 Z# b/ T
8.7.6继承关系
3 w& ~$ X" g) A8.7.7C++逆向工程参考文献6 r( t& X5 {9 E0 L. u- h
8.8小结
$ r4 W' [5 V" Y3 U6 S- K0 U) L, \' C& x) S* g
第9章 交叉引用与绘图功能
6 Y9 }( J) z$ f# n7 B. Y9 n1 f4 }$ H; y2 L. @6 S5 g
9.1交叉引用5 k  n8 c% x  X% R2 {8 e
9.1.1代码交叉引用% |  l7 m: N1 E, n' f3 w% R4 |
9.1.2数据交叉引用" b* Y" B% h: `: l# L7 m
9.1.3交叉引用列表; r$ E6 C6 i( f
9.1.4函数调用: T' D8 }5 \) Z
9.2IDA绘图  k. y3 P. E" v
9.2.1IDA外部(第三方)图形6 X# L* B4 _2 b8 ^* I; L
9.2.2IDA的集成绘图视图4 n% M1 ]  ?& e6 O: `( U
9.3小结
% p0 l4 q( A' t9 J8 s
! ^6 @; o! K9 g- G4 G  w第10章 IDA的多种面孔
* g8 B7 x+ p& i4 B8 l# l4 X4 o# J8 |; Y1 M$ A2 y! D
10.1控制台模式IDA% z9 m& N# h$ n; @+ F
10.1.1控制台模式的共同特性
  [/ K3 e. [- w/ g2 ]  j10.1.2Windows控制台
  }( u2 l5 k/ g( c' y7 g10.1.3Linux控制台6 q$ E" C7 H: N4 N. r3 F7 M! b
10.1.4OS X控制台
. R! r; T5 L% F& M6 I$ k) C10.2使用IDA的批量模式
- S  O/ b  m% i! R, g10.3小结
/ C" q9 ~! K  K" H" O% v4 u- j3 B4 T; k  o  L1 W
第三部分 IDA高级应用) s4 g: J, [$ T
7 J6 K% `! F* B) w
第11章 定制IDA
) k: p2 f4 e% W7 Y: I8 W9 Y  [+ @
11.1配置文件
2 z+ o" Z3 i$ Z/ ]8 @; V11.1.1主配置文件:ida.cfg
! B* u% I! c2 I/ `11.1.2GUI配置文件:idagui.cfg1 B- T6 s4 e5 k
11.1.3控制台配置文件:idatui.cfg
5 r  x- @- R5 U/ d  V1 O$ \# B11.2其他IDA配置选项2 _1 x9 e/ D5 b' T
11.2.1IDA颜色' J9 ~+ E9 r% y& L2 F
11.2.2定制IDA工具栏8 y' j! s4 v6 f& `: J' s4 y
11.3小结
7 u1 f0 O1 W: Q, E& c9 i1 w+ I4 h3 O8 o! ~& `- Y7 x
第12章 使用FLIRT签名来识别库
# i$ c- a' A; P
7 L" S1 r- k/ Z" N12.1快速库识别和鉴定技术5 ^% h  H5 ?  e% n( W# B, Z2 f
12.2应用FLIRT签名# a: l7 W% b0 c
12.3创建FLIRT签名文件
* ^5 F. i* g6 F, ~. F4 l12.3.1创建签名概述
6 D/ O( Z  U( R/ m! _3 ?12.3.2识别和获取静态库9 V2 x+ U8 X) t! R
12.3.3创建模式文件
4 ~% m+ c' k; I5 I) u( R: Z12.3.4创建签名文件
$ v" g4 I6 ?6 |8 i) m3 h- w& c12.3.5启动签名# Z/ Q' W: }8 }1 e
12.4小结
6 b. v% g5 ]' r2 c
! y( y6 c, L( m( i' O第13章 扩展IDA的知识1 Y3 g3 b( f! K8 H  D$ q) C1 o

1 e- Z2 n6 g5 I' Y13.1扩充函数信息  d# X) k! E  f! N8 ~/ i3 h; |
13.1.1IDS文件
' `. Z/ v* r6 W& ~- r13.1.2创建IDS文件  r; e3 q6 y4 p5 [$ `
13.2使用loadint扩充预定义注释
9 E/ V; y* k' ~6 _: O% r4 M13.3小结
3 V# r! C6 k% L/ T: {( q$ _/ x7 s5 l6 S8 e' k  `
第14章 修补二进制文件及其他IDA限制1 G! S4 l# c* S' ?2 t8 Y

% z0 W1 b4 y3 B5 M+ C8 S  g" `. c14.1隐藏的补丁程序菜单9 M4 o* U% y+ J; T% S9 p4 d
14.1.1更改数据库字节+ o( Q  s9 b3 s9 b% r
14.1.2更改数据库中的字
9 B* b: \, @9 S3 P; E14.1.3使用汇编对话框
  Y, {! v; H2 t0 g' n; {1 r! b14.2IDA输出文件与补丁生成9 {/ ?$ ~1 c* w- V
14.2.1IDA生成的MAP文件3 `  f# S3 |+ p' x3 v; P, o
14.2.2IDA生成的ASM文件
9 E3 j1 q3 w7 \4 O14.2.3IDA生成的INC文件
4 C& ~+ v) B9 \  v1 t14.2.4IDA生成的LST文件
# o4 T, i! x. W* M( d, w14.2.5IDA生成的EXE文件$ p7 H7 S2 x+ D/ u
14.2.6IDA生成的DIF文件
5 n3 v5 H6 L* ?% K* F% d5 ~9 \14.2.7IDA生成的HTML文件
: e6 w' U: w+ O4 d14.3小结5 f$ d9 I  @5 h) }# }/ {: G0 u$ o7 U

0 j7 c& R1 C" D$ m; _+ i第四部分 扩展IDA的功能
# h- t4 N! I/ l1 X1 B/ ]! n  d( G* U- L# s7 L, I( a- K& H
第15章 编写IDA脚本- `# f3 z; I3 }% ~

* M1 n- h+ }8 `) r$ k5 E$ [! E15.1执行脚本的基础知识
7 M+ _; ?( H6 L5 z# G, N1 i' ]15.2IDC语言. [3 e. F% N# L  P
15.2.1IDC变量
$ c3 n6 M+ {7 l$ ?15.2.2IDC表达式, F% d: r  g8 X
15.2.3IDC语句
% q% y; A" P2 ?# d& A15.2.4IDC函数
3 U# o' Q% e2 L0 {- W6 e15.2.5IDC对象
, p6 C! N$ M, H/ \3 [15.2.6IDC程序
7 r8 m) b6 |1 `& |: p# b15.2.7IDC错误处理" K* B9 G  j( I- J
15.2.8IDC永久数据存储
6 Y0 _% d; \% d7 d  O) s: k2 `" t15.3关联IDC脚本与热键$ K* |0 B- L4 T; }0 p6 L" u7 N/ E
15.4有用的IDC函数
2 i' ~, c* Z! B: P$ l* U15.4.1读取和修改数据的函数
. P* ?6 P: R4 U! i: Y15.4.2用户交互函数. X+ o; h# L& ~: Z% ^
15.4.3字符串操纵函数
: Y) n4 W( D0 ?! s5 {15.4.4文件输入/输出函数
1 s% |6 J6 k4 ^) p* T' Z8 f( u9 t- @15.4.5操纵数据库名称
  U, g. T  d9 A8 r. c3 s8 A" A15.4.6处理函数的函数; b/ `5 @3 u( g, x1 Y( m8 V
15.4.7代码交叉引用函数
4 h2 T) U) S& ^- d  j) J* J15.4.8数据交叉引用函数
) T) u) P6 v3 L  V3 t& M; ^15.4.9数据库操纵函数
5 P: p' C* w" P' c15.4.10数据库搜索函数/ f) @5 X/ j2 |* Y5 Y; _
15.4.11反汇编行组件
7 F! T* `! Q' ^+ h+ N5 z; w15.5IDC脚本示例+ j& P3 o% ~: w( J6 _* m
15.5.1枚举函数
8 v- }4 s$ {6 n6 C( ]; ?+ C" o15.5.2枚举指令8 W1 B/ f: b1 [
15.5.3枚举交叉引用
' j2 \/ U4 E6 ?  {8 Q; i9 y15.5.4枚举导出的函数, G! r3 |* _/ Y* m' i# F6 {/ A: C$ @
15.5.5查找和标记函数参数5 N3 B$ S3 E& J! c: p9 H( x
15.5.6模拟汇编语言行为5 P7 Z! U! E+ O, u! V
15.6IDAPython
; L. h% z- T/ O. o15.7IDAPython脚本示例3 F2 ], F) `  x2 K) U
15.7.1枚举函数
: m8 T( {! ^& f, r15.7.2枚举指令
5 j5 L; a/ ~8 `: ~& R15.7.3枚举交叉引用
8 P5 U+ o5 u; I15.7.4枚举导出的函数
5 D, W* X8 ]7 \15.8小结
4 ~& j# L  j6 A7 B( O+ j/ T7 \/ i/ B2 t1 U4 M
第16章 IDA软件开发工具包* ~  D: M3 |! v5 ~$ o
, |9 U3 b9 \# z* q: V/ N' ^
16.1SDK简介
* N; g, ?( x0 J7 N4 g4 E16.1.1安装SDK
% `! f5 v2 x9 G2 N, E: `: |16.1.2SDK的布局
3 O8 V. E% H) I0 J/ D16.1.3配置构建环境9 g8 V7 i9 X# @  p+ r
16.2IDA应用编程接口
+ G' H7 c7 U: w  ]16.2.1头文件概述% i3 n8 C3 {- L% `: l
16.2.2网络节点' t1 a1 C% S5 |* J$ C
16.2.3有用的SDK数据类型6 G# H6 `; A* Z$ W; {
16.2.4常用的SDK函数' R1 y0 J6 d: Y0 e4 y4 @- x& k1 \
16.2.5IDA API迭代技巧0 B8 k; j: m4 o9 b) `6 ]; z
16.3小结
* Y2 S0 Q1 |! S, i2 k% p: J4 W2 a% \) T& m% J, V! s& w1 q6 U# t
第17章 IDA插件体系结构
: a  y) @5 ^& f- w* P
. d* d0 D% w: W$ G! B' a17.1编写插件8 K8 J2 I' n$ W+ L% w
17.1.1插件生命周期
( e3 r2 |: m( O* i- j2 |17.1.2插件初始化
! s4 K8 r  [6 n0 s17.1.3事件通知
- C0 T4 c7 z& C& P$ K: ]( e1 @17.1.4插件执行
  J( n2 ?' g+ N4 _4 s17.2构建插件
" i! p9 O0 A+ z/ Z17.3插件安装
9 M4 d$ e2 q: K: v* X3 l# c17.4插件配置9 `% U8 j* Z8 v' ?/ p( x0 R6 d- h
17.5扩展IDC
4 i1 B) W3 k/ K  B) I- D17.6插件用户界面选项
7 T& L, x" Y2 B: C$ c6 }1 d6 [17.6.1使用SDK的“选择器”对话框* ^1 X' y/ T1 y; S1 l- E
17.6.2使用SDK创建自定义表单
0 L; B4 |+ y% z$ m0 ~1 ?* H1 l17.6.3仅用于Windows的用户界面生成技巧
1 P; w  G: s% s3 k3 {$ p17.6.4使用Qt生成用户界面
. r  }  B. N2 N; k8 e4 G17.7脚本化插件
# a$ \5 S5 i* A  u17.8小结4 m( i/ A+ i! c4 N, g1 V

& I0 U; l/ ]5 k) u! u: \# |" K# h2 R, {第18章 二进制文件与IDA加载器模块5 Z: e3 s3 F8 Z' f% r

7 J! ]& Q% Z( t5 Z, S. a18.1未知文件分析. @' @0 q4 q: X" L: N! A) `3 z+ l; }
18.2手动加载一个Windows PE文件7 E4 X# w  s: Z
18.3IDA加载器模块
: b+ q. B/ W9 @: }) D7 r. }2 u: Q. m18.4使用SDK编写IDA加载器8 f" _+ O  X  R7 G/ Q( S9 i
18.4.1“傻瓜式”加载器, \. f3 Z! x0 o4 ~
18.4.2构建IDA加载器模块
& J  x& \/ \3 d18.4.3IDA pcap加载器
' j. V+ I. M: a, W3 a18.5其他加载器策略/ o2 M) _* P  j' A- {$ D1 y
18.6编写脚本化加载器8 {9 d) i% y) q2 t
18.7小结
) ]' }( e& o3 B  f
  l* c3 h( W0 X( W第19章 IDA处理器模块" D! X5 h  b8 f' m

3 l/ {$ q2 ]. @1 c3 i; R19.1Python字节码0 c6 @( a7 S3 V' y2 I$ \
19.2Python解释器
. L4 L: J  N. m( s# Y: ~19.3使用SDK编写处理器模块. F' `- q4 Y) l7 K& `
19.3.1processor_t结构体( _' T6 O3 ]9 Z( i* Q: l
19.3.2LPH 结构体的基本初始化- c3 m8 Q- o# \1 t  d" P% Y
19.3.3分析器' `3 q! a. \( U- Y8 A
19.3.4模拟器* \3 Q  f, B0 k; [' A
19.3.5输出器
0 ], b! d2 N$ K4 X0 w19.3.6处理器通知
' C( \3 f2 |$ ?6 \; c19.3.7其他processor_t成员
8 q! m& d, j% x' A19.4构建处理器模块- k, c8 W% \9 |
19.5定制现有的处理器# }+ L9 S' i* Y8 e
19.6处理器模块体系结构
. v" |7 s& @3 }+ _19.7编写处理器模块* A: t- E# M) K: q
19.8小结
5 B' I2 ^# `9 [- c- O0 T3 a" D: i0 F# g! ^! F2 T- ~. S
第五部分 实际应用
( J) s  s2 ]0 X$ v' ]4 p4 Q* s. Z# F4 P) X% a2 |
第20章 编译器变体- j7 u7 E" X! S( ^6 b
" Y' W+ M# U# y4 [9 _
20.1跳转表与分支语句
: v) }. _8 p3 K4 }! W20.2RTTI实现
0 y, x; r& }8 m( \; _20.3定位main函数
7 T' n* P" |, v5 o, l20.4调试版与发行版二进制文件
9 _: U* [+ u0 N0 d% g20.5其他调用约定
3 f+ J4 E8 V5 L/ G8 v' |% `20.6小结+ p* i3 r6 Q9 K6 d: g" J$ H

; w- f# K* P0 n" ]( L第21章 模糊代码分析  I5 f. O, ~+ B
: X+ v3 l4 U7 h7 ?: i/ ~9 @
21.1反静态分析技巧
8 e6 Z; `/ M: q* B21.1.1反汇编去同步
& ?" h5 O6 H0 T, [21.1.2动态计算目标地址4 z& ^* b# y( E) v6 n  q
21.1.3导入的函数模糊- Q0 k3 c, z# f; f( i6 k
21.1.4有针对性地攻击分析工具
# c' K/ V2 D5 s9 {7 m$ B21.2反动态分析技巧1 W/ @0 f/ h; `1 t# h4 v
21.2.1检测虚拟化. s) b( f: Z+ r0 L
21.2.2检测“检测工具”" _7 q2 U# \+ ?1 A  F* M2 C
21.2.3检测调试器
+ {. y/ d) u; n5 `+ e; u- q21.2.4防止调试
1 A  E5 X% |4 `  G5 C3 a) d5 p21.3使用IDA对二进制文件进行“静态去模糊”4 n; A6 B7 S) V; `0 z) g
21.3.1面向脚本的去模糊" T( r4 o* i6 z5 Q
21.3.2面向模拟的去模糊
; m/ _# x1 T5 Q, w21.4基于虚拟机的模糊( i% M/ ?- ^. l( Q3 e/ Q
21.5小结) \- U8 r5 h8 H7 Y, g

4 @* I! F; Q7 d. g+ X第22章 漏洞分析
/ K2 G4 p  J" F. J6 M
; u1 [  S: F& |' Z: f* }22.1使用IDA发现新的漏洞
$ G$ q- m1 ?) p+ z22.2使用IDA在事后发现漏洞# N, G4 w4 y: u7 m1 H
22.3IDA与破解程序开发过程7 w  R0 W8 A# T* c1 h/ E, K, \
22.3.1栈帧细目
. q/ `* t% s2 U5 L" i7 t22.3.2定位指令序列+ F1 d3 X4 M5 i) Q/ ~  x
22.3.3查找有用的虚拟地址
+ G  X" F1 y8 [! {9 Z0 a! M22.4分析shellcode
& S$ k& }2 q; q, h( Y& W0 e4 o22.5小结: j8 I' O' P8 V/ ?0 Z: b

  Q) [6 U+ P: V* v3 C+ c7 d% g& L第23章 实用IDA插件4 c: N4 S* G7 D' z) C% l
5 K( I/ V# q* ^( [" j
23.1Hex-Rays% k+ J  w/ R0 T# A0 V9 H  s
23.2IDAPython+ z! ^4 G8 `6 c+ X
23.3collabREate7 H5 i5 [! V, z
23.4ida-x86emu, w$ E3 f' C; O. l
23.5Class Informer+ j  S1 z" `  \. z% c) j
23.6MyNav
5 F' a, r- p) |. R& |23.7IdaPdf
1 Z4 l! H) J  [+ @3 ~23.8小结
% X( i: K# _% K+ u; n" K' K( m/ c5 a
5 j* w, ^, \' _; @( ]$ m, ~* ]第六部分 IDA调试器- p; n! g2 P& [# ^' ~* F
, Y2 O8 d8 |4 p- d" t
第24章 IDA调试器
( u# V  w$ V- z) |: Q- o5 m
3 O" D, Q: p' W+ y24.1启动调试器6 H, ^2 b4 d1 h" r
24.2调试器的基本显示; E0 s6 v* P; J* [
24.3进程控制
2 j/ D* K5 T1 ^+ ]24.3.1断点
6 P% z& {2 T! A0 O, G3 t24.3.2跟踪2 I0 Y7 Z, b* I, ?6 a
24.3.3栈跟踪- v0 ^( E( H( [
24.3.4监视, k# I' e$ K0 f( V1 p1 H6 \
24.4调试器任务自动化
$ [. f2 X8 i* G+ E24.4.1为调试器操作编写脚本
( P4 A" c7 O! s& U24.4.2使用IDA插件实现调试器操作自动化# R: m- I! t$ l0 _* ^
24.5小结
0 a/ [( Z+ e& d) `! ?6 s# I/ y) B8 i+ E/ l) Q+ f. W! m  l9 m
第25章 反汇编器/调试器集成4 {0 ~! o$ B  Q  \7 _+ W

" ^: Y" a4 a# x; @5 x+ |; e25.1背景知识- i  h* W* Q) B4 E0 P  Q( q2 V
25.2IDA数据库与IDA调试器0 \( |2 O+ G+ t) D5 ~
25.3调试模糊代码
9 f, j, |$ d9 E7 R9 f% t25.3.1启动进程2 Q% a+ ?6 f! c9 a0 W
25.3.2简单的解密和解压循环% d: M8 l0 h, p- I% L# E. A( t
25.3.3导入表重建
  {7 w$ P+ ]/ r8 z3 q& _0 i* n25.3.4隐藏调试器
+ R# c  Z% G* Q- x6 x/ \25.4IDAStealth( C: o3 n! y" p# m# M
25.5处理异常; i; r# a  D3 G  \: |. A0 Y
25.6小结
/ v! Q% {/ k; a$ v" x; L! H$ c( w% {( ^. z* A$ N4 ]
第26章 其他调试功能
* E, a8 q. n+ _2 o$ m8 b- |
/ @# U  [7 C& V: u5 t26.1使用IDA进行远程调试
1 }; _/ @4 y2 V% Z26.1.1使用Hex-Rays调试服务器% `' g, K0 y* z% K% @( C& R3 ]2 K
26.1.2连接到远程进程) B, d$ `9 r+ o: M+ |" F; M8 \
26.1.3远程调试期间的异常处理: n+ f' A  |3 L; y
26.1.4在远程调试过程中使用脚本和插件
) }0 o1 \/ W& R8 D- @5 V: [26.2使用Bochs进行调试
, n7 j) G3 X" K7 f  m. Q- c26.2.1Bochs IDB模式- _, U/ n) m- |6 o* }+ _& B5 G
26.2.2Bochs PE模式
3 T% t4 N/ S/ L: q4 X26.2.3Bochs磁盘映像模式3 t4 U9 e( }% N, x$ X! I% R6 r4 }1 h
26.3Appcall
$ b. \! `3 W6 U: A" ^) ^( W8 @2 Y% k26.4小结
& j, [1 q6 a8 y; R4 C
5 H1 u" k9 W1 L& `& H& I2 D9 B附录A使用IDA免费版本5.0
' k$ r& [/ T# f' V2 G3 A5 J# v" s( z. }& W' [( y% ]4 K
附录BIDC/SDK交叉引用, p" G! w& \8 Y0 q" h# ?

  L/ h& h9 R2 s# I) S8 g
想知道小甲鱼最近在做啥?请访问 -> 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, 2025-1-23 10:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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