IDA Python 使用特定参数从 idb 名称调用 func

逆向工程 蟒蛇
2021-06-23 06:02:24

我是 IDA Python 的新手,所以这个问题对我来说很难。我在谷歌中没有找到任何解决方案,所以我不得不在那里寻求帮助。在代码分析中,我发现了解密功能。这个函数有大约 1000 次不同参数的调用。该函数采用一个参数 - 加密字符串,该地址在调用之前移动到 eax。我想编写脚本来运行所有加密字符串的函数。我使用 idc.LocByName 找到函数的地址。然后我找到了对这个函数的所有引用(使用 idautils.CodeRefsTo(addr, 1))。现在我要为每个引用找到函数的参数,并用这个参数调用函数。你能告诉我怎么做吗?谢谢。

1个回答

一般来说,你有 3 种可能性:

1 - 静态恢复参数并在调试会话中将 AppCall与 IDC 或 IDAPython 一起使用

2 - 在 python 中重写解密函数,静态恢复参数并在每次出现时运行恢复的函数。

3 - 使用PyEmu 之类的东西来运行函数。

通常我发现变体 2 比其他变体更容易。