code: def generate_section_signatures(self, pe, name, sig_length=512):
          
  
          section_signatures = list()
  
          for idx, section in enumerate(pe.sections):
  
              if section.SizeOfRawData < sig_length:
                  continue
  
              #offset = pe.get_offset_from_rva(section.VirtualAddress)
              offset = section.PointerToRawData
  
              sig_name = '%s Section(%d/%d,%s)' % (
                  name, idx + 1, len(pe.sections),
                  ''.join([c for c in section.Name if c in string.printable]))
  
              section_signatures.append(
                  self.__generate_signature(
                      pe, offset, sig_name, ep_only=False,
                      section_start_only=True,
                      sig_length=sig_length) )
  
          return '\n'.join(section_signatures)+'\n'
docs: Generates signatures for all the sections in a PE file.
  
          If the section contains any data a signature will be created
          for it. The signature name will be a combination of the
          parameter 'name' and the section number and its name.