Exemple #1
0
 def segment_to_put(self, phdr, seg_ranges=None):
     if ParseGenElfDelegate.segment_to_put(self, phdr):
         return True
     elif phdr.p_type in NON_ENCAP_SEGMENTS:
         for idx, p in enumerate(self.parsegen.phdrs):
             if p is phdr:
                 break
         else:
             raise RuntimeError('Invalid phdr.')
         if seg_ranges is None:
             seg_ranges = self.get_seg_ranges(self.parsegen.phdrs)
         if not self.segment_is_overlapped(idx, seg_ranges):
             return True
     return False
Exemple #2
0
 def __init__(self, parsegen):
     ParseGenElfDelegate.__init__(self, parsegen)
     self.validate()
Exemple #3
0
 def __init__(self, parsegen, store_debug_data, encrypt_segment):
     ParseGenElfDelegate.__init__(self, parsegen)
     self.orig_delegate = parsegen.delegate
     self.store_debug_data = store_debug_data
     self.encrypt_segment = encrypt_segment
     self.segment_number = -1
Exemple #4
0
    def __init__(self, parsegen, val_ph, val_v):
        ParseGenElfDelegate.__init__(self, parsegen)

        self.validate_ph_addrs = val_ph
        self.validate_vir_addrs = val_v
        self.validate()