一.首先将下载的附件解压缩后放入64位的ida中
找到主函数,按F5查看反汇编
如下图所示:
由此可得到三条信息:
1.用户输入的字符串经过encode()函数处理
2.用户输入的字符串的长度需与key的数值相等
3.s和enflag相等
二.接下来先查看key的值,双击即可
可知:key=12h,(h表示十六进制),十进制的18
enflag的ASCII码为:izwhroz""w"v.K".
enflag对应的16进制为: 69 7A 77 68 72 6F 7A 22 22 77 22 76 2E 4B 22 2E,
enflag转换成10进制为:
105, 122, 119, 104, 114, 111, 122, 34, 34, 119,34, 118, 46, 75, 34, 46, 78, 105, 0
三.接下来找到encode()函数分析
由图可以得到三个比较有用的信息:
1.用户输入的字符串和key相等
2.v3是用户输入的字符串加密的结果
3.再将v3的值赋值给a2,并返回,即主函数中调用encode()函数中的s
四.编写脚本