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)
def versions(): """Returns IDA & Python versions""" import sys return { 'python': sys.version, 'ida': idaapi.get_kernel_version(), 'hexrays': idaapi.get_hexrays_version() if idaapi.init_hexrays_plugin() else None }
def init(self): if not idaapi.init_hexrays_plugin(): return idaapi.PLUGIN_SKIP idaapi.install_hexrays_callback(callback) log.info(("Hex-Rays version {} has been detected; " "{} is ready to use").format( idaapi.get_hexrays_version(), self.wanted_name)) self.inited = True return idaapi.PLUGIN_KEEP
def versions(): """Returns IDA & Python versions""" import sys return { "python": sys.version, "ida": idaapi.get_kernel_version(), "hexrays": idaapi.get_hexrays_version() if idaapi.init_hexrays_plugin() else None, }
def init(self): if not idaapi.init_hexrays_plugin(): log.error("Decompiler is not ready") return idaapi.PLUGIN_SKIP if not idaapi.install_hexrays_callback(callback): log.error("Failed to install hexrays callback") return idaapi.PLUGIN_SKIP log.info( "Hex-Rays version %s has been detected; %s is ready to use", idaapi.get_hexrays_version(), self.wanted_name, ) self.inited = True return idaapi.PLUGIN_KEEP
def main(): if not idaapi.init_hexrays_plugin(): return False print "Hex-rays version %s has been detected" % idaapi.get_hexrays_version() f = idaapi.get_func(idaapi.get_screen_ea()); if f is None: print "Please position the cursor within a function" return True cfunc = idaapi.decompile(f); if cfunc is None: print "Failed to decompile!" return True sv = cfunc.get_pseudocode(); for sline in sv: print idaapi.tag_remove(sline.line); return True
def __init__(self): self.enabled = False self.prev_ea = None self.discarded_ea = None self.last_func = None self.vdui_t = None self.cfunc = None self.eamap = None self.safe_mode = False self.event_cb = HexEventCb(self).event_cb if not idaapi.init_hexrays_plugin(): print("[sync] hexrays not available") else: version = idaapi.get_hexrays_version() print("[sync] hexrays #{} found".format(version)) major, minor, revision, build_date = [int(x) for x in version.split('.')] if (major < 7) or (major >= 7 and minor < 2): print("[sync] hexrays version >= 7.2 is needed") self.safe_mode = True
def main(): if not idaapi.init_hexrays_plugin(): return False print "Hex-rays version %s has been detected" % idaapi.get_hexrays_version( ) f = idaapi.get_func(idaapi.get_screen_ea()) if f is None: print "Please position the cursor within a function" return True cfunc = idaapi.decompile(f) if cfunc is None: print "Failed to decompile!" return True sv = cfunc.get_pseudocode() for i in xrange(0, sv.size()): line = idaapi.tag_remove(str(sv[i])) print line return True
print('Vars collected.') return 1 def main(): global renamed_prefix global varmap global varnames renamed_prefix = os.path.join(os.environ['OUTPUT_DIR'], 'functions', os.environ['PREFIX']) # Load collected variables with open(os.environ['COLLECTED_VARS']) as vars_fh: varmap = pickle.load(vars_fh) # Collect decompilation info cv = collect_vars() cv.activate(None) idaapi.autoWait() if not idaapi.init_hexrays_plugin(): idaapi.load_plugin('hexrays') idaapi.load_plugin('hexx64') if not idaapi.init_hexrays_plugin(): print('Unable to load Hex-rays') else: print('Hex-rays version %s has been detected' % idaapi.get_hexrays_version()) main() ida_pro.qexit(0)
print('Collecting vars.') for ea in Functions(): func(ea) print('Vars collected.') return 1 class dump_info(custom_action_handler): def activate(self, ctx): with open(os.environ['COLLECTED_VARS'], 'w') as vars_fh: pickle.dump(varmap, vars_fh) vars_fh.flush() return 1 idaapi.autoWait() if not idaapi.init_hexrays_plugin(): idaapi.load_plugin('hexrays') idaapi.load_plugin('hexx64') if not idaapi.init_hexrays_plugin(): print('Unable to load Hex-rays') else: print('Hex-rays version %s has been detecetd' % idaapi.get_hexrays_version()) def main(): cv = collect_vars() cv.activate(None) dv = dump_info() dv.activate(None) main() ida_pro.qexit(0)
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)