def __init__(self, output_base_dir, path): ''' Creates an output dir for this seedfile based on its md5 hash. @param output_base_dir: The base directory for output files @raise SeedFileError: zero-length files will raise a SeedFileError ''' BasicFile.__init__(self, path) if not self.len > 0: raise SeedFileError( 'You cannot do bitwise fuzzing on a zero-length file: %s' % self.path) # use len for bytewise, bitlen for bitwise if self.len > 1: self.range_min = 1.0 / self.len self.range_max = 1.0 - self.range_min else: self.range_min = 0 self.range_max = 1 self.tries = 0 self.rangefinder = RangeFinder(self.range_min, self.range_max)