假设我正在寻找一个非常简单的模式。例如下面的正则表达式,
mov.*(eax|edx|ecx|esi|edi), \[(eax|edx|ecx|esi|edi)\+30h\]
现在,我还在寻找对调用写入寄存器的 this 的引用,因为这表示特定函数指针的偏移量。
问题是我看到了与我正在查看的二进制文件有数千个匹配项。据我所知,函数指针也可以传递到 X 层的其他一些函数,然后在那里调用。这显然会造成显着的复杂性。
是否有任何工具可以使用上述正则表达式搜索匹配项,而且还可以查找(根据匹配的指令达到特定调用深度和/或指令计数)对实际寄存器的调用?