IDA 和调情签名

逆向工程 艾达 二进制 调情签名
2021-07-02 21:07:47

我有 2 个二进制文件,具有相同的 CPU 架构。

我制作了一个调情签名文件 - 首先IDB2PAT在第一个 idb 上使用,然后sigmake从中生成实际的签名文件。

我将生成的文件放在IDAhome下正确的 CPU 目录中然后我打开第二个二进制文件并在其上应用签名文件。

结果是一些函数 (~20%) 被标记为蓝色的库函数,并且实际上按预期出现在原始二进制文件中,但几乎没有这些函数被重命名为第一个二进制文件的名称。

有谁知道可能是什么原因?有没有另一种方法可以从我应用签名文件的二进制文件中找到原始函数名称?

1个回答

唉,像 PowerPC 这样的 RISC 指令集通常不适合 FLIRT。我阅读了白皮书(甚至是 FLAIR 文档),您会发现它只提供了可变字节,而在 Power ISA 中,操作码字段通常跨越字节边界,因此您可以获得过于宽泛的模式(它忽略整个字节而不是更窄的位域)或太窄(它不允许足够的变化,因此不会匹配具有微小变化的函数)。此外,诸如此类IDB2PAT解决方案主要针对 x86 进行了调整,因此它们可能会为 PPC 产生次优输出。

我建议你尝试简单的字节序列搜索来找到一些类似的函数,然后检查它们是否存在于原始模式列表中,如果存在,模式字节是否真的与函数匹配。