angr/procedures/java_jni/__init__.py
def _load_string_from_native_memory(self, addr_):
        """
        Load zero terminated UTF-8 string from native memory.

        :param addr_: Native load address.
        :return:      Loaded string.
        """
        # check if addr is symbolic
        if self.state.solver.symbolic(addr_):
            l.error("Loading strings from symbolic addresses is not implemented. "
                    "Continue execution with an empty string.")
            return ""
        addr = self.state.solver.eval(addr_)

        # load chars one by one
        chars = []
        for i in itertools.count():
            str_byte = self.state.memory.load(addr+i, size=1)
            if self.state.solver.symbolic(str_byte):
                l.error("Loading of strings with symbolic chars is not supported. "
                        "Character %d is concretized.", i)
            str_byte = self.state.solver.eval(str_byte)
            if str_byte == 0:
                break
            chars.append(chr(str_byte))

        return "".join(chars)

        Load zero terminated UTF-8 string from native memory.

        :param addr_: Native load address.
        :return:      Loaded string.
        
Load zero terminated UTF-8 string from native memory.
Load zero terminated UTF - 8 string from native memory .
def _load_string_from_native_memory(self, addr_):
        if self.state.solver.symbolic(addr_):
            l.error("Loading strings from symbolic addresses is not implemented. "
                    "Continue execution with an empty string.")
            return ""
        addr = self.state.solver.eval(addr_)
        chars = []
        for i in itertools.count():
            str_byte = self.state.memory.load(addr+i, size=1)
            if self.state.solver.symbolic(str_byte):
                l.error("Loading of strings with symbolic chars is not supported. "
                        "Character %d is concretized.", i)
            str_byte = self.state.solver.eval(str_byte)
            if str_byte == 0:
                break
            chars.append(chr(str_byte))
        return "".join(chars)
def _load_string_from_native_memory ( self , addr_ ) : if self . state . solver . symbolic ( addr_ ) : l . error ( "Loading strings from symbolic addresses is not implemented. " "Continue execution with an empty string." ) return "" addr = self . state . solver . eval ( addr_ ) chars = [ ] for i in itertools . count ( ) : str_byte = self . state . memory . load ( addr + i , size = 1 ) if self . state . solver . symbolic ( str_byte ) : l . error ( "Loading of strings with symbolic chars is not supported. " "Character %d is concretized." , i ) str_byte = self . state . solver . eval ( str_byte ) if str_byte == 0 : break chars . append ( chr ( str_byte ) ) return "" . join ( chars )
Load zero terminated UTF-8 string from native memory.
Load zero terminated UTF - 8 string from native memory .
"""
        Load zero terminated UTF-8 string from native memory.

        :param addr_: Native load address.
        :return:      Loaded string.
        """ # check if addr is symbolic # load chars one by one
None
self
addr_
Native load address.
Native load address .