BUU-[NPUCTF2020]BasicASM
阅读ASM发现只有一处运算 其他都是一些内置函数的调用和下标的自增
直接吧result里面转成字符串后每一位异或0x42
发现前四位的偶数位是flag的正确字母 于是我们奇数为不做异或处理 得到flag
s = '662e61257b26301d7972751d6b2c6f355f3a38742d74341d61776d7d7d' a = [] for i in range(len(s)): if i & 1 == 0 : a.append(int(s[i:i+2],16)) print a flag = '' for i in range(len(a)): if i & 1: a[i] ^= 0x42 flag += chr(a[i]) print flag