对登山赛车的自助加油分析

仅为记录!大佬勿喷
仅为记录!大佬勿喷
仅为记录!大佬勿喷

通过对apk的拆包分析,发现主要逻辑代码在so里,所以解压so出来放进IDA,3.4m,5分钟就好了

点击左上角搜索,搜索文本,

out of fuel (燃料耗尽)

图片[1]-对登山赛车的自助加油分析-给我资源

查找完成选择第三个

图片[2]-对登山赛车的自助加油分析-给我资源

进入后看到对应字符串,

图片[3]-对登山赛车的自助加油分析-给我资源

F5查看伪代码,比较好分析

图片[4]-对登山赛车的自助加油分析-给我资源


这里做个笔记,a1+…. ,省略a1
416: 判断是否死亡
660:是否缺油
416 && 600:死亡了并且是缺油导致的

直接定位a1+660选中,上下翻一下

可以看到
a1+660=1 意思是燃油已经耗尽了,看上面的a1+648,给的0,再往上看a1+648,与0进行比较

由此推出: 如果a1+648≤0了,就给a1+660赋值1,给a1+648赋值0,前面得知660是燃油耗尽的状态,那么这个648可以推出必定是燃油量了。

所以定位648,显然上面的v122就是当前的燃油量,经过计算赋给了v144, 最终的燃油量就在v144里了。

搞懂逻辑就开始修改,只要把那个减法运算变为加法就行了,由于在汇编周围没找到a2的相关逻辑,就一个2.5显而易见,于是就把2.5改成负数就行了。

图片[5]-对登山赛车的自助加油分析-给我资源


负数越大加油越快。这是我这个版本的

另外一个版本是请教一位大佬的,代码有所不同,大神的改法不太一样,贴图记录下

图片[6]-对登山赛车的自助加油分析-给我资源

把 i=38 取反就能让他判定一直吃到油,也是一种无限油的方法

THE END
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码

    暂无评论内容