[DDCTF2018](╯°□°)╯︵ ┻━┻
题目地址 : https://buuoj.cn/challenges#[DDCTF2018](%E2%95%AF%C2%B0%E2%96%A1%C2%B0%EF%BC%89%E2%95%AF%EF%B8%B5%20%E2%94%BB%E2%94%81%E2%94%BB
解压后查看txt,看着奇奇怪怪的,把下面的数据分组,两个一组
d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd
d4 e8 e1 f4 a0 f7 e1 f3 a0 e6 e1 f3 f4 a1 a0 d4 e8 e5 a0 e6 ec e1 e7 a0 e9 f3 ba a0 c4 c4 c3 d4 c6 fb b9 b2 b2 e1 e2 b9 b9 b7 b4 e1 b4 b7 e3 e4 b3 b2 b2 e3 e6 b4 b3 e2 b5 b0 b6 b1 b0 e6 e1 e5 e1 b5 fd
转成10进制后发现这些数都超过ascii码可打印范围,对这些十进制数进行递减爆破
a = "d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd"
for j in range(1,130):
for i in range(0,len(a),2):
data = (int(a[i:i+2],16))
try:
print(chr(data-j),end='')
except:
pass
发现flag
简化脚本,直接对10进制数减去128
a = "d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9b2b2e1e2b9b9b7b4e1b4b7e3e4b3b2b2e3e6b4b3e2b5b0b6b1b0e6e1e5e1b5fd"
for i in range(0,len(a),2):
data = int(a[i:i+2],16) - 128
print(chr(data),end='')