我正在编写一个 IDC 脚本,它接受一个结构并进行一些处理。目前,我必须通过键入结构名称来调用它。我想要的是让它使用“结构”窗口中光标下的结构,这样我就可以节省大量的输入。有没有办法做到这一点?
试过了ScreenEA()。它返回“反汇编”窗口中的地址而不是结构 ID。
IDAPython 代码也是可以接受的。
我正在编写一个 IDC 脚本,它接受一个结构并进行一些处理。目前,我必须通过键入结构名称来调用它。我想要的是让它使用“结构”窗口中光标下的结构,这样我就可以节省大量的输入。有没有办法做到这一点?
试过了ScreenEA()。它返回“反汇编”窗口中的地址而不是结构 ID。
IDAPython 代码也是可以接受的。
可能是一个奇怪的问题 - 但你如何运行脚本?当结构视图打开时,热键不起作用,并且如果您通过Alt+F7例如光标位置更改运行脚本。
也就是说,一种可能足够好的解决方案:
import ida_kernwin
ret = ida_kernwin.get_highlight(ida_kernwin.get_current_widget())
if ret and ret[1]:
print "Current highlight: %s" % ret[0]
基本上,您需要单击结构名称使其突出显示(黄色),然后上面的代码将打印结构名称。