Python源码示例:idaapi.UI_Hooks()

示例1
def __start_ida__(cls):
        api = [
            ('idp', idaapi.IDP_Hooks),
            ('idb', idaapi.IDB_Hooks),
            ('ui', idaapi.UI_Hooks),
        ]

        # Create an alias so we save typing 19 chars..
        priorityhook = internal.interface.priorityhook
        for attr, hookcls in api:

            # Attach a priority hooking queue to an instance of IDA's hooks
            instance = priorityhook(hookcls)

            # Explicitly assign the priority instance into our object
            if not hasattr(cls, attr):
                setattr(cls, attr, instance)

            # Now we can enable all the hooks so the user can use them
            instance.hook()
        return 
示例2
def __init__(self, cc):
        idaapi.UI_Hooks.__init__(self)
        self.cc = cc
        self.selected_icon_number = idaapi.load_custom_icon(config['icons_path'] + "icons8-asterisk-24.png") 
示例3
def idaview_hooks(idaview_handler):
    class Hooks(idaapi.UI_Hooks):
        def finish_populating_widget_popup(self, form, popup):
            if idaapi.get_widget_type(form) == idaapi.BWN_DISASM:
                idaapi.attach_action_to_popup(form, popup, idaview_handler.get_name(), "")

    return Hooks 
示例4
def __init__(self):
        idaapi.UI_Hooks.__init__(self) 
示例5
def __init__(self):
        idaapi.UI_Hooks.__init__(self)
        
        self.popups = [] 
示例6
def __init__(self, plugin):
        self.plugin = plugin
        idaapi.UI_Hooks.__init__(self) 
示例7
def _create_hooks(self, install_idabuddy):
        class InstallerUiHooks(idaapi.UI_Hooks):
            def updating_actions(self, ctx):
                if ctx.form_type == idaapi.BWN_DISASM:
                    ida_widget = form_to_widget(ctx.form)
                    idaview = ida_widget.children()[0]
                    install_idabuddy(idaview)
                return super(InstallerUiHooks, self).updating_actions(ctx)

        return InstallerUiHooks()