首页 > 代码库 > 听鬼哥说TL大厦的相关分析

听鬼哥说TL大厦的相关分析

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

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

游戏名:逃离大厦
版本: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代码,联系上下文,发现是对一些图片资源的定义设置,然后游戏中来调用,同时,这个方法内的图片有一些就是游戏本身的图片资源,所以我们这里随意删除,肯定会导致其他地方调用失败,游戏会闪退。


好了,那么我们继续分析下去。
我们搜索assetsbanner.png所在文件夹,berry_king
发现:




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




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






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


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


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


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


文档以及附件相关地址:

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

交流群:

爱破解,爱鬼哥 377724636 






听鬼哥说TL大厦的相关分析