IDA简单使用
1.回车找位置
在一个变量的上(一般以[ebp+xxx]的形式表示)点击并回车可以找到该变量的具体位置,在标号上点击并回车可以转到标号所在的位置.
2.对一个变量改名
点中该变量(一般以[ebp+xxx]的形式表示),然后按n,输入新名字
3.定义一个结构,枚举,数组类型
打开结构窗口,按insert插入一个结构,在结构内部按d键加入一个成员,在这一行上继续d改变该成员的类型,db->dw->dd->db.在结构内部新行上按d再插入一个结构,按n对成员命名.定义枚举和数组类型也差不多.
4.改变变量定义类型
在变量上按回车找到该变量具体定义的位置,然后在该位置上按快截键alt+q,可以选择一个已经定义过的结构.这样就改变了变量的类型.
5.对一个偏移选择结构中的成员
点中一个偏移,如[esi+20h],然后按t,然后选择结构的名,比如选择了个stru_XXX,如果这个结构的偏移0x20处的成员是m_20,那么在反汇编界面上,原来的[esi+20h],就自动变成了[esi+stru_XXX.m_20]
6.对一个数字选择枚举中的成员
比如:test [ebp+dwFlags],1
如果你知道dwFlags代表一个标志,而1就是一个标志,肯定有宏定义,那么在1上点m,就可以选择枚举结构,比如选择MACRO_TH32CS,那么界面上自动将1改成MACRO_TH32CS相应的枚举的成员名,显示成:
test [ebp+dwFlags], TH32CS_SNAPHEAPLIST
7.对数字改名
如果一个数字显示的是FFFFFFFF,按[shift] + [-],FFFFFFFF就变成了-1.如果是10进制的数,选择该数按H键就将该数显示成16进制的形式.
8.返回
按回车进入一个地方后,若要返回原来的地方,按[esc]返回,相当于上一步.
9.快速跳转到相应的位置
按g,输入地址或标号,可以快速的跳转到相应的代码处.
10.Hex-rays插件
安装Hex-rays,在要反编译的函数上按F5,可以弹出一个C代码窗口,内容是该函数的反编译代码,但是翻译的很粗糙,使用Y可以选择类型,就象在反汇编窗口中使用alt+q一样.具体的内容可以参看Hex-rays的官方网站.