BUUCTF_Misc_[DDCTF2018](╯°□°)╯︵ ┻━┻

题目给了这么一串字符串:

d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd

一共134位,不考虑古典密码,base家族也解不出来,

观察到基本上都是一个字母加上一个数字,所以考虑先把他们两两分组,

'd4', '4e', 'e8', '8e', 'e1', '1f', 'f4', '4a', 'a0', '0f', 'f7', '7e', 'e1', '1f', 'f3', '3a', 'a0', '0e', 'e6', '6e', 'e1', '1f', 'f3', '3f', 'f4', '4a', 'a1', '1a', 'a0', '0d', 'd4', '4e', 'e8', '8e', 'e5', '5a', 'a0', '0e', 'e6', '6e', 'ec', 'ce', 'e1', '1e', 'e7', '7a', 'a0', '0e', 'e9', '9f', 'f3', '3b', 'ba', 'aa', 'a0', '0c', 'c4', '4c', 'c4', '4c', 'c3', '3d', 'd4', '4c', 'c6', '6f', 'fb', 'bb', 'b9', '9b', 'b2', '2b', 'b2', '2e', 'e1', '1e', 'e2', '2b', 'b9', '9b', 'b9', '9b', 'b7', '7b', 'b4', '4e', 'e1', '1b', 'b4', '4b', 'b7', '7e', 'e3', '3e', 'e4', '4b', 'b3', '3b', 'b2', '2b', 'b2', '2e', 'e3', '3e', 'e6', '6b', 'b4', '4b', 'b3', '3e', 'e2', '2b', 'b5', '5b', 'b0', '0b', 'b6', '6b', 'b1', '1b', 'b0', '0e', 'e6', '6e', 'e1', '1e', 'e5', '5e', 'e1', '1b', 'b5', '5f', 'fd'

然后转十六进制,再转十进制,得到:

[212, 232, 225, 244, 160, 247, 225, 243, 160, 230, 225, 243, 244, 161, 160, 212, 232, 229, 160, 230, 236, 225, 231, 160, 233, 243, 186, 160, 196, 196, 195, 212, 198, 251, 185, 178, 178, 225, 226, 185, 185, 183, 180, 225, 180, 183, 227, 228, 179, 178, 178, 227, 230, 180, 179, 226, 181, 176, 182, 177, 176, 230, 225, 229, 225, 181, 253]
发现都大于128,所以都减128,最后转ascii码得到flag.

脚本:

key='d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd'
hex=[]
flag=''
for i in range(0,len(key)-1,2):
    zdh=key[i:i+2]
    hex.append(zdh)
for i in range(len(hex)):
    zdh1=hex[i]
    flag+=chr(int(int(zdh1,16))-128)
print(flag)

flag{922ab9974a47cd322cf43b50610faea5}

posted @ 2022-01-16 11:28  Luccky  阅读(454)  评论(0编辑  收藏  举报