本文主要是介绍攻防世界reverse新手练习区re1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
攻防世界reverse新手练习区re1
打开题目下载附件是一个exe文件,运行一下结果如下
根据上图可知需要输入正确的flag,用exeinfo pe查看exe程序详细信息,该文件没有加壳,是32位的。
于是用32位ida打开,按ctrl加F建查找main函数,没有找到
于是直接点进第一个函数sub401000,双击sub401000函数,按F5查看C代码
可以看出上图就是该程序的主要代码,第12行的_mm_storeu_si128
函数作用是将xmmword_413E34
的值赋给v4;第19行输入的值为v8;20行比较v4和v8的值并将结果赋给v2,若v4与v8相等则v2的值为0,否则为1;21到26行的几个if条件,若v2为1则输出"flag不太对呦,再试试呗,加油呦"
,若v2位0则输出"flag get√"
。
通过上述分析可知,只要v8与v4的值相等即可,即v8与xmmword_413E34
相等,双击xmmword_413E34
在上图两个数字上按R键,得到字符如下
得到真确的flag,由于这里是小端存储,正确flag为DUTCTF{We1c0met0DUTCTF}
这篇关于攻防世界reverse新手练习区re1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!