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()