[Android] 鬼哥讲逃离大厦的相关分析

信息安全 3645 Views

最近一直没有发分析游戏破解类的游戏,刚刚看到一个好玩的游戏更新了,那么我们来分析下新版本的破解。

游戏的破解,主要靠的是积累经验,没有千篇一律的游戏,所以只是照着教程修改是次要的,重要的是破解思路的分析。

游戏名:逃离大厦

版本:1.5

目的:金币破解,广告去除

0x1:游戏试玩

发现广告情况:

到商店看一下:

好了,我们简单总结一下:

通过第一张图,我们可以得到:

①.游戏在进入的时候显示广告—>我们找游戏启动类开始分析

②.广告上面说,点击安装会增加200金币—>我们找增加200的地方

③.广告资源是由网络返回的,还是本地自带的—>断网方式进入,确定资源从哪里来

通过第二张图,我们可以得到:

①.游戏初始化金币为100–>我们可以找游戏初始化100的地方,看游戏是如何定义金币的,同时可以将这里修改为9999

②.商品标价游戏币是用coin来表示的–>搜索coin所在的类进行查看,看看金币的模型是如何构造的

③.最下面有广告,点击左下角的小圈i —>通过点击,确定这里的广告是谷歌广告

0x2:开始分析

按照0x1的游戏试玩,我们已经得出了一些结论,那么下一步就是开始分析这些结论哪个可用。

这里,建议有兴趣的朋友可以自己开始动手了。。。

————————分割线—————————–

继续我们的分析:

Coin的搜索,让我们发现这两个类:

打开后,我们发现正是我们所需的

有set 和get方法,还有update函数可以辅助确定,金币的定义是在此类,那么接下来就简单了,我们对get方法的返回值进行赋值即可,float类型的,所以我们在return v0前面加上

const v0, 0x4b18967f

即9999999。

不熟悉转换的,可以自己写一个helloworld,设置一个float的数值,自己反编译看看即可。

0x3:广告的去除

google广告的去除,以前也有文章简单叙述过,这里就不再重复。

我们直接开始分析软件打开后的那个广告显示。

通过断网和联网两种情况,我们确定此图片不是由网络返回的,而是本地存在的资源。

那么我们就在本地浏览下,一般这些资源都是在assets文件夹下放置的。

通过浏览,发现位置:

所以,我们就搜索一下banner.png的引用位置:

好了,只发现一处,那么,我们按照正常的思路,直接删掉这四行引用。

—————分割线————

打包测试,游戏闪退

那我们就分析下这几行代码的作用。

通过阅读smali代码,联系上下文,发现是对一些图片资源的定义设置,然后游戏中来调用,同时,这个方法内的图片有一些就是游戏本身的图片资源,所以我们这里随意删除,肯定会导致其他地方调用失败,游戏会闪退。

好了,那么我们继续分析下去。

我们搜索assets下banner.png所在文件夹,berry_king

发现:

我们进去看一下:

这次我们搜索.method ,来查看此类里面的方法:

看到showView和hideView,我们就有一些小激动了,打开看下

这个menuScene,刚好是我们搜索的banner.png所在的MenuSceneResources这个类相关,通过名字也可以了解,banner.png所在的类为资源定义类,所以推测我们这里的show方法,就是显示那个广告的,于是,我们在方法头那里直接返回void即可。

return-void

打包,测试。。。。。。。

一切都正常,广告部显示,金币99999。。。。

接下来就是好好玩游戏吧,其实,第一次发现这个游戏,我是手动一直打通关的,在通关以后,简单分析了,这次更新,增加了一些关卡,挺好玩的。

文档以及附件相关地址:

链接:http://pan.baidu.com/s/1ntmf8SD 密码:fwo8

–推荐给朋友

公众微信号:吾爱破解论坛

或搜微信号:pojie_52

–内容分享

点击右上角“…”标志,分享到朋友圈

–更多精彩内容

请点击右上角“…”标志,点击“查看公众号”,往下拉一点再点击“查看历史消息”即可!

–官方论坛

www.52pojie.cn

如未说明则本站原创,转载请注明出处:NULL » [Android] 鬼哥讲逃离大厦的相关分析