本文整理汇总了Python中idaapi.install_hexrays_callback方法的典型用法代码示例。如果您正苦于以下问题:Python idaapi.install_hexrays_callback方法的具体用法?Python idaapi.install_hexrays_callback怎么用?Python idaapi.install_hexrays_callback使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类idaapi
的用法示例。
在下文中一共展示了idaapi.install_hexrays_callback方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _notify_status_changed
# 需要导入模块: import idaapi [as 别名]
# 或者: from idaapi import install_hexrays_callback [as 别名]
def _notify_status_changed(self, status):
# enable / disable hook based on the painter being enabled or disabled
if status:
self._idp_hooks.hook()
if idaapi.init_hexrays_plugin():
idaapi.install_hexrays_callback(self._hxe_callback)
else:
self._idp_hooks.unhook()
if idaapi.init_hexrays_plugin():
idaapi.remove_hexrays_callback(self._hxe_callback)
# send the status changed signal...
super(IDAPainter, self)._notify_status_changed(status)
#------------------------------------------------------------------------------
# Paint Actions
#------------------------------------------------------------------------------
示例2: main
# 需要导入模块: import idaapi [as 别名]
# 或者: from idaapi import install_hexrays_callback [as 别名]
def main():
show_banner()
print "Unregistering old action..."
ida_kernwin.unregister_action(ACTION_NAME)
if ida_hexrays.init_hexrays_plugin():
ida_kernwin.register_action(
ida_kernwin.action_desc_t(
ACTION_NAME,
"Keep sanity (stack strings)",
stack_strings_ah_t(),
None))
print "Registered new action"
idaapi.install_hexrays_callback(cb)
else:
print "[x] No decompiler found!"
return
示例3: _init_hexrays_hooks
# 需要导入模块: import idaapi [as 别名]
# 或者: from idaapi import install_hexrays_callback [as 别名]
def _init_hexrays_hooks(self):
"""
Install Hex-Rrays hooks (when available).
NOTE: This is called when the ui_ready_to_run event fires.
"""
if idaapi.init_hexrays_plugin():
idaapi.install_hexrays_callback(self._hooks.hxe_callback)
#--------------------------------------------------------------------------
# IDA Actions
#--------------------------------------------------------------------------
示例4: init
# 需要导入模块: import idaapi [as 别名]
# 或者: from idaapi import install_hexrays_callback [as 别名]
def init(self):
"""
Ensure plugin's line modification function is called whenever needed.
If Hex-Rays is not installed, or is not initialized yet, then plugin
will not load. To ensure that the plugin loads after Hex-Rays, please
name your plugin's .py file with a name that starts lexicographically
after "hexx86f"
"""
try:
if idaapi.init_hexrays_plugin():
def hexrays_event_callback(event, *args):
if event == idaapi.hxe_refresh_pseudocode:
# We use this event instead of hxe_text_ready because
# MacOSX doesn't seem to work well with it
# TODO: Look into this
vu, = args
self.visit_func(vu.cfunc)
return 0
idaapi.install_hexrays_callback(hexrays_event_callback)
else:
return idaapi.PLUGIN_SKIP
except AttributeError:
idc.Warning('''init_hexrays_plugin() not found.
Skipping Hex-Rays plugin.''')
return idaapi.PLUGIN_KEEP
示例5: main
# 需要导入模块: import idaapi [as 别名]
# 或者: from idaapi import install_hexrays_callback [as 别名]
def main():
if not idaapi.init_hexrays_plugin():
return False
print "Hex-rays version %s has been detected" % idaapi.get_hexrays_version()
idaapi.install_hexrays_callback(event_callback)