原软件下载地址:http://www.play.cn/game/gamedetail/236064.htm
最近几天笔者XX游戏的时候发现有很多游戏都是选择限制,比如达到XX级别的时候车辆解锁。
对于笔者来说是灰常讨厌的一件事情,所以下决心XX掉他。
工具:apk改之理、bluestacks
步骤:
首先反编译:
一般情况下,游戏都是破解内购,那先弄内购吧,可以参考:http://blog.csdn.net/sarkozy2014/article/details/39138553
内购完成后,安装打开:
然后开始游戏,选择摩托车
发现开始是灰色的,点击开始看一看。会出现以下提示:You need more socre to unlock this moto
那我们进入改之理搜索这句话,出现如下搜索结果:
双击进入查看JAVA函数:
发现这里有一个判断if (SelectMotoPanel.access$0(this.this$0) <= 0.0F)
切换到Dalvik看看:
.line 66
.local v2, "motoIndex":I
iget-object v5, p0, Lcom/droidhen/game/racingmoto/widget/panel/SelectMotoPanel$2;->this$0:Lcom/droidhen/game/racingmoto/widget/panel/SelectMotoPanel;
iget v5, v5, Lcom/droidhen/game/racingmoto/widget/panel/SelectMotoPanel;->bestScore:I
sget-object v6, Lcom/droidhen/game/racingmoto/model/MotoDatas;->ALL_MOTOS:[Lcom/droidhen/game/racingmoto/model/MotoConfigureData;
aget-object v6, v6, v2
iget v6, v6, Lcom/droidhen/game/racingmoto/model/MotoConfigureData;->unLockScore:I
if-ge v5, v6, :cond_1
.line 67
const-string v3, "You need more socre to unlock this moto"
.line 68
.local v3, "text":Ljava/lang/CharSequence;
const/4 v0, 0x0
.line 69
.local v0, "duration":I
iget-object v5, p0, Lcom/droidhen/game/racingmoto/widget/panel/SelectMotoPanel$2;->this$0:Lcom/droidhen/game/racingmoto/widget/panel/SelectMotoPanel;
# getter for: Lcom/droidhen/game/racingmoto/widget/panel/SelectMotoPanel;->timer:F
invoke-static {v5}, Lcom/droidhen/game/racingmoto/widget/panel/SelectMotoPanel;->access$0(Lcom/droidhen/game/racingmoto/widget/panel/SelectMotoPanel;)F
move-result v5
const/4 v6, 0x0
cmpg-float v5, v5, v6
if-gtz v5, :cond_0
--------------------------------------------------↑
那么我们把这个判断过掉看一下:
if-ge v5, v6, :cond_1
改为
goto :cond_1
这里的意思是说,如果大于等于指定分数,则跳转到cond_1。cond_1经过JAVA源码的分析,可以判断是这一段:
也就是-图中画框框的那一段。
到现在为止,这个游戏选择摩托车已经没有分数的限制了。感觉自己萌萌哒。
2014.09.21 Sarkozy