暑期CTF练习——第四周

攻防世界reverse进阶区Mysterious

下载后先运行一下,随便输入一点数字:
暑期CTF练习——第四周
单击*****没有什么变化,于是乎查壳
暑期CTF练习——第四周
无壳,ida打开

没有找到main函数,查找字符串
暑期CTF练习——第四周
well done这个字符串很有意思,跳过去看看
暑期CTF练习——第四周
向下看看到了Buff3r_0v3rf|0w这个字符串,查看交叉引用

F5查看伪代码
暑期CTF练习——第四周
如图,分析一下
暑期CTF练习——第四周
可以看到这一段关键代码,出现了flag,形式是flag{v5_Buff3r_0v3rf|0w}

现在就应该找出v5了,向上追溯发现_itoa()和v5有关系,查看_itoa():
暑期CTF练习——第四周

不太明白的样子,那就查一下这个_itoa()

itoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转移数字时所用的基数

那么_itoa(v10, &v5, 10),意思就是将十进制的v10数字转换成字符串形式给v5
暑期CTF练习——第四周

由上可知

flag是:flag{123_Buff3r_0v3rf|0w}