NPUCTF2020 EzRevers


[NPUCTF2020]EzReverse

0x1 查询信息

发现是64位 拉进64位IDA

0x2 去花

左上角EDIT -> Path program ->Change byte 改变第一个E9为90 反复往下循环直到去完

0x3查看整体逻辑代码


hjkl 通过观察下方的v3加减 可以判断出 分别为 左h 上j 下k 右l

这个关键判断就是决定是否显示失败 取v3地址里的值 然后取最后一位与0对比,一下子点醒了然后迅速回去观看每一个值的最后一位。

发现每个值的最后一位 不是为1 就是为0 最终发现这个迷宫题设置在每一个值的最后一位

0x4 编写代码 打印出迷宫

a=[0,1,0,0,1,1,1,0,1,0,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,0,1,1,1,0,1,1,1]
for i in range(len(a)):
    print(a[i],end="")
    if i % 7 ==0:
        print()
# flag{kkkkkklljjjjljjllkkkkhkkll}

发现与猜想的一模一样 只需要从左上角的第一位走到最右下角的 1即可

0x05总结

题目先考了去除花指令,然后是对代码的阅读。慢慢分析即可。


文章作者: Blue
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Blue !
评论
  目录