IDC:在“结构”窗口中获取光标下的结构 ID?

逆向工程 艾达 蟒蛇
2021-06-17 00:00:45

我正在编写一个 IDC 脚本,它接受一个结构并进行一些处理。目前,我必须通过键入结构名称来调用它。我想要的是让它使用“结构”窗口中光标下的结构,这样我就可以节省大量的输入。有没有办法做到这一点?

试过了ScreenEA()它返回“反汇编”窗口中的地址而不是结构 ID。

IDAPython 代码也是可以接受的。

1个回答

可能是一个奇怪的问题 - 但你如何运行脚本?当结构视图打开时,热键不起作用,并且如果您通过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]

基本上,您需要单击结构名称使其突出显示(黄色),然后上面的代码将打印结构名称。