Buuoj xor
xor
丢进ida
-
搜索字符串“flag”,可以得到以下
-
以上源码大致的意义就是,输入一个字符串v6,如果v6长度不等于33则失败;否则对v6进行以下操作:自下标1开始,第i位与第(i-1)位异或后再将值赋给第i位。得到的字符串与v3相同,则成功。
-
点击globals查看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{QianQiuWanDai_YiTongJiangHu}