题目链接:https://www.xuenixiang.com/ctfexercise-competition-217.html
用IDA64打开文件静态分析
2019年11月打卡 _Reverse_easy666
可以看到输入一串字符到v5再把v5进行加密处理再匹配输入字符的长度是否匹配
进入到encode函数里
2019年11月打卡 _Reverse_easy666
分析后可知,我们首先要知道key的长度是多少,我们在main函数里可以看到 "!strcmp(&s, enflag)",可知是enflag的长度就是key长度,双击enflag
2019年11月打卡 _Reverse_easy666
所以enflag的长度是18位(tips:双引号)
最后分析加密过程写出解密脚本
附上脚本:
string = "izwhroz\"\"w\"v.K\".Ni"
flag=""
key=18
for i in range(0,key,3):
flag+=chr((ord(string)^key)-6)
flag+=chr((ord(string[i+1])^key)+6)
flag+=chr((ord(string[i+2])^key)^6)
print(flag)
运行脚本得到flag
2019年11月打卡 _Reverse_easy666
|