Пример #1
0
    def __init__(self,
                 memory_backer=None,
                 permissions_backer=None,
                 pages=None,
                 initialized=None,
                 name_mapping=None,
                 hash_mapping=None,
                 page_size=None,
                 symbolic_addrs=None,
                 check_permissions=False):
        self._cowed = set()
        self._memory_backer = {} if memory_backer is None else memory_backer
        self._permissions_backer = permissions_backer  # saved for copying
        self._executable_pages = False if permissions_backer is None else permissions_backer[
            0]
        self._permission_map = {} if permissions_backer is None else permissions_backer[
            1]
        self._pages = {} if pages is None else pages
        self._initialized = set() if initialized is None else initialized
        self._page_size = 0x1000 if page_size is None else page_size
        self._symbolic_addrs = dict(
        ) if symbolic_addrs is None else symbolic_addrs
        self.state = None
        self._preapproved_stack = xrange(0)
        self._check_perms = check_permissions

        # reverse mapping
        self._name_mapping = cooldict.BranchingDict(
        ) if name_mapping is None else name_mapping
        self._hash_mapping = cooldict.BranchingDict(
        ) if hash_mapping is None else hash_mapping
        self._updated_mappings = set()
Пример #2
0
    def __init__(self,
                 backer=None,
                 pages=None,
                 name_mapping=None,
                 hash_mapping=None,
                 page_size=None):
        self._backer = {} if backer is None else backer
        self._pages = {} if pages is None else pages
        self._page_size = 0x1000 if page_size is None else page_size
        self.state = None

        # reverse mapping
        self._name_mapping = cooldict.BranchingDict(
        ) if name_mapping is None else name_mapping
        self._hash_mapping = cooldict.BranchingDict(
        ) if hash_mapping is None else hash_mapping
        self._updated_mappings = set()
Пример #3
0
    def __init__(self, memory_backer=None, permissions_backer=None, pages=None, sinkholes=None, initialized=None, 
                 name_mapping=None, hash_mapping=None, page_size=None):
        self._cowed = set()
        self._memory_backer = { } if memory_backer is None else memory_backer
        self._permissions_backer = permissions_backer # saved for copying
        self._executable_pages = False if permissions_backer is None else permissions_backer[0]
        self._permission_map = { } if permissions_backer is None else permissions_backer[1]
        self._pages = { } if pages is None else pages
        self._sinkholes = { } if sinkholes is None else sinkholes
        self._sinkholes_cowed = False
        self._initialized = set() if initialized is None else initialized
        self._page_size = 0x1000 if page_size is None else page_size
        self.state = None

        # reverse mapping
        self._name_mapping = cooldict.BranchingDict() if name_mapping is None else name_mapping
        self._hash_mapping = cooldict.BranchingDict() if hash_mapping is None else hash_mapping
        self._updated_mappings = set()
Пример #4
0
    def __init__(self,
                 backer=None,
                 pages=None,
                 sinkholes=None,
                 initialized=None,
                 name_mapping=None,
                 hash_mapping=None,
                 page_size=None):
        self._cowed = set()
        self._backer = {} if backer is None else backer
        self._pages = {} if pages is None else pages
        self._sinkholes = {} if sinkholes is None else sinkholes
        self._sinkholes_cowed = False
        self._initialized = set() if initialized is None else initialized
        self._page_size = 0x1000 if page_size is None else page_size
        self.state = None

        # reverse mapping
        self._name_mapping = cooldict.BranchingDict(
        ) if name_mapping is None else name_mapping
        self._hash_mapping = cooldict.BranchingDict(
        ) if hash_mapping is None else hash_mapping
        self._updated_mappings = set()