暑期CTF练习——第四周
攻防世界reverse进阶区Mysterious
下载后先运行一下,随便输入一点数字:
单击*****没有什么变化,于是乎查壳
无壳,ida打开
没有找到main函数,查找字符串
well done这个字符串很有意思,跳过去看看
向下看看到了Buff3r_0v3rf|0w这个字符串,查看交叉引用
F5查看伪代码
如图,分析一下
可以看到这一段关键代码,出现了flag,形式是flag{v5_Buff3r_0v3rf|0w}
现在就应该找出v5了,向上追溯发现_itoa()和v5有关系,查看_itoa():
不太明白的样子,那就查一下这个_itoa()
itoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转移数字时所用的基数
那么_itoa(v10, &v5, 10),意思就是将十进制的v10数字转换成字符串形式给v5
由上可知
flag是:flag{123_Buff3r_0v3rf|0w}