IDA 技巧(9) 如何重新分析你的 Binary?

admin 2024年4月27日19:17:02评论7 views字数 642阅读2分8秒阅读模式

重新分析

在使用IDA时,有时您可能需要重新分析数据库的某些部分,例如:

  • 更改外部函数原型(特别是调用约定、清除字节数量或“不返回”标志)后;
  • 修复错误检测到的ARM/Thumb或MIPS32/MIPS16区域后;
  • 更改全局处理器选项(例如在MIPS中设置$gp值或在PPC中设置TOC)后;
  • 其他情况(分析开关等)。

重新分析每个单独的指令

重新分析指令,将光标定位在其上并按C键(转换为代码)。即使指令已经是代码,这个操作也不是空操作,它要求IDA内核:

  • 从当前地址删除交叉引用;
  • 使处理器模块重新分析指令;
  • 通常应该会导致交叉引用的(重新)创建,包括流程交叉引用到下一条指令(除非当前指令停止了代码流)。

重新分析函数

当函数的任何参数发生变化时(例如,需要重新创建堆栈变量时),函数的所有指令都会被重新分析。

因此,以下按键序列会导致整个函数被重新分析:Alt-P(编辑函数),Enter(确认对话框)。

重新分析一大段指令

这个我们可以用在选择文章中提到的技巧。

  • 移到范围的开头;
  • 按下Alt-L(开始选择);
  • 移到选择的结尾;
  • 按 C 键(转换为代码)。在第一个提示中选择“分析”,在第二个提示中选择“否”。

IDA 技巧(9) 如何重新分析你的 Binary?

IDA 技巧(9) 如何重新分析你的 Binary?

重新分析整个数据库

如果你需要重新分析所有内容但又不想麻烦地选择所有代码,有两种方法可以重写分析整个数据库:

  1. 菜单 Options > General…,分析选项卡,重新分析程序按钮;

IDA 技巧(9) 如何重新分析你的 Binary?

2. 右键单击IDA窗口底部的状态栏,重新分析程序。

IDA 技巧(9) 如何重新分析你的 Binary?

原文始发于微信公众号(二进制磨剑):IDA 技巧(9) 如何重新分析你的 Binary?

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月27日19:17:02
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   IDA 技巧(9) 如何重新分析你的 Binary?https://cn-sec.com/archives/2692583.html

发表评论

匿名网友 填写信息