Python源码示例:idaapi.PLUGIN_SKIP

示例1
def init(self):
        # Print header
        print("=" * 60)
        print("GhIDA Decompiler v{0}".format(gl.ghida_vv))
        print("Andrea Marcelli <anmarcel@cisco.com>")
        print("Cisco Talos, June 2019")
        print("GhIDA Decompiler shortcut key is Ctrl-Alt-D")
        print("=" * 60)

        self.__uihooks = None
        self.__seh = None

        try:
            import pygments
        except Exception:
            print("GhIDA:: [!] pygments library is missing")
            print("pip2 install pygments")
            return idaapi.PLUGIN_SKIP

        try:
            import requests
        except Exception:
            print("GhIDA:: [!] requests library is missing")
            print("pip2 install requests")
            return idaapi.PLUGIN_SKIP

        load_configuration()
        register_handlers()

        # Avoid displaying Running python script dialog
        # Otherwise, it breaks the UI and Cancel button
        idaapi.disable_script_timeout()

        # Hooking
        self.__uihooks = DisasmsHooks()
        self.__uihooks.hook()

        self.__seh = ScreenEAHook()
        self.__seh.hook()
        return idaapi.PLUGIN_KEEP 
示例2
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 
示例3
def init(self):
        if not dbg.supported_cpu():
            return idaapi.PLUGIN_SKIP

        register_dbg_hook()
        register_munu_actions()
        register_desktop_hooks()

        return idaapi.PLUGIN_KEEP