def calculate_hamming_distances_a(self): with open(self.fuzzedfile.path, 'rb') as fd: fuzzed = fd.read() a_string = 'x' * len(fuzzed) self.hd_bits = hamming.bitwise_hd(a_string, fuzzed) self.hd_bytes = hamming.bytewise_hd(a_string, fuzzed)
def calculate_hamming_distances_a(self): with open(self.fuzzedfile.path, 'rb') as fd: fuzzed = fd.read() a_string = 'x' * len(fuzzed) self.hd_bits = hamming.bitwise_hd(a_string, fuzzed) logger.info("crasher=%s bitwise_hd=%d", self.signature, self.hd_bits) self.hd_bytes = hamming.bytewise_hd(a_string, fuzzed) logger.info("crasher=%s bytewise_hd=%d", self.signature, self.hd_bytes)
def bitwise_swap2(self, seed, fuzzed): swapped = [] hd = 0 for (a, b) in itertools.izip(seed, fuzzed): if a != b: mask = self._mask() newbyte = chr((ord(a) & mask) ^ (ord(b) & ~mask)) hd = hamming.bitwise_hd(a, newbyte) swapped.append(newbyte) else: swapped.append(a) return swapped, hd
def calculate_hamming_distances_a(self): with open(self.fuzzedfile.path, 'rb') as fd: fuzzed = fd.read() a_string = 'x' * len(fuzzed) self.hd_bits = hamming.bitwise_hd(a_string, fuzzed) logger.info("crasher=%s bitwise_hd=%d", self.signature, self.hd_bits) self.hd_bytes = hamming.bytewise_hd(a_string, fuzzed) logger.info( "crasher=%s bytewise_hd=%d", self.signature, self.hd_bytes)
def test_bitwise_hd(self): # '0' = 0110000 # '1' = 0110001 # 'a' = 1100001 # 'c' = 1100011 self.assertEqual(bitwise_hd("0", "1"), 1) self.assertEqual(bitwise_hd("0", "a"), 3) self.assertEqual(bitwise_hd("0", "c"), 4) self.assertEqual(bitwise_hd("1", "a"), 2) self.assertEqual(bitwise_hd("1", "c"), 3) self.assertEqual(bitwise_hd("a", "c"), 1) [self.assertEqual(bitwise_hd(c, c), 0) for c in "01ac"]
def test_bitwise_hd(self): # '0' = 0110000 # '1' = 0110001 # 'a' = 1100001 # 'c' = 1100011 self.assertEqual(bitwise_hd('0', '1'), 1) self.assertEqual(bitwise_hd('0', 'a'), 3) self.assertEqual(bitwise_hd('0', 'c'), 4) self.assertEqual(bitwise_hd('1', 'a'), 2) self.assertEqual(bitwise_hd('1', 'c'), 3) self.assertEqual(bitwise_hd('a', 'c'), 1) [self.assertEqual(bitwise_hd(c, c), 0) for c in "01ac"]