IDA Pro使用技巧及大杂烩

IDA Pro使用技巧及大杂烩

ID:38981489

大小:38.50 KB

页数:18页

时间:2019-06-22

IDA Pro使用技巧及大杂烩_第1页
IDA Pro使用技巧及大杂烩_第2页
IDA Pro使用技巧及大杂烩_第3页
IDA Pro使用技巧及大杂烩_第4页
IDA Pro使用技巧及大杂烩_第5页
资源描述:

《IDA Pro使用技巧及大杂烩》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、IDAPro使用技巧及大杂烩IDAPro基本简介IDA加载完程序后,3个立即可见的窗口分别为IDA-View,Named,和消息输出窗口(outputWindow)。IDA图形视图会有执行流,Yes箭头默认为绿色,No箭头默认为红色,蓝色表示默认下一个执行块。在寄存器窗口中显示着每个寄存器当前的值和对应在反汇编窗口中的内存地址。函数在进入时都会保存堆栈地址EBP和ESP,退出函数时恢复。选择菜单Debugger下的Startprocess(也可以按F9键)来开始调试。调试会让程序在电脑中执行,所以IDA会提示注意提防恶意程序、病毒和木马。打开IDAPro6.5,为进入IDA界面提供三种选项,分

2、别是New(新建),Go(运行),Previous(上一个)。选择File菜单下的Open,打开想要逆向的可执行文件,会显示一个Loadanewfile的界面。这里可以选择:1.程序的类型;2.处理器的类型;3.加载的段地址和偏移量;4.是否允许分析;5.一些加载选项;6.内核和处理器的一些选项;7.windows系统dll所在的目录。默认选择PE文件就可以,对于一些网络数据包或者其他格式的文件,可以使用二进制加载,自己进行解析。工作区有多个子窗口,IDAView-A是反汇编窗口,HexView-A是十六进制格式显示的窗口,Imports是导入表(程序中调用到的外面的函数),Functions

3、是函数表(这个程序中的函数),Structures是结构,Enums是枚举。IDAview:定位要修改的代码段在哪里。Hexview:用来修改我们的数据exportswindow:导出窗口importwindow:导入窗口nameswindow:函数和参数的命名列表functionswindow:样本的所有函数窗口stringswindow:字符串显示窗口,会列出程序中的所有字符串IDA很智能,鼠标移到某些标识符上会自动有适当的提示,双击还能自动跳到相应的位置。把一个函数逆向的方法很简单,只要按F5键就会出来逆向出的C语言程序了。退出IDA时,会进行文件保存确认,如果需要继续进行分析,将IDA

4、中间数据库打包,下次继续打开就可以进行分析;如果不需要继续分析,选择不要打包,不要存储数据库。IDA打开应用程序时,会为其创建一个数据库,后缀为IDB。IDB由4个文件组成:后缀为id0的二叉树形式的数据库,后缀为id1的程序字节标识,后缀为nam的Named窗口的索引信息,后缀为til的给定数据库的本地类型定义的相关信息。一旦IDA为某个可执行程序创建数据库,它本身就不再需要访问这个可执行文件,除非使用IDA的Debug功能。跳转指令分三类:无条件跳转:JMP;根据CX、ECX寄存器的值跳转:JCXZ(CX为0则跳转)、JECXZ(ECX为0则跳转);根据EFLAGS寄存器的标志位跳转,这个

5、太多了.学Win32汇编[28]-跳转指令:JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP等—MOVSXMOVZX比如MOVSXEAX,BYTEPTR[00401000]或MOVZXEAX,BYTEPTR[00401000]在C语言中应该如何表达啊?比如定义一个全局变量BYTEbt=101;DWORDdw;应该如何把bt赋值到dw中.并且功能与MOVSX/MOVZX相同?汇编语言与C语言的语言构件不同,并不是一定能转成完全等价的C语言的代码的。对于以上代码,可以这样理解:movsx====>dw=(DWORD)((signedchar)(bt))movzx===

6、=>dw=(DWORD)((unsignedchar)(bt))movzx是把高位全部用0填充,而movsx是把原来数的最高位扩展成超出的位。对于bt=101,也就是0x65,八位二进制是“01100101”,因为它的最高位是0,因此这两种情况,dw都等于0x00000065换一个,比如bt=247,也就是0xF7,八位二进制是“11111110”它的最高位是1。经过movsx变换后,dw等于0xfffffff7;而经过movzx变换后,dw等于0x000000f7交叉参考通过交叉参考(XREF)可以知道指令代码互相调用的关系.如下:.text:00401165loc_401165:;CODE

7、XREF:sub_401120+B

8、j这句CODEXREF:sub_401120+B

9、j表示该调用地址是401120,“j”表示跳转(jump)“o”表示偏移值(offset)“p”表示子程序(procedure)双击这里或按回车键可以跳到调用该处的地方参考重命名:找到一段代码(一般为函数入口名),右键点击选择”Rename”可以将函数名称变成易懂的名称.标签的用法:在菜单”Jump”中选择”Ma

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。