(self)
Mark all unmapped regions.

        :return: None
Mark all unmapped regions.
Mark all unmapped regions .
def _mark_unknowns(self):
        """
        Mark all unmapped regions.

        :return: None
        """

        for obj in self.project.loader.all_objects:
            if isinstance(obj, cle.ELF):
                # sections?
                if obj.sections and "section" not in self._exclude_region_types:
                    for section in obj.sections:
                        if not section.memsize or not section.vaddr:
                            continue
                        min_addr, max_addr = section.min_addr, section.max_addr
                        self._mark_unknowns_core(min_addr, max_addr + 1, obj=obj, section=section)
                elif obj.segments and "segment" not in self._exclude_region_types:
                    for segment in obj.segments:
                        if not segment.memsize:
                            continue
                        min_addr, max_addr = segment.min_addr, segment.max_addr
                        self._mark_unknowns_core(min_addr, max_addr + 1, obj=obj, segment=segment)
                else:
                    # is it empty?
                    _l.warning("Empty ELF object %s.", repr(obj))
            elif isinstance(obj, cle.PE):
                if obj.sections:
                    for section in obj.sections:
                        if not section.memsize:
                            continue
                        min_addr, max_addr = section.min_addr, section.max_addr
                        self._mark_unknowns_core(min_addr, max_addr + 1, obj=obj, section=section)
                else:
                    # is it empty?
                    _l.warning("Empty PE object %s.", repr(obj))
            elif isinstance(obj, ELFTLSObject):
                if "tls" in self._exclude_region_types:
                    # Skip them for now
                    pass
                else:
                    min_addr, max_addr = obj.min_addr, obj.max_addr
                    self._mark_unknowns_core(min_addr, max_addr + 1, obj=obj)
            elif isinstance(obj, KernelObject):
                if "kernel" in self._exclude_region_types:
                    # skip
                    pass
                else:
                    min_addr, max_addr = obj.min_addr, obj.max_addr
                    self._mark_unknowns_core(min_addr, max_addr + 1, obj=obj)
            else:
                min_addr, max_addr = obj.min_addr, obj.max_addr
                self._mark_unknowns_core(min_addr, max_addr + 1, obj=obj)
def _mark_unknowns ( self ) : for obj in self . project . loader . all_objects : if isinstance ( obj , cle . ELF ) : # sections? if obj . sections and "section" not in self . _exclude_region_types : for section in obj . sections : if not section . memsize or not section . vaddr : continue min_addr , max_addr = section . min_addr , section . max_addr self . _mark_unknowns_core ( min_addr , max_addr + 1 , obj = obj , section = section ) elif obj . segments and "segment" not in self . _exclude_region_types : for segment in obj . segments : if not segment . memsize : continue min_addr , max_addr = segment . min_addr , segment . max_addr self . _mark_unknowns_core ( min_addr , max_addr + 1 , obj = obj , segment = segment ) else : # is it empty? _l . warning ( "Empty ELF object %s." , repr ( obj ) ) elif isinstance ( obj , cle . PE ) : if obj . sections : for section in obj . sections : if not section . memsize : continue min_addr , max_addr = section . min_addr , section . max_addr self . _mark_unknowns_core ( min_addr , max_addr + 1 , obj = obj , section = section ) else : # is it empty? _l . warning ( "Empty PE object %s." , repr ( obj ) ) elif isinstance ( obj , ELFTLSObject ) : if "tls" in self . _exclude_region_types : # Skip them for now pass else : min_addr , max_addr = obj . min_addr , obj . max_addr self . _mark_unknowns_core ( min_addr , max_addr + 1 , obj = obj ) elif isinstance ( obj , KernelObject ) : if "kernel" in self . _exclude_region_types : # skip pass else : min_addr , max_addr = obj . min_addr , obj . max_addr self . _mark_unknowns_core ( min_addr , max_addr + 1 , obj = obj ) else : min_addr , max_addr = obj . min_addr , obj . max_addr self . _mark_unknowns_core ( min_addr , max_addr + 1 , obj = obj )