(self, symbol_name)
return True
Remove the hook on a symbol.
        This function will fail if the symbol is provided by the extern object, as that would result in a state where
        analysis would be unable to cope with a call to this symbol.
Remove the hook on a symbol.
        This function will fail if the symbol is provided by the extern object, as that would result in a state where
        analysis would be unable to cope with a call to this symbol.
Remove the hook on a symbol . This function will fail if the symbol is provided by the extern object as that would result in a state where analysis would be unable to cope with a call to this symbol .
def unhook_symbol(self, symbol_name):
        """
        Remove the hook on a symbol.
        This function will fail if the symbol is provided by the extern object, as that would result in a state where
        analysis would be unable to cope with a call to this symbol.
        """
        sym = self.loader.find_symbol(symbol_name)
        if sym is None:
            l.warning("Could not find symbol %s", symbol_name)
            return False
        if sym.owner is self.loader._extern_object:
            l.warning("Refusing to unhook external symbol %s, replace it with another hook if you want to change it",
                      symbol_name)
            return False

        hook_addr, _ = self.simos.prepare_function_symbol(symbol_name, basic_addr=sym.rebased_addr)
        self.unhook(hook_addr)
        return True
def unhook_symbol ( self , symbol_name ) : sym = self . loader . find_symbol ( symbol_name ) if sym is None : l . warning ( "Could not find symbol %s" , symbol_name ) return False if sym . owner is self . loader . _extern_object : l . warning ( "Refusing to unhook external symbol %s, replace it with another hook if you want to change it" , symbol_name ) return False hook_addr , _ = self . simos . prepare_function_symbol ( symbol_name , basic_addr = sym . rebased_addr ) self . unhook ( hook_addr ) return True