[HDCTF2019]Maze
·
检查

脱壳

拖入32bit

其实进去之后我们发现这个是无法反汇编的,这里的jnz和爆红还有loc_40102E+1怎么这么熟悉,好像是花指令。既然这样,分析,发现它的跳转地址错误,并且loc_40102E+1,多跳转了一个地址

进去

我们看看字节码

这里跳转多了一个字节
我们nop掉,patch掉

之后我们还需要点击这个,按住p进行重新定义函数


也可以看看iOS逆向-使用IDA的Patch更改汇编或二进制代码( patch svc #0x80 with nop) - 简书是一个人wp上面的,虽然简单,但是至少是我在网上第一次看到会对这个写博客的。
这样一来就可以反汇编了
从其中的adsw,我感觉好像是一个迷宫啊,靠,多西哟

我说什么吧,就是让我走出迷宫输出flag,找找迷宫

好家伙,在这里
我们将迷宫内容导出,共有70个位置,这里我们猜它是10*7的迷宫
构造出迷宫的样子
写一个脚本将它格式化
def main():
maze = "*******+********* ****** **** ******* **F****** **************"
sid = maze.index("+")
eid = maze.index("F")
ex,ey = -4,5
c = (eid - ey) // (-ex)
r = len(maze) // c
print(r,c)
for i in range(r):
print(maze[c*i:c*(i+1)])
if __name__ == "__main__":
main()

走一下,得到。可以看看[HDCTF2019]Maze - 结城希亚 - 博客园
Flag:flag{ssaaasaassdddw}
更多推荐

所有评论(0)