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
View Code
原文地址:https://www.cnblogs.com/lxy8584099/p/13706764.html