首先,护网杯对新手不友好。看题看到绝望!!!全程懵逼状态。好啦不吐槽啦。。。。
进入正题:迟来的签到题
首先从文件下载下来看着像base64.但通过base64解码工具解码出来
V_UPVSUSUQR^W_###QV'R#P$'^VV_'$^
然而并没有发现点什么。
题目中有easy xor???的提示
xor异或(见过多次还没好好了解)
异或(xor)是一个数学运算符。它应用于逻辑运算。异或的数学符号为“⊕”,计算机符号为“xor”。
如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。
1. a ⊕ a = 0
2. a ⊕ b = b ⊕ a
3. a ⊕b ⊕ c = a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c;
4. d = a ⊕ b ⊕ c 可以推出 a = d ⊕ b ⊕ c.
5. a ⊕ b ⊕ a = b.
6.若x是二进制数0101,y是二进制数1011;
则x⊕y=1110
只有在两个比较的位不同时其结果是1,否则结果为0
即“两个输入相同时为0,不同则为1”!
回到正题 签到题
话不多说看脚本
str1 = "AAoHAR1WX1VQVlNVU1VRUl5XXyMjI1FWJ1IjUCQnXlZWXyckXhs="
import base64
def my_encode(str_1):
a = base64.b64encode(str_1)
return a
def my_decode(str_1):
a = base64.b64decode(str_1)
return a
base_str = my_decode(str1)
flag = ""
for x in base_str:
flag+=chr(ord(x)^ord("f"))
print flag
flag就出来了。脚本有点复杂部分可以省略。。。
还太菜继续努力小伙子你还年轻。