APK概述
CrakeMe03是一个放置休闲类型的养成游戏。 XXX水族馆基于Unity3D。
特此声明:本文只是用来学习使用,禁止用于商业或其他用途,违者后果自负!
这里分析两个版本的XXX水族馆。一个是历史版本 2016年的XXX水族馆。一个是新版本 1.18.3圣诞节版本
游戏主界面:
我们的目的是修改钻石和珍珠数量,这样才能愉快的玩耍!下面开始分析:
分析工具:
- Apktool 2.4.1
- Android Killer v1.3.1.0
- dnSpy v6.1.2
- IDAPro 6.8
2016历史版本
1.首先解包,把asserts/bin/data/Managed/Assembly-CSharp.dll 文件拖入 dnSpy中。
2.然后按照上节博客的那个属性图片对应的属性去 全局搜索。 这里我们就搜索 Gem,或者diamond试试。经过一番搜索,我们定位到了
HeartGenControl这个类,
initData这个函数,一般来说就是初始化游戏数据,给对应的字段赋值。
3.既然是在这里赋值,我们尝试下能不能直接赋值,
修改成功后记得保存!!!
4.下面我们来打包,签名,来看看结果吧。
好了修改成功,其他的属性应该也可以照葫芦画瓢修改。
1.18.3 圣诞节版本新版
1.解包,把对应的dll文件拉入,查看对应类中逻辑
逻辑还是差不多,可能加了其他校验。我们再用之前的方法试试看看能不能成功
果然出错了,直接修改赋值不成功了。应该是在其他地方加了校验。
- 那我们换个思路,跟进去GetString(“TotalGems”)看下逻辑
3.我们可以看到把 TotalGems当做key传入,然后解密后返回对应的字符串。那么我们可以这样做,在逻辑中写死返回的字符串,比如
4.最后,保存,打包,签名,我们来看下
总结: 在这种没有加密的dll文件中,修改思路就是搜索固定属性的名称,然后看代码逻辑再修改,多试试就可以。当然这只是简单的没有加密的Unity破解,比较简单啦。