暑期CTF练习——第二周
攻防世界reverse进阶区re1-100
下载后查壳,无壳64位
ida打开,找主函数F5查看伪代码
发现这次的伪代码挺长的,一行行看
发现这一段代码非常可疑,极大可能和flag有关
尝试提交了94行的这串字符
{daf29f59034938ae4efd53fc275d81053ed5be8c}
不正确,哈,果然不会这么明显的~
点了main函数里面出现的几个函数,看了伪代码都没有什么关系的样子,那就看看别的函数吧
这有一个confuseKey()函数,名字就很可疑啊,跳转过去看看
果然:
红框中strncpy函数用于将指定长度的字符串复制到字符数组中,看样子是把daf29f59034938ae4efd53fc275d81053ed5be8c这一串字符分成了4部分,而每一部分有十个字符(没有{}了,可能的原因如下图)
再看蓝框里面strcat的作用是连接,结合3,4,1,2的顺序将上面分好的字符串的重组一下就可以了
53fc275d81053ed5be8cdaf29f59034938ae4efd
flag是:53fc275d81053ed5be8cdaf29f59034938ae4efd