*reverse*练习2——攻防世界-easy_Maze

下载文件,用ida64打开,找到字符串

 点击进入,ctrl加x进入,找到交叉函数,F5反编译,得到

  UNCTF{}

找到flag的形式

找到主函数

 根据题目,判断

 step是走出迷宫的关键步骤

 通过step2知道是wasd这么走出来的

 通过jdb调试和ida分析得出,我们只需要知道迷宫的存放数组,就可以走出来了,经过分析,step2里有输入进行对比,于是在step2下断点,然后再在入口处查看寄存器,再查看寄存器里存放的数组。(具体jdb调试的命令等,可自寻查找)最终如以下所示:

0x00000001      0x00000000      0x00000000      0x00000001      0x00000001      0x00000001      0x00000001     

0x00000001      0x00000000      0x00000001      0x00000001      0x00000000      0x00000000      0x00000001

0x00000001      0x00000001      0x00000001      0x00000000      0x00000001      0x00000001       0x00000001     

0x00000000      0x00000000      0x00000000      0x00000001      0x00000001      0x00000000       0x00000000
0x00000001      0x00000001      0x00000001      0x00000001      0x00000000      0x00000000      0x00000000     

0x00000001      0x00000000      0x00000000      0x00000000      0x00000001      0x00000001      0x00000001     

0x00000001      0x00000001       0x00000001      0x00000001      0x00000001      0x00000000     0x00000001

经过画图,ssddwdwdddssaasasaaassddddwdds

原文地址:https://www.cnblogs.com/kubopiy/p/13444737.html