Buuoj xor

xor

丢进ida

  1. 搜索字符串“flag”,可以得到以下
    inputflag

  2. 以上源码大致的意义就是,输入一个字符串v6,如果v6长度不等于33则失败;否则对v6进行以下操作:自下标1开始,第i位与第(i-1)位异或后再将值赋给第i位。得到的字符串与v3相同,则成功。

  3. 点击globals查看v3的信息
    v3
    实际上就是字符串: "f\nk\fw&O.@\x11x\rZ;U\x11p\x19F\x1Fv\"M#D\x0eg\x06h\x0fG20"

利用python代码解出flag

v3 = "f\nk\fw&O.@\x11x\rZ;U\x11p\x19F\x1Fv\"M#D\x0eg\x06h\x0fG20"
flag = v3[0]
for i in range(1, len(v3)-1):
    new =  chr((ord(v3[i]) ^ ord(v3[i-1])))
    flag += new
print(flag)

代码挺简单的,没啥好解释的。最后跑出的结果是
flag
加个括号:flag{QianQiuWanDai_YiTongJiangHu}

猜你喜欢

转载自www.cnblogs.com/vict0r/p/13200591.html
xor