如何在 IDA Pro 中搜索操作码 0xFF25?

逆向工程 艾达 蟒蛇
2021-06-24 08:01:32

我想在 IDA Pro 中搜索操作码,如下所示:

0xFF25

我怎样才能做到这一点?

2个回答

这取决于您对操作码的确切含​​义(并非在所有可能的目标中它都以指令的开头开始,并且它可以放置在其中足够奇怪)。然而,有时,简单的二进制搜索(搜索-->字节序列,或Alt B)就足够了,如果您在搜索对话框中选中“查找所有出现次数”,IDA 将打开一个窗口,相应地,所有出现次数。您还可以尝试使用命令助记符进行文本搜索,例如ADD以相同的方式在主 IDA 窗口中搜索“ ”。

如果这还不够,您可能需要编写执行以下操作之一的 IDC 或 IDAPython 脚本:

  • 传递所有指令(例如使用idautils.Heads()IDAPython 函数)并输出命令助记符适合您需要的所有内容(idc.print_insn_mnemDAPython 函数)
  • 传递所有指令(例如使用idautils.Heads()IDAPython 函数),idc.Byte(address)以您需要的模式和顺序从指令数据(IDAPython 函数)中提取操作码并检查它是否合适。

ida_search.find_binary 我想你要搜索 JMP 指令,如:

jmp     ds:__imp__DebugBreak@0

然后 ubinstr 参数是一个像“FF 25”这样的字符串,否则如果你搜索字节 25 FF - 指定“FF25”。需要空间来处理搜索字符串中的字节顺序。