欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2022-03-24 14:04:43
一、前言 今天带来的是王牌大作战的破解教程,游戏下载的话,我是直接去TapTap官网下载的 支付宝内购破解用老套了,今天学点破解的新花样吧!! 二、支付宝内购破解 支付宝的内购破解已经很熟悉了, 直接搜索“9000”,之后找到代码,修改判断条件即可,若不明白,请看我之前写的博客,Android破解之 ......

一、前言

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

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

二、支付宝内购破解

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

三、unity3d破解

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

是采用mono打包方式的unity3d游戏

判断是否满足条件

  1. 判断是否为unity3d游戏

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

    androidkiller就是自带有个分析功能,可以判断当前的游戏是unity3d还是cocos2d游戏

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

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

  2. 是否采用mono打包方式

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

    之后到工程管理器去查看一下是否有assembly-csharp.dll这个文件
    Android破解学习之路(十四)——【Unity3D】王牌大作战破解 
    如果有,则确定这游戏是采用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拖进去,展开,我们可以看到有许多的资源
    Android破解学习之路(十四)——【Unity3D】王牌大作战破解 

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

  2. 搜索关键字coin

    我们是准备修改金币, 那么直接搜索coin(按下crtl+shift+k搜索)
    Android破解学习之路(十四)——【Unity3D】王牌大作战破解

    搜索coin,之后还是有很多结果,我们稍微看一下右边,有个gamedata.resources,resources就是资源的意思,可能就在这里面,我们点击进去看看
    Android破解学习之路(十四)——【Unity3D】王牌大作战破解 
    我们可以找到resource,展开目录,就可以看见star,coin这些关键字,其实这些就是金币,星星的数量,里面还有有get_coin方法,字面意思就是获得金币,我们进方法里面瞧瞧
    Android破解学习之路(十四)——【Unity3D】王牌大作战破解 
    Android破解学习之路(十四)——【Unity3D】王牌大作战破解 
  3. 修改代码

    修改有两种方法,一种是直接右键,选择编辑方法,另外一种则是修改il指令
    Android破解学习之路(十四)——【Unity3D】王牌大作战破解 

    开始的时候,我是选择了编辑方法,但是修改之后,点击编译,之后就报错了
    Android破解学习之路(十四)——【Unity3D】王牌大作战破解 
    上网一查,了解到,有些dll资源混淆了,无法直接编辑方法

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

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

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

    我们点击il指令,查看当前方法的il指令
    Android破解学习之路(十四)——【Unity3D】王牌大作战破解 

    我们使用ldc.i4 方法,写上10000(之前写9999,进入到游戏只有1000金币),点击ldc.i4.0,然后会出现下拉菜单,选择ldc.i4方法
    Android破解学习之路(十四)——【Unity3D】王牌大作战破解 
    点击确定之后,我们可以看到代码变了
    Android破解学习之路(十四)——【Unity3D】王牌大作战破解 
    改完金币之后,我们还可以修改其他的星星的数目,还有皇冠的数目,修改完毕之后,点击文件菜单,选择保存模块

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

四、测试截图

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

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

下载地址:

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