ida使用

来源:互联网 发布:d3.js 折线图 编辑:程序博客网 时间:2024/05/17 18:00
1、常用命令

N:重命名地址符号
U:代码转换为数据
C:数据到代码
;/:加注释
G:跳转到指定位置
ESC/CTRL+ENTER:导航后退/前进
D:对数据db/dw/dd之间进行切换
ALT+T:string search
ALT+B: binary search
A:将选择的范围转化为字符串

View --> OpenSubviews -->  Local Types-->INSERT,插入一个已存在的结构体
FILE-->LOAD FILE-->从头文件中导入结构体


INSERT:插入一个结构体,或者从local types中导入standard
D:插入一个结构体成员,并切换它们的字节类型
U-->Edit-->shrink struct type:删除一个结构体成员
Edit-->Expand struct type:在中间增加一个结构体成员
U:在结构体ENDS一行,可删除最后一个结构体成员

对偏移右键-->struct offset:应用新建的结构体
选择stack frame起始地址-->edit-->struct var:应用新建的结构体

(数组:a + index * sizeof (a[0]))
(结构体:a + offset)
(结构体数组:a +index*sizeof(a[0]) +offset)

X:在光标所在地址,弹出cross reference对话框,列出所有引用它的地点,不一定是目标地

View -->Open Subviews -->Function Calls:所有调用当前地址的函数,和子窗口中该函数调用的所有函数
View -->Open Subviews -->Cross-References:必须是cross view的目标地,即该引用的本身


F12:将光标放在一个函数里,按F12,得到该函数的流程图
CTRL+F12:函数调用关系图

View -->Graphs -->Xrefs To:引用该符号的函数图
View -->Graphs -->Xrefs From:该符号引用的函数图

F5:HEXRAYS反C插件,直接看C代码

.text:代码段
.data:数据段
.rdata:只读数据段
.bss:未初始化数据段


2、无源码阅读

2.1   首先当然要先载入windows符号pdb(需要设置全局符号_NT_SYMBOL_PATH和下载windows符号文件)

2.2   预先使用EnterpriseArchitect等建模工具进行概要设计,预先对要分析的文件进行预猜测,然后就是苦力活了,一行一行分析代码

 

3    部分源码或有lib、pdb、全部源码

3.1    FILE-->LOAD FILE-->从头文件中导入结构体   导入我们所拥有的源文件头文件,用于辅助我们进行快速分析

 

4    ida学习的几个层次

4.1    只是会用ida进行简单的文件载入,然后使用hex ray进行C代码查看

4.2    可以熟练使用ida中的各个功能,对exe、dll文件进行注释,分析,做的苦力活。  熟悉一点,通过利用各种可能的途径获取要分析文件的头文件、lib等进行分析,完成简单的文件分析

4.3     需要能够自己书写ida插件,根据自己的使用喜好开发出好用的插件,熟练使用ida调试工具(当然配合windbg、od、softice更好)

0 0