Android破解学习之路(十四)——【Unity3D】王牌大作战破解

发布时间:2018-12-22 11:09  浏览次数:153

一、前言

今天带来的是王牌大作战的破解教程,游戏下载的话,我是直接去TapTap官网下载的

支付宝内购破解用老套了,今天学点破解的新花样吧!!

二、支付宝内购破解

支付宝的内购破解已经很熟悉了, 直接搜索“9000”,之后找到代码,修改判断条件即可,若不明白,请看我之前写的博客,Android破解之路的学习

三、Unity3D破解

PS:破解之前先提醒一下,并不是所有的Unity3D游戏都可以使用本方法进行破解,要满足一个条件

是采用Mono打包方式的Unity3D游戏

判断是否满足条件

*
判断是否为Unity3D游戏

首先,如何判断当前的游戏是不是Unity3D游戏,怎么判断呢?

Androidkiller就是自带有个分析功能,可以判断当前的游戏是Unity3D还是cocos2D游戏

用过Androidkiller软件的朋友都知道,Androidkiller反编译完成之后,就会提示是否分析文件,这个功能就是分析当前的apk使用的游戏引擎是
unity3d还是cocos2d

 
 

*
是否采用Mono打包方式

我们通过观察asset文件夹是否包含有Assembly-CSharp.dll这个文件就可以判断是否采用mono方式,有就是采用了mono方式,没有就不是

之后到工程管理器去查看一下是否有Assembly-CSharp.dll这个文件
 
如果有,则确定这游戏是采用Unity的Mono打包方式的游戏

使用的软件:

*
Androidkiller

*
dnSpy

简单介绍一下dnSpy,dnSpy软件可以反编译dll文件,可以修改.net程序,网上都找得到,这里就不放软件链接了。

破解

Unity3D游戏里的获得金币和获得钻石等等的方法,还有相关的游戏资源都是在这Assembly-CSharp.dll文件里面了,我们可以使用dnSpy
软件对dll进行反编译,dll文件原本也是使用C#这个编程语言开发的,属于.net开发

我下载的dnSpy好像挺新的,我打开的时候提示要下载.net 框架,下载完之后就可以打开了

*
反编译Assembly-CSharp.dll文件

打开dnSpy软件,把Assembly-CSharp.dll拖进去,展开,我们可以看到有许多的资源
 

这么多,我们也一个个打开的开,难免头大,这时候还是得使用搜索大法

*
搜索关键字coin

我们是准备修改金币, 那么直接搜索coin(按下crtl+shift+k搜索)

搜索coin,之后还是有很多结果,我们稍微看一下右边,有个GameData.Resources,
resources就是资源的意思,可能就在这里面,我们点击进去看看
 

我们可以找到Resource,展开目录,就可以看见Star,Coin这些关键字,其实这些就是金币,星星的数量,里面还有有get_coin方法,字面意思就是获得金币,我们进方法里面瞧瞧
 
 

*
修改代码

修改有两种方法,一种是直接右键,选择编辑方法,另外一种则是修改IL指令
 

开始的时候,我是选择了编辑方法,但是修改之后,点击编译,之后就报错了
 
上网一查,了解到,有些dll资源混淆了,无法直接编辑方法

编辑方法无法修改的话,只能通过IL指令修改了

然后我又去看了IL指令IL指令集 <https://www.52pojie.cn/thread-253232-1-1.html>

看了好久,才发现我想要的那一条指令
Ldc.I4 将所提供的 int32 类型的值作为 int32 推送到计算堆栈上。

我们点击IL指令,查看当前方法的IL指令
 

我们使用Ldc.I4 方法,写上10000(之前写9999,进入到游戏只有1000金币),点击Ldc.I4.0,然后会出现下拉菜单,选择Ldc.I4方法
 
点击确定之后,我们可以看到代码变了
 
改完金币之后,我们还可以修改其他的星星的数目,还有皇冠的数目,修改完毕之后,点击文件菜单,选择保存模块

之后,使用Androidkiller删除一下发送短信等垃圾权限,反编译,安装,可以看到我们修改成功了。

四、测试截图

 

 

下载地址:

王牌大作战破解版:
链接: https://pan.baidu.com/s/1y9ad2aBMbmzAwgR5Tm3s1Q
<https://pan.baidu.com/s/1y9ad2aBMbmzAwgR5Tm3s1Q> 提取码: m82r

其他工具相关

标签

归档

阅读排行