from sys import argv """ 0 + 0 -> 1 1 + 1 -> 1 0 + 1 -> 0 1 + 0 -> 0 """ # Read two files as byte arrays file1_b = bytearray(open(argv[1], 'rb').read()) file2_b = bytearray(open(argv[2], 'rb').read()) # Set the length to be the smaller one size = min(len(file1_b), len(file2_b)) xord_byte_array = bytearray(size) # XOR between the files for i in range(size): xord_byte_array[i] = file1_b[i] ^ file2_b[i] # Write the XORd bytes to the output file open(argv[3], 'wb').write(xord_byte_array) print(f'[*] {argv[1]} XOR {argv[2]}\n[*] Saved to \033[1;33m{argv[3]}\033[1;m.')