题目告诉我们要走迷宫了嘛,那么主要就是找地图:

查壳:

[HUBUCTF 2022 新生赛]help-LMLPHP

64位,进IDA:

[HUBUCTF 2022 新生赛]help-LMLPHP
[HUBUCTF 2022 新生赛]help-LMLPHP

创建地图?跟进去看看:

[HUBUCTF 2022 新生赛]help-LMLPHP

看看num里装了啥:

[HUBUCTF 2022 新生赛]help-LMLPHP

emm挺长的,有能力的小伙伴可以手搓一个地图,反正我没手搓出来QWQ

[HUBUCTF 2022 新生赛]help-LMLPHP

再看看判断,说是走54步,且check满足,那么先动调拿到地图吧,上步骤:

在CreateMap()的左边双击,设置断点:

[HUBUCTF 2022 新生赛]help-LMLPHP
[HUBUCTF 2022 新生赛]help-LMLPHP
[HUBUCTF 2022 新生赛]help-LMLPHP
[HUBUCTF 2022 新生赛]help-LMLPHP
[HUBUCTF 2022 新生赛]help-LMLPHP
[HUBUCTF 2022 新生赛]help-LMLPHP

随便输入:然后进入如下:

[HUBUCTF 2022 新生赛]help-LMLPHP

操作原理和OD差不多F8步过,F7步入:

点一下F8:

[HUBUCTF 2022 新生赛]help-LMLPHP

进入CreateMap:

[HUBUCTF 2022 新生赛]help-LMLPHP

跟进map内存就可以拿到地图:

[HUBUCTF 2022 新生赛]help-LMLPHP

地图是这样的

[HUBUCTF 2022 新生赛]help-LMLPHP

得到路径:wwdddwwwaaawwwwwwwwwddddssssdddssdsssssssdddwwwwddsssd(这里注意,这里有两条路,但是是唯一解(附加条件是54的长度))

md5加密后得到:NSSCTF{a8622109e2fb1296e06d5eed6f78f954}

05-14 12:53