本文主要是介绍安卓逆向系列教程 4.7 修改游戏金币,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
4.7 修改游戏金币
作者:飞龙
软件下载:http://www.xuepojie.com/thread-24343-1-1.html
进入游戏之后会有个“每日登录奖励”弹窗:
点击之后会看到“您获得 100 金币”:
我们看一下金币数量,100, 150, 200, 300
。好了,将软件拖进 Android Killer:
我们搜索“您获得”,定位到了bu.smali
:
new-instance v0, Ljava/lang/StringBuilder;const-string v1, "\u60a8\u83b7\u5f97 " # 您获得invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)Viget-object v1, p0, Lcom/linkstudio/FruitLink/a/bu;->ai:[Iaget v1, v1, p1invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;move-result-object v0const-string v1, " \u91d1\u5e01" # 金币invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;move-result-object v0
我们发现它是从ai
数组获得数据。我们在当前文件中搜索Lcom/linkstudio/FruitLink/a/bu;->ai
,发现只有一处对其赋值:
new-array v0, v1, [Ifill-array-data v0, :array_0iput-object v0, p0, Lcom/linkstudio/FruitLink/a/bu;->ai:[I# ...:array_0
.array-data 40x64 # 1000x96 # 1500xc8 # 2000x12c # 250
.end array-data
虽然这个数组是int[]
,我们尝试都改成0x7fffffff
(int
的最大值)。然后保存,重新打包,运行:
另外这个游戏中还是有内购,具体破解方法不再赘述了,请参见“糖果星星达人”一节。
这篇关于安卓逆向系列教程 4.7 修改游戏金币的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!