import idc import struct addr = here() # or replace with the actual address e.g. 0x47F240 data = bytes([idc.get_wide_byte(addr + i) for i in range(39)]) flag = idc.get_wide_byte(addr + 39) key = idc.get_qword(addr + 40) print(f"Data: {data.hex()}") print(f"Decrypted: {flag}") print(f"Key: {key:#018x}") # Decrypt it immediately decrypted = bytes(~(b ^ ((key >> (8 * (i % 8))) & 0xFF)) & 0xFF for i, b in enumerate(data)) print(f"Plaintext: {decrypted}") print(f"As string: {decrypted.decode('utf-8', errors='replace')}")