18.10.9 实验吧----分道扬镳

都说大晚上做题有助于睡眠

提示:注意进入正确的流程,用最短的步骤走完迷宫。

我就不信这不是迷宫题…………

18.10.9 实验吧----分道扬镳_第1张图片

是个比较和善的exe,直接先找在IDA里找迷宫,可以看见的是这个迷宫貌似不是一个平面地图,我只看到了疑似的一行字符串,比有玄机,如下

分析main函数

第一步

18.10.9 实验吧----分道扬镳_第2张图片

走的步数应该是22步,即我们输入的字符串长度也是22

第二步

18.10.9 实验吧----分道扬镳_第3张图片

'上下左右'为:k\j\h\l,具体哪个对应哪个还不清楚

第三步

弄清目标

18.10.9 实验吧----分道扬镳_第4张图片

目标是走到#,*是墙

第四步

分析走法

18.10.9 实验吧----分道扬镳_第5张图片

v2是我们的迷宫首地址,v4是我们迷宫最后字符的地址,v1那么不难猜出就是我们的初始位置

if语句里面无非判断两件事:1.是否越界 2.是否撞墙

其中的v1加8减8的操作应该就是移动的方向,j是前进8步,k是后退8步,h是后退1步,l是前进1步

那么整个流程就清晰了,接下来就是考验算法了

但是如果用深度遍历算法太累了,要求出所有可能性来求出最优解

那么我们自己硬搭一个地图8*8如何呢,前进8步理解为向下,后退八步理解为向上,剩下为左右

18.10.9 实验吧----分道扬镳_第6张图片

稳地不行,眼拔走法:jjjjjlllllkkkkkhhhjjjl

 

 

 

你可能感兴趣的:(RE_WP)