from sys import argv # 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 = len(file1_b) if len(file1_b) < len(file2_b) else len(file2_b) ord_byte_array = bytearray(size) # OR between the files for i in range(size): ord_byte_array[i] = file1_b[i] | file2_b[i] # Write the ANDd bytes to the output file open(argv[3], 'wb').write(ord_byte_array) print (f"[*] {argv[1]} OR {argv[2]}\n[*] Saved to \033[1;33m{argv[3]}\033[1;m.")