版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiangshangbashaonian/article/details/82871186
题目信息:
IDA直接载入 双击_main 图形视图直接向下拉一点就可以看到关键
直接F5看伪代码就可以
更关键的地方就是从46行开始 我是直接将一些不好看的标识符给改了
整个程序其实就是一个while循环将输入的每个字符与0xE进行异或
再与s_36_进行比对 看是否一致 若一致则成功
那么我们python来求解一下:
(下面的s数组就是将s_36_转成十六进制)
s = [0x4C, 0x44, 0x59, 0x56, 0x4C, 0x51, 0x4D, 0x5A, 0x48, 0x75,
0x59, 0x3A, 0x7C, 0x63, 0x51, 0x5B, 0x5E, 0x51, 0x79, 0x6F,
0x7C, 0x63, 0x51, 0x7B, 0x7E, 0x51, 0x59, 0x4F, 0x5C, 0x43,
0x51, 0x5B, 0x5E, 0x2F, 0x73]
flag = ''
for i in range(0,len(s)):
flag += chr(s[i] ^ 0xE)
print(flag)#比较喜欢这样让flag慢慢输出 嘻嘻
运行得到flag