题外话:这个CTF的前端UI非常不错!
一道逆向题(截至写WP的时间,这比赛总共就2道逆向,一道200分的 一道500分的 =_=)
老规矩,用IDA打开,先Shift+F12看一看这是不是一道送分题
还真找着了,可惜提交了不正确,明显不是一道送分题
大致看了一下,main函数就是哔哔了一大堆,没有任何逻辑
于是从函数窗口中的函数里找一找
找到一个明显是动态patch代码的函数,没有发现交叉引用
这个函数的作用是返回一个整数,把s的每个char转成int加起来,而这个s就是前面看到的假flag,写脚本跑一下很容易得到该函数返回的是2078
也就是说函数将0x973开始的231个字节异或2078,我们用IDAPython脚本跑一下
然后按P将数据转成函数(转不了的点击编辑-修补程序-应用到输入文件,然后用IDA再打开修补后的程序,应该自动就帮你转好了)
v2很轻松能看出等于3
off_202028是个指向一段乱码的地址,这个函数应该是给乱码解密,我们再用脚本跑一下
又一个flag出现啦~
正当我在猜测是不是套娃题的时候,这个flag提交上去发现对了 ( •̀ ω •́ )y