Android破解学习之路(十五)—— 【Unity3D】洛菲斯的呼唤(Lophis roguelike)无限金币(道具)的实现 破解

前言

之前玩月圆之夜玩的挺high的,最近又找到了个与月圆之夜类似的卡牌游戏,游戏名为Lophis roguelike,中文翻译名洛菲斯的呼唤

但是这个与月圆之夜有所不同,如果失败了,只能从开头重新开始打,可以复活,但是需要灵魂点,灵魂点只能通过购买获得,然后它里面的购买是通过谷歌购买的,所以无法购买,我需要灵魂点,这可怎么破呢?

破解思路

首先查看了一下游戏类型,按照我之前的那一篇帖子,可以发现,这款游戏是采用了mono方式的Unity3d游戏,nice,可以开始我们的工作了。

我之前的博客
王牌大作战破解

目的

破解之前, 先明确一下我们破解要达到的目的。

1. 去除签名验证

2. 去除谷歌服务的提示框

3. 通过dll破解修改灵魂点

去除签名验证

把原版的丢到Androidkiller中,什么都不做,之后再次生成apk,安装打开发现进不去,然后闪退,弹出了一个选择应用市场的的对话框

我猜测应该是有个签名验证,它发现这个游戏不是原版的游戏,就直接退出游戏,让我们到应用市场下载正版的游戏

我们通过一款工具即可去除签名验证(也就是MT管理器作者开发的工具)

ApkSignatureKiller

具体说明进入上面的网页就可以看到,这里不多说,唯一注意的是,工具需要的环境是java1.8

去除签名验证之后,安装之后,发现可以正常打开了,我们就可以进行下面的操作。

去除谷歌服务的提示框

打开游戏,由于未安装有谷歌服务,就会弹出一个提示框,感觉每次都要点击,很麻烦,就把这个提示框去掉吧

通过百度,了解到了,一般开发者都是通过GoogleApiAvailability类的getErrorDialog()这个方法从而弹出官方提供的对话框

我们直接在Androidkiller中直接搜索这个getErrorDialog方法,之后找到GoogleApiAvailability,这个就是我们要找的。

直接进去返回void,也就是在方法开始之前添加这行代码return-void

需要注意的是,由于参数不同,可能存在有多个getErrorDialog方法,我们也不必纠结,全部修改retun-void

修改灵魂点

直接使用dnspy工具打开dll文件,搜索soul(因为游戏有英文版本,我们就可以通过提示来获得道具的名称)

上图中的第二个就是我们需要的,进去就可以找到一些修改soul的方法

不过修改之后,我发现没有效果,那就继续改其他的方法。

嗯,发现成功了,而且,这里由于是固定返回,所以不管每次使用了多少,一直都是5000灵魂石,哈哈

测试结果


下载地址

破解版: 链接: https://pan.baidu.com/s/1o7Jm5Kf2BY3hBX6wraV-ig 提取码: hhag

原版:链接: https://pan.baidu.com/s/1-C_vDS6sTfNfWX8lv8yyMw 提取码: g4vp

posted @ 2019-01-05 16:39  Stars-one  阅读(8659)  评论(0编辑  收藏  举报