26 lines
612 B
Python
26 lines
612 B
Python
enc = [
|
|
0xFD,0x9C,0x43,0x42,0xA1,0xA0,0xEB,0x8F,0x21,
|
|
0x54,0x67,0x8A,0xEE,0x8C,0x3B,0x46,0x5D,0x60,
|
|
0xC0,0x97,0x72,0x1D,0xAF,0x63,0x1A,0xF4,0xAC,
|
|
0x6F,0xB5,0x79,0x2C,0xDA,0xD1,0x81,0x5C,0x1B,
|
|
0x19,0x85,0x2B,0xC7,0x5A,0x7F,0x9D,0x10,
|
|
]
|
|
|
|
def decode(data):
|
|
R1, LR = 0x17, 7
|
|
out = []
|
|
for b in data:
|
|
k = R1 & 0x7F
|
|
next_lr = (LR + 3) & 0xFF
|
|
R1 = (R1 + 5) & 0xFF
|
|
|
|
c = ((b ^ 0x55) - k) & 0xFF
|
|
c = ((c << 6) | (c >> 2)) & 0xFF
|
|
c ^= LR
|
|
|
|
LR = next_lr
|
|
out.append(c)
|
|
return bytes(out)
|
|
|
|
flag = decode(enc).decode()
|
|
print(flag) |