docs: def is_driver(self):
          """Check whether the file is a Windows driver.
          
          This will return true only if there are reliable indicators of the image
          being a driver.
          """
  
          # Checking that the ImageBase field of the OptionalHeader is above or
          # equal to 0x80000000 (that is, whether it lies in the upper 2GB of
          # the address space, normally belonging to the kernel) is not a
          # reliable enough indicator.  For instance, PEs that play the invalid
          # ImageBase trick to get relocated could be incorrectly assumed to be
          # drivers.
           
          # This is not reliable either...
          #   
          # if any( (section.Characteristics & SECTION_CHARACTERISTICS['IMAGE_SCN_MEM_NOT_PAGED']) for section in self.sections ):
          #    return True
              
          if hasattr(self, 'DIRECTORY_ENTRY_IMPORT'):
              
              # If it imports from "ntoskrnl.exe" or other kernel components it should be a driver
              #
              if set( ('ntoskrnl.exe', 'hal.dll', 'ndis.sys', 'bootvid.dll', 'kdcom.dll' ) ).intersection( [ imp.dll.lower() for imp in self.DIRECTORY_ENTRY_IMPORT ] ):
                  return True
                  
          return False