在执行中停止当前运行的 Ida 脚本

逆向工程 艾达
2021-06-22 15:22:14

我运行了一个 ida 脚本,但忘记考虑一个不断弹出对话框的无限循环。是否有任何键盘命令可以阻止 Ida 脚本在执行中运行?谢谢你。我正在使用 Ida 免费软件 7.0

2个回答

这可能无济于事,但处理这种情况的一种方法是在您的 IDA 脚本中构建一些可以优雅地处理终止的内容。困难不在于 IDA 是否允许您杀死弹出窗口,而在于重新关注 IDA 窗口。当我刚刚在一个通用的无限循环中尝试它时,IDA 会弹出一个对话框,上面写着“正在运行脚本”,您可以单击“取消”来结束它。

在无限循环中,确保您使用允许您终止脚本的对话框 - 使用自定义对话框或使用诸如 idc.AskYN() 之类的东西,然后构建一个钩子,在使用特定的脚本时终止脚本输入。

查看 ida_kernwin 模块,它有一个函数“user_cancelled()”返回一个布尔值。在循环中调用它以确定脚本是否被要求终止,例如通过 ctrl-break。