re -04 buuctf [HDCTF2019]Maze

Maze

拿到后发现upx壳,脱壳后扔进ida
re -04 buuctf [HDCTF2019]Maze
然后发现这个跳转,跳转到下一行,调用了一个不存在的函数,可以判断其为花指令,jnz可以直接nop掉,call调用的数据中可能存在有效代码。
re -04 buuctf [HDCTF2019]Maze
re -04 buuctf [HDCTF2019]Maze
按d将其转换为字节数据
re -04 buuctf [HDCTF2019]Maze
删掉第一个字节,将数据转换为代码
re -04 buuctf [HDCTF2019]Maze
但此时左侧text还是红色的,要把它封装为函数,选中所有关键代码(所有红色代码),按p

于是就可以反编译了
re -04 buuctf [HDCTF2019]Maze
re -04 buuctf [HDCTF2019]Maze
re -04 buuctf [HDCTF2019]Maze
起始位置为(7,0)要到达(5,-4)根据迷宫走14步即可得到flag
flag{ssaaasaassdddw}

上一篇:POJ 1469 COURSES


下一篇:Java虚拟机:如何判定哪些对象可回收?