[HDCTF2019]Maze

[HDCTF2019]Maze

去壳

image-20241027223938791

去upx壳

upx -d maze_behind_junk.exe

去花

image-20241027224225796

对main_按U取消定义函数,按P重新分析函数

分析

image-20241027224336140

很简洁的迷宫程序

image-20241027224409331

(5,-4)应该就是终点

image-20241027224448130

点进汇编界面,可以看到疑似地图的字符串

+应该是起点,F是终点

编写脚本求地图长宽

maze = '*******+********* ******    ****   ******* **F******    **************'
end = maze.index('F')
end_x = 5
end_y = 4
width = (end - end_x) // end_y
length = len(maze) // width
for i in range(length):
    print(maze[(width*i):(width*(i+1))])

需要一点想象力才能看懂这个width怎么求的,其实就是找到一排中的第x位减去x就能得到长 * 宽的一个数了

得到地图:

image-20241027225103204

flag{ssaaasaassdddw}

posted @ 2024-10-27 22:52  结城希亚  阅读(7)  评论(0编辑  收藏  举报