先查壳
查壳后发现是upx的壳
那么我们脱壳
IDA 静态分析
拖入IDA发现,其实程序已经加过花指令的
仔细分析我们可以发现 jnz跳转的是下一行代码 其实就相当于没有跳转一样的,还有call 根本不是一个地址 所以IDA会分析失败
去除花指令
先将这些部分按d转化为数据
然后将下列指令(按C)转化为有效代码
发现指令正常了,框中main函数(按P)声明为函数
分析关键伪代码
题目的意思,其实这是一道迷宫题
所以我们先看看这些数据
然后查看下伪代码
我们查看数据初始值(双击)可以发现
经过移动变换,要变成5和-4
然后我们经过排列。。。。。。好吧。。我发现很难排列
然后结合前面的那些条件其实可以猜到是7*10的排列方式
然后就按照:w上 s下 a左 d右的方式走
get flag
flag{ssaaasaassdddw}
我们可以验证一下