返回介绍

15.3 关联 IDC 脚本与热键

发布于 2024-10-11 21:05:45 字数 981 浏览 0 评论 0 收藏 0

有时开发一个脚本后,你会惊奇地发现,你必须进行一两次键击才能访问这个脚本。这时,你可能希望使用一个热键组合,以迅速激活脚本。幸好 IDA 提供了一种分配热键的简单方法。每次启动 IDA ,它都会执行/idc/ida.idc 中的脚本。这个脚本的默认版本包含一个空的 main 函数,因此,它不执行任何操作。为了将热键与脚本关联起来,你需要在 ida.idc 文件中添加两行代码。在第一行代码中,必须添加一个 include 指令,将脚本文件包含在 ida.idc 文件中。在第二行代码中,必须在 main 函数中添加一个对 AddHotkey 函数的调用,将特定的热键与 IDC 脚本关联起来。修改后的 ida.idc 文件如下所示。

#include   
#include   
static main() {  
   AddHotkey("z", "MyAmazingFunc");  //Now 'z' invokes MyAmazingFunc  
}

如果你尝试与脚本关联的热键已经分配给另一项 IDA 操作(菜单热键或插件激活热键),这时, AddHotkey 函数将悄无声息地失败,除了在你按下热键组合后,函数不会运行外,你无法通过其他方式检测到这种失败。

这里你需要记住两个要点:第一,IDC 脚本的标准存储目录为/idc;第二,不能将脚本函数命名为 main 。如果希望 IDA 能够轻易找到脚本,可以将它复制到/idc 目录中。如果要将脚本文件存储在其他位置,你需要在 include 语句中指定脚本的完整路径。在测试脚本时,使用 main 函数以独立程序的方式运行脚本会有好处。但是,一旦你准备将脚本与热键关联起来,就不能使用 main 这个名称,因为它会与 ida.idc 中的 main 函数相互冲突。必须重命名 main 函数,并在调用 AddHotkey 时使用新的名称。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文