stars-one 发表于 2019-1-25 23:11

国王之手(King Crusher)锁定钻石破解教程+解决Androidkiller无法进行下一步签名问题

本帖最后由 stars-one 于 2019-1-26 13:31 编辑

### 前言

今天这个破解和之前的一样,但是,修改完之后无法进行编译,折腾了一下午,找到了解决方法,特来发个帖子

### 使用的软件
- Androidkiller
- android逆向助手2.2(百度上搜索一下吧,我这里就不放链接了)
- MT管理器
### 破解

简单地提一下破解的过程吧

查看了一下,是mono的打包的unity游戏,可以开工了

我们搜索gem(宝石),为什么能知道这个关键字呢?

**这里说个小技巧吧,有些游戏是多语言版的,我们可以把游戏的语言设置为英语,从而找到道具的英文名,这样我们就可以获得关键字啦**



搜索gem,出现了许多方法和字段,我们一个个看,可以看到,有两个get_Gem的方法,

我们不知道要改哪一个,那么都改吧,改成99999,即是固定了99999,之后不管怎么使用都不会变



之后进行使用Androidkiller反编译,失败了



看了一下错误信息,好像是有些xml文件出现错误了,找了些资料,没有找到解决方法,问题大概是资源文件引起的

### MT管理器成功解决问题

忽然想到了MT管理器,拿这个试一下吧

我们电脑修改的是`Assembly-CSharp.dll`文件,但是这个好像引用了其他的dll文件,所有,为了以防万一,我们最把整个`Managed`文件夹打包成压缩包,之后传到手机里,解压缩,把里面的所有文件都通过MT管理器放在同一个文件夹中



上图中,左边是使用MT管理器打开的apk文件,进入到了`asset/bin/Data/Managed`文件夹,右边则是我们在电脑拷贝的

之后需要进行签名,成功安装,宝石也成功修改了

### 借鉴MT管理器破解思路,使用电脑解决问题

但是我熟悉的环境是电脑,MT管理器虽然成功解决了我的使用Androidkiller无法进行编译的问题,但是我还是喜欢用电脑来进行破解(不会告诉你其实是没钱买MT管理器VIP)

之前也是提到了,出现了Androidkiller无法编译的问题的原因是因为资源文件引起的,既然MT管理器能够解决,那么电脑也是应该有不办法的

观察了一下MT管理器的修改方式,我找到了答案。

MT管理器其实是避开了对资源文件的反编译,既然没有反编译,那么自然谈不上编译了,也就是绕开了资源文件,只对其他部分进行了修改

简单地描述一下MT管理器的破解过程:

首先,把apk文件当作压缩包打开,之后反编译dex文件,得到相关的smali代码,修改代码,回编译为dex文件,之后,对apk进行签名

思路来了,**我们电脑上也是像MT管理器那样,把apk文件当作压缩包修改,不对资源文件进行反编译,即可解决问题**

#### 流程:
1. 使用Androidkiller进行反编译
      
2. 和之前一样,修改smali代码或者是dll文件
      
3. 使用压缩软件打开apk文件,准备往里面丢文件
      
3. 如果是修改了dll文件,把整个Managed文件夹都丢进去,注意是相同的目录
4. 修改了smali代码的话,得把整个smali文件夹打开,使用android逆向助手的重打包dex文件功能,生成dex文件

5. 使用android逆向助手的替换dex功能,替换apk里面的dex文件,(也可以自己把dex文件名字修改为classes.dex,丢进压缩包目录里面),之后签名apk

**另外一种解决方法,是评分的大佬提出来的,在此感谢一下,@lzc090 ,其实是AndroidManifest.xml中的sdk出现的问题,把下图中的两个属性代码删除即可,亲测成功!**

### 测试截图



### 后话——去除广告
我们到dnspy里面搜索关键字ads,有有个方法名就是NoAds,返回的类型是bool,我们让其一直返回true即可达到无广告的目的

除此之外,游戏闯关里面,可以点击广告来获得金币,但是我不想看广告,使用开发者助手获取到广告界面的Activity的名字,直接到Androidkiller里面搜索这个关键字adunitActivity,之后找到一个方法**createVideoPlayer**

直接在第一行返回void return-void,即可达到目的


[国王之手破解版](https://www.52pojie.cn/thread-858903-1-1.html)
https://www.52pojie.cn/thread-858903-1-1.html

@lzc090

stars-one 发表于 2019-1-26 12:17

yanhua0011 发表于 2019-1-26 02:55
请问      使用android逆向助手的替换dex功能,替换apk里面的dex文件,(也可以自己把dex文件名字修改为clas ...

这个替换dex的功能是把原来apk里面的那个dex给替换成了我们之前生成的smali.dex

yanhua0011 发表于 2019-1-26 02:55

请问      使用android逆向助手的替换dex功能,替换apk里面的dex文件,(也可以自己把dex文件名字修改为classes.dex,丢进压缩包目录里面),之后签名apk
这里 其中的替换dex是把 smali.dex替换成什么? 可否有具体的操作过程。 谢谢

183595412 发表于 2019-1-25 23:45

谢谢。楼主辛苦了

CrazyNut 发表于 2019-1-26 00:12

0.0Unity mono打包的为什么需要用AK反编译的呢。。 我都只是用AK来签一下名

q01081122 发表于 2019-1-26 08:11

下载试试

rishellelsn 发表于 2019-1-26 08:49

皓哥阿 发表于 2019-1-26 10:59


感谢楼主分享

stars-one 发表于 2019-1-26 12:14

CrazyNut 发表于 2019-1-26 00:12
0.0Unity mono打包的为什么需要用AK反编译的呢。。 我都只是用AK来签一下名

要去除谷歌服务错误的那个提示框,得改smali代码,还有添加Toast弹窗,也得修改代码

stars-one 发表于 2019-1-26 12:32

rishellelsn 发表于 2019-1-26 08:49
感谢楼主分析,顺便问下签名的动漫啥名字?

随便找的一张动漫图片,名字不知道。。可能不是动漫里的吧
页: [1] 2 3 4
查看完整版本: 国王之手(King Crusher)锁定钻石破解教程+解决Androidkiller无法进行下一步签名问题