LitCTF ez_XOR
解题思路:
首先发现是个exe程序,可以直接cmd运行一下查看
找到了两个字符串,可能后面会用到。查壳,无壳,32位,用对应的IDA打开,找到主函数如图。
分析函数可得,密文为str2字符串,且只有XOR函数一个加密步骤,分析该函数。
由于IDA识别的原因,本来的一个for函数被识别为了一个for函数和一个if函数,无伤大雅,可以看出是先判断字符串长度是否超出范围,然后把每一位都 ^ 3 * a2,而a2可以从主函数看出来是一个定值3,也就是 ^ 9。
解答:
result = 'E`}J]OrQF[V8zV:hzpV}fVF[t'
flag = ''
for i in result:
flag += chr(ord(i) ^ 9)
print(flag)