美文网首页
BUUCTF [HDCTF2019]Maze

BUUCTF [HDCTF2019]Maze

作者: doinb1517 | 来源:发表于2022-03-05 15:50 被阅读0次

题目

一个有花指令的题目

题解

首先尝试运行


runn.png

使用exeinfo查壳,显示upx壳。

peinfo.png

使用IDA Pro进行分析,发现尾部跳转,进行脱壳。


unpack.png

脱壳完毕后拖进IDA Pro中分析 寻找main函数没有找到 查看start函数。找到了_main函数,但是functionns窗口并没有识别,进入_main函数。

01.png
jnz.png

发现有很多不识别的命令,这里被当作数据处理,查看0x40102C处的jnz命令,这个jnz指令跳转到临近的一个地址 ,而这个地址上又是一个call,之后的数据都不被识别为OP Code,可以发现这里是常见的花指令。

cmp eax, ecx
jnz local

这是一种常见的无条件跳转,同样的道理下面这种形式也是可以的。

xor eax, eax
jz local

将E8给nop掉,下面的部分转还成Code以后如下。

02.png

保存修改,推出IDA Pro,然后重新打开,找到_main函数,直接查看伪代码。

03.png

现在就很清晰,就是个走迷宫,一共14步,初始坐标(7,0),最终坐标(5,-4),我的策略是先走到终点,再走来会走几步重复的来凑步数。

aasssssssswwww

06.png

而且查看字符串时可以看到迷宫提示,先把F给定位到,F前面有四行,而且时第五行的第六个字母(是从0开始计数的)第五行确定以后,前面还有四十个字母,有四行,那么每一行就是十个字母,所以我们可以把这个迷宫给还原。

04.png
*******+**
******* **
****    **
**   *****
** **F****
**    ****
**********

从+走到F就行,w:上;s:下;a:左;d:右,ssaaasaassdddw

得到flag

05.png

相关文章

网友评论

      本文标题:BUUCTF [HDCTF2019]Maze

      本文链接:https://www.haomeiwen.com/subject/emhbrrtx.html