known=['1', 'A', '2', 'F', '9', '4', '3', 'C', '4', 'D', '8', 'C', '5', 'B', '6', 'E', 'A', '3', 'C', '9', 'B', 'C', 'A', 'D', '7', 'E'] data=[0xf,0x87,0x62,0x14,0x1,0xc6,0xf0,0x21,0x30,0x11,0x50,0xd0,0x82,0x23,0xae,0x23,0xee,0xa9,0xb4,0x52,0x78,0x57,0xc,0x86,0x8b] flag=[] def (v2,v3): if ord(v2)-0x30>9: b=ord(v2)-55 v2=chr(b) v4=ord(v2)&0xf v5=(ord(v3)-55)&0xf if ord(v3)-0x30<=9: v5=ord(v3)&0xf a= v5 |(16*v4) return a for i in range(25): data[i]=data[i]^(cacl(known[i],known[i+1])) data[i]=((data[i]>>2)|(data[i]<<6)) data[i]=data[i]&0xff flag.append(chr(data[i])) print "".join(flag)
|
近期评论