(self, f, hint)
Does symbol name `f` exist as a SIM_PROCEDURE? If so, return it, else return None.
        Narrows down the set of libraries to search based on hint.
        Part of the hack to enable Binary Ninja support. Remove if _register_objects() stops using it.
Does symbol name `f` exist as a SIM_PROCEDURE? If so, return it, else return None.
        Narrows down the set of libraries to search based on hint.
        Part of the hack to enable Binary Ninja support. Remove if _register_objects() stops using it.
Does symbol name f exist as a SIM_PROCEDURE? If so return it else return None . Narrows down the set of libraries to search based on hint . Part of the hack to enable Binary Ninja support . Remove if _register_objects () stops using it .
def _guess_simprocedure(self, f, hint):
        """
        Does symbol name `f` exist as a SIM_PROCEDURE? If so, return it, else return None.
        Narrows down the set of libraries to search based on hint.
        Part of the hack to enable Binary Ninja support. Remove if _register_objects() stops using it.
        """
        # First, filter the SIM_LIBRARIES to a reasonable subset based on the hint
        hinted_libs = []
        if hint == "win":
            hinted_libs = filter(lambda lib: lib if lib.endswith(".dll") else None, SIM_LIBRARIES)
        else:
            hinted_libs = filter(lambda lib: lib if ".so" in lib else None, SIM_LIBRARIES)

        for lib in hinted_libs:
            if SIM_LIBRARIES[lib].has_implementation(f.name):
                l.debug("Found implementation for %s in %s", f, lib)
                self.hook_symbol(f.relative_addr, (SIM_LIBRARIES[lib].get(f.name, self.arch)))
                break
        else:
            l.debug("Could not find matching SimProcedure for %s, ignoring.", f.name)
def _guess_simprocedure ( self , f , hint ) : # First, filter the SIM_LIBRARIES to a reasonable subset based on the hint hinted_libs = [ ] if hint == "win" : hinted_libs = filter ( lambda lib : lib if lib . endswith ( ".dll" ) else None , SIM_LIBRARIES ) else : hinted_libs = filter ( lambda lib : lib if ".so" in lib else None , SIM_LIBRARIES ) for lib in hinted_libs : if SIM_LIBRARIES [ lib ] . has_implementation ( f . name ) : l . debug ( "Found implementation for %s in %s" , f , lib ) self . hook_symbol ( f . relative_addr , ( SIM_LIBRARIES [ lib ] . get ( f . name , self . arch ) ) ) break else : l . debug ( "Could not find matching SimProcedure for %s, ignoring." , f . name )