昨天玩了一个安卓游戏,叫做《屌丝买房记》,大概就是类似于《北京浮生记》(暴露年龄)一样倒买倒卖的游戏


消磨时间,但是初始金币太少了,最贵的房子要3亿,得玩到什么时候。果断自己动手丰衣足食,咱们直接来修改初始金币。直接变身富二代买房记

准备工作:
游戏一份:链接:http://pan.baidu.com/s/1o8D8kUe 密码:cvo7

反编译工具一份:Androidkiller (论坛有链接,我这里就上传到网盘了,善用搜索)

正文:
打开游戏,我们可以看到,初始金币为3000


用AndroidKiller打开apk文件
点击入口.MaiFangJi跳转到smail


接着点击工具栏查看java源码

如下图

接着咱们CTRL+F搜索3000(初始金币数值)

会搜索出很多3000,都不是咱们要的,咱们一直点next,最后回来到这个地方

defaultcash是不是很眼熟?对,这里就是默认金币数值的位置。
接下来就简单啦,回到smail里面查找字符串-直接搜索3000


双击跳转到数值所在位置
咱们把3000修改为99999999,保存
回编译。

打开我们修改过的游戏,看一下默认金币是否变了

可以看到,金币已经变成了99999999了


至此初始金币修改完成,当然了,如果细心的同学可以看到,游戏里面有健康值,名声,这些数值都在3000附近,直接修改保存就行了。

PS:这个游戏有广告,咱们需要去除他的联网权限,好好的单机游戏要什么联网权限对不。

教程比较简单,没有涉及到IDA,当然了我也是弱鸡。望各位dalao手下留情

后记,关于是如何找到3000这个数值所在的位置,我也是找了好久的,最开始我认为作者会把数值改为十六进制,搜索0xbb8,出来了5个文件,一一修改 都不对,后面查看关键的.maifangji这个文件,通过观察java源码得知所有的关键数值都在里面,包括随机事件,房屋价格。这就帮我确定了初始金 币一定在这里面的想法,接着在java源码里面仔细查看找到了defaultcash这个数值,修改一下尝试,果然是对的。

修改的关键在于,善于分析,用排除法

就酱