暑期CTF练习——第二周

攻防世界reverse进阶区re1-100

下载后查壳,无壳64位
暑期CTF练习——第二周
ida打开,找主函数F5查看伪代码

发现这次的伪代码挺长的,一行行看

发现这一段代码非常可疑,极大可能和flag有关
暑期CTF练习——第二周
尝试提交了94行的这串字符

{daf29f59034938ae4efd53fc275d81053ed5be8c}

不正确,哈,果然不会这么明显的~

点了main函数里面出现的几个函数,看了伪代码都没有什么关系的样子,那就看看别的函数吧
暑期CTF练习——第二周
这有一个confuseKey()函数,名字就很可疑啊,跳转过去看看
果然:
暑期CTF练习——第二周
红框中strncpy函数用于将指定长度的字符串复制到字符数组中,看样子是把daf29f59034938ae4efd53fc275d81053ed5be8c这一串字符分成了4部分,而每一部分有十个字符(没有{}了,可能的原因如下图)
暑期CTF练习——第二周
再看蓝框里面strcat的作用是连接,结合3,4,1,2的顺序将上面分好的字符串的重组一下就可以了
53fc275d81053ed5be8cdaf29f59034938ae4efd

flag是:53fc275d81053ed5be8cdaf29f59034938ae4efd