예제 #1
0
 def generate(self,id):
     validhash = 0
     validmp3 = 0
     while self.queue.qsize() > 0:
         bitlist = self.queue.get()
         bv = BitVector(bitlist=bitlist)
         newpath = self.path + 'testfile.mp3'
         testfile = open(newpath,'wb')
         bv.write_to_file(testfile)
         testfile.close()
         newhash = self.hashfile(newpath)
         if newhash == self.originalhash:
             goodpath = self.path + 'candidate' + str(validhash) +  '.mp3'
             print("Possible Candidate at " + goodpath)
             os.rename(newpath,goodpath)
             if idmp3.isMp3Valid(goodpath):
                 mp3path = self.path + '-validmp3-' + str(validmp3) +  '.mp3'
                 print("Possible mp3 at " + mp3path)
                 os.rename(goodpath,mp3path)
                 validmp3 += 1
             else:
                 print(" but, alas, no.")
             validhash += 1
         else:
             print(newhash + " does not match " + originalhash + "; deleting " + newpath )
             os.remove(newpath)
예제 #2
0
파일: generator.py 프로젝트: e1ven/HaShrink
print("Looking for files of size: " + str(originalbitsize))


#iterate through each combination

validhash = 0
validmp3 = 0

for bitlist in itertools.product([0,1],repeat=originalbitsize):
	bv = BitVector(bitlist=bitlist)
	newpath = path + 'testfile.mp3'
	testfile = open(newpath,'wb')
	bv.write_to_file(testfile)
	testfile.close()
	newhash = hashfile(newpath)
	if newhash == originalhash:
		goodpath = path + 'candidate' + str(validhash) +  '.mp3'
		print("Possible Candidate at " + goodpath)
		os.rename(newpath,goodpath)
                if idmp3.isMp3Valid(goodpath):
                    mp3path = path + '-validmp3-' + str(validmp3) +  '.mp3'
                    print("Possible mp3 at " + mp3path)
                    os.rename(goodpath,mp3path)
                    validmp3 += 1
                else:
                    print(" but, alas, no.")
		validhash += 1
	else:
		print(newhash + " does not match " + originalhash + "; deleting " + newpath )
		os.remove(newpath)