攻防世界逆向WP,easy_Maze

本文介绍了如何解决一个名为easy_Maze的逆向工程问题。通过对64位ELF文件的分析,确定了51个变量可能构成迷宫,并识别出Step_0、Step_1、Step_2三个函数的作用。通过静态和动态分析,揭示了输入与行走方向的关系,以及迷宫的最终目标。使用gdb动态调试,获取maze数组并形成7x7的矩阵,得出输入序列:ssddwdwdddssaasasaaassddddwdds。
摘要由CSDN通过智能技术生成

迷宫问题参考:https://ctf-wiki.github.io/ctf-wiki/reverse/maze/maze/

 

下载下来后发现是64位ELF文件,没有加壳。由文件名easy_Maze知道这是一个迷宫问题,我们需要求出迷宫所存数组,以及在迷宫中行走对应的输入。拖入IDA,查找字符串交叉应用找到主函数,F5反编译发现主界面定义了51个连续变量,猜想这些变量极有可能就是迷宫的构成要素。除去变量,函数操作如下:

可以看到这里有三个函数,Step_0,Step_1,Step_2,应该就是对已有数据的操作了。变量中v9已知;v7,maze未知,所以猜测Step_0函数负责将v9的值经过变换传递给v7,Step_1负责将v7的值变化传递给maze,最终由在Step_2处传入maze数组。

 

进入Step_2函数,代码主体部分如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值