IDA Pro使用技巧

一、IDA的交叉引用

  • 对于一些没有符号的函数,IDA会使用sub_加其虚拟地址的方式来作为函数名,如果想要查看这个函数在哪里被引用了,可以使用快捷键xCtrl+ x
  • 代码交叉引用(code xref)用于表示一条指令将控制权转交给另一条指令。在IDA中,指令转交控制权的方式叫做流(flow) IDA中有3种基本流:
    • 普通流 ,表示由一条指令到另一条指令的顺序流,用o表示。
    • 调用流 ,表示控制权被转交给目标函数 ,用p表示。
    • 跳转流,每个无条件分支指令和条件分支指令将分配到一个跳转流(jump flow),用j表示。
  • 数据交叉引用(data xref)用于跟踪二进制文件访问数据的方式。数据交叉引用与IDA数据库中任何牵涉到虚拟地址的字节有关(换言之,数据交叉引用与栈变量毫无关系) 。IDA有3种数据交叉引用:
    • address何时被读取(读取交叉引用)表示访问的是某个内存位置的内容,用r表示。
    • address何时被写入(写入交叉引用) 指出了修改变量内容的程序位置 ,用w表示。
    • address何时被引用(偏移量交叉引用)表示引用的是某个位置的地址(而非内容),用o表示。

二、IDA函数调用图

  • Xrefs to表示谁调用了我;Xrefs from表示我调用了谁

三、IDA搜索功能

  • 常数搜索:菜单【Search】->【Immediate Value】,弹出一个窗口,勾选“Find all occurrences”
  • 指令文本搜索:菜单【Search】->【Text】,弹出一个窗口,勾选“Find all occurrences”
  • 字节序列搜索:菜单【Search】->【Sequence of bytes】,弹出一个窗口,勾选“Find all occurrences”

四、IDA伪代码窗口

  • 在汇编窗口,按Tab/F5键,可以切换到伪代码窗口
  • 在伪代码窗口,想要查看某条语句对应的指令位置,将鼠标放到该语句上,然后按Tab键即可

五、IDA数据窗口

  • 打开方式:菜单【View】–>【Open subviews】–> 【Hex dump】,默认是打开的
  • 可以在这个窗口更改汇编指令:F2键进入编辑模式,再次按下F2键退出编辑模式

六、IDA动态调试

  • 选择调试器:菜单项【Debugger】->【Select debugger…】->选择【Local Windows debugger】
  • 下断点:在想要下断点所在行最左边那个青色小点那里点一下,当前行就会变红,表明这行下了一个断点,或者也可以按F2

七、IDA栈试图

  • IDA 为任何函数栈帧都提供了两张视图:摘要视图和详细视图。
  • IDA会根据变量相对于被保存的返回地址的位置为变量取名。局部变量位于被保存的返回地址之上,而函数参数则位于被保存的返回地址之下。
    • 局部变量名称以var_为前缀,后面跟一个表示变量与被保存的帧指针(EBP)之间距离(以字节为单位)的十六进制后缀
    • 函数参数名称以arg_为前缀,后面跟一个表示其与最顶端的参数之间相对距离(以字节为单位)的十六进制后缀
iDA Pro 是一款非常强大的反汇编工具,它可以帮助用户对二进制程序进行反汇编、分析和修改。下面是使用 iDA Pro 的一些基本步骤和技巧。 1. 安装 iDA Pro 首先,你需要从 iDA Pro 官网(https://www.hex-rays.com/products/ida/)下载并安装该软件。iDA Pro 有免费版和付费版,免费版的功能相对较弱,付费版则功能更加完善。安装完成后,你可以打开 iDA Pro,开始使用它的功能。 2. 打开二进制文件 在 iDA Pro 中,你需要打开一个二进制文件,才能进行反汇编和分析。你可以通过菜单栏的“File”选项来打开一个二进制文件。iDA Pro 支持多种不同的文件格式,例如 ELF、PE、Mach-O 等。选择正确的文件格式很重要,否则会导致反汇编失败。 3. 分析程序结构 在打开一个二进制文件后,iDA Pro 会自动对程序进行反汇编,并展示反汇编结果。你可以在左侧的“Functions”窗口中查看程序中的函数列表,或者在右侧的“Disassembly”窗口中查看反汇编代码。iDA Pro 还支持对程序的控制流进行分析,你可以通过菜单栏的“View”选项来查看程序的控制流图。 4. 查找漏洞 通过分析程序结构,你可以尝试查找程序中的漏洞。例如,你可以查看程序中的函数调用和内存访问,寻找可能存在的缓冲区溢出、格式化字符串漏洞等。iDA Pro 还支持对程序中的字符串和常量进行搜索,你可以利用这个功能来查找可能存在的敏感信息、密码等。 5. 编辑程序 在查找漏洞后,你可能需要修改程序来修复漏洞或者实现其他目的。iDA Pro 支持对程序进行编辑,你可以在右侧的“Disassembly”窗口中直接修改反汇编代码,或者使用 iDA Pro 提供的高级编辑功能来修改程序。注意,修改程序可能会导致程序的崩溃或者其他不可预测的结果,所以一定要谨慎操作。 以上是使用 iDA Pro 的一些基本步骤和技巧iDA Pro 是一款非常强大的工具,可以帮助你分析和修改二进制程序,但需要一定的反汇编和程序分析经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值