Abuei 发表于 2020-7-22 10:53:07

2019年11月打卡 _Reverse_easy666

题目链接:https://www.xuenixiang.com/ctfexercise-competition-217.html

用IDA64打开文件静态分析

可以看到输入一串字符到v5再把v5进行加密处理再匹配输入字符的长度是否匹配
进入到encode函数里

分析后可知,我们首先要知道key的长度是多少,我们在main函数里可以看到 "!strcmp(&s, enflag)",可知是enflag的长度就是key长度,双击enflag

所以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)^key)+6)
    flag+=chr((ord(string)^key)^6)
print(flag)

运行脚本得到flag

页: [1]
查看完整版本: 2019年11月打卡 _Reverse_easy666