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

一、前言

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

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

二、支付宝内购破解

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

三、Unity3D破解

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

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

判断是否满足条件

  1. 判断是否为Unity3D游戏

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

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

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

     

  2. 是否采用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 框架,下载完之后就可以打开了

  1. 反编译Assembly-CSharp.dll文件

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

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

  2. 搜索关键字coin

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

    搜索coin,之后还是有很多结果,我们稍微看一下右边,有个GameData.Resources,resources就是资源的意思,可能就在这里面,我们点击进去看看
     
    我们可以找到Resource,展开目录,就可以看见Star,Coin这些关键字,其实这些就是金币,星星的数量,里面还有有get_coin方法,字面意思就是获得金币,我们进方法里面瞧瞧
     

  3. 修改代码

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

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

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

    然后我又去看了IL指令IL指令集

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

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

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

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

四、测试截图

下载地址:

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

posted @ 2018-12-22 11:09  Stars-one  阅读(4385)  评论(0编辑  收藏  举报