def activate(self, ctx):
     try:
         sel = ctx.graph_selection
     except:
         # IDA < 7.4 doesn't provide graph selection as part of
         # the action_activation_ctx_t; it needs to be queried.
         sel = ida_graph.screen_graph_selection_t()
         gv = ida_graph.get_graph_viewer(self.graph.GetWidget())
         ida_graph.viewer_get_selection(gv, sel)
     if sel:
         for s in sel:
             if s.is_node:
                 print("Selected node %d" % s.node)
             else:
                 print("Selected edge %d -> %d" % (s.elp.e.src, s.elp.e.dst))
     return 1
示例#2
0
 def activate(self, ctx):
     try:
         sel = ctx.graph_selection
     except:
         sel = ida_graph.screen_graph_selection_t()
         gv = ida_graph.get_graph_viewer(self.graph.GetWidget())
         ida_graph.viewer_get_selection(gv, sel)
     if sel:
         for s in sel:
             if s.is_node:
                 print(f'[{NAME}] selected node {s.node}')
             else:
                 print(
                     f'[{NAME}] selected edge {str(s.elp.e.src)} -> {str(s.elp.e.dst)}'
                 )
     return 1
示例#3
0
 def activate(self, ctx):
     try:
         sel = ctx.graph_selection
     except:
         sel = ida_graph.screen_graph_selection_t()
         gv = ida_graph.get_graph_viewer(self.graph.GetWidget())
         ida_graph.viewer_get_selection(gv, sel)
     if sel:
         if DEBUG:
             for s in sel:
                 if s.is_node:
                     print('[{}] selected node {}'.format(NAME, s.node))
                 else:
                     # yapf: disable
                     print('[{}] selected edge {} -> {}'.format(NAME, str(s.elp.e.src), str(s.elp.e.dst)))
     return 1