Analysis
题目提示分析,直接打开IDA分析
shift+F12查看字符串,找到flag的句子
找到主函数
1 | int __cdecl main(int argc, const char **argv, const char **envp) |
进入mix查看
第一个for先全部减去64,因为‘A’的ASCII 码为65,这里可以理解为获取在字母表中位置
第二个for当前值=当前值与下一值得差
第三个for判断k是不是小于7,str取余
第四个for将str作为密匙循环自加
第五个for 中间对称互换
最后利用str作为判断依据
用7.5的IDA找不到str,很神奇,用7.0的可以
91-97是str密钥
1 | a =[67,-33,20,3,13,44,9,1,23,23,8,-4,43,-6,20,23,-7,37,-11,34,61,-50,24,22,10] |