1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| def read_binary_file(filename): with open(filename, "rb") as file: return file.read()
def xor_data(data, key): return bytes(byte ^ key for byte in data)
def generate_c_array(data): nop = "\t0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90," c_array = "" for i, byte in enumerate(data): if i % 100 == 0: c_array += "\n" c_array += "\t" c_array += f"0x{byte:02X}, " c_array = c_array.rstrip(", ") return "{" + nop + c_array + "\n};"
def main(): filename = "beacon.bin" binary_data = read_binary_file(filename)
xor_key = 77 xor_result = xor_data(binary_data, xor_key)
c_array = generate_c_array(xor_result)
output_filename = "xor_int_res.txt" with open(output_filename, "w") as file: file.write(c_array)
if __name__ == "__main__": main()
|