吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 22580|回复: 79
上一主题 下一主题
收起左侧

[Android 原创] taptap热游-江湖中的我 破解流程

  [复制链接]
跳转到指定楼层
楼主
taohong89 发表于 2019-3-27 23:43 回帖奖励
这个游戏是所谓系列的一个游戏,全系列我看了下,逻辑基本上没有改变,so,看了这个教程,这个系列的游戏都应该可以自己修改这玩了;
taptap链接:https://www.taptap.com/app/157467

破解第一步,我们应该知道我们的目标apk是使用寿命引擎开发的,这个可以使用AndroidKiller的APK查壳工具或者按照经验判断;
作者就是按照自己的经验来判断,我们用压缩包打开apk,首先查看lib文件夹,没有发现lua相关的so库,可以排除cocos2d的可能

再观察assets\bin\Data\Managed目录,发现存在Assembly-CSharp.dll(不懂这个文件的可以在论坛搜索一下,一般游戏的主逻辑都写在这个文件里面的)文件,一般可以确定是unity3d开发的;


找到这个文件之后,一般情况下,单机游戏的Assembly-CSharp.dll都不会加密的,如果遇见加密的,可以参考chinamima大大的unity3d手游破解系列文章:
unity3d手游破解(一):https://www.52pojie.cn/thread-728205-1-1.html
unity3d手游破解(二):https://www.52pojie.cn/thread-729864-1-1.html
unity3d手游破解(三)--基于inline hook:https://www.52pojie.cn/thread-730806-1-1.html

在确定apk的壳之后,我们也稍微浏览一下其他的文件,虽然一般没有什么其他的东西,但是有时候就会给你个惊喜,比如说这个apk,我们在资源文件夹下面发现一个一般不存在的目录:JsonFile,里面的文件都是txt文件,打开一个一看,很明显,这些都是游戏的配置文件,结合游戏,career.txt就是游戏的初始化文件了:

里面参数或许我们看不懂,不过hp/mp什么的大家都知道是什么吧,其余的参数用谷歌翻译一下就大概明白了;
看到这个文件,初始化修改就算完成了,至于修改数值,都是看个人喜好了!

然后,我们使用dnSpy(工具在爱盘里面有,直接搜索dnSpy)加载Assembly-CSharp.dll,加载完成后如下面:


按照经验,这类游戏的主要玩法就是闯关以及扫荡,我们先搜索一下战斗fight,不想,却找到一个关键函数:public void AddGoods(int goodsID, int goodsNum)这种函数命名,一般都是增加物品或者金钱的函数,我们追踪一下到底是那些函数调用了它,一般就可以追踪到奖励结算关键函数


果然,找到了private void GameOverView(bool isEnemyDead, bool isPlayerDead)的函数,函数的主要功能是在战斗结束以后进行结算,看了下逻辑,主要是在闯关结束以后的结算逻辑;


我们依次往下看它的逻辑,逻辑主要分为4大部分,奖励值初始化、结果判断、奖励计算、结算奖励;


选取武侠点为大家讲解一下这个流程:
首先:奖励初始化  int num3 = 0;
结果判断:
    判断位置:
      
     这段代码的先判断战斗类型,如果类型为-2,就进入1V1的结算流程

    死亡判断:
   
    这段代码判断是否是敌人死亡,如果敌人没有死,里面有个关键点,num5 = -100 (就是扣100的声望)

奖励计算:num3 += UnityEngine.Random.Range(15, 25);
15-25之间随机一个整数赋值给num3;


结算奖励:UtilityFunc.ChangePointGoods(PointGoodsType.PointGoodsWXD, num3);
调用UtilityFunc.ChangePointGoods方法,参数1为奖励类型,参数2为奖励数量;


这样就完成了武侠点的奖励结算,其他的奖励都是如此计算,大同小异而已!!!


接下来,我们要寻找扫荡的关键函数了,在GameOverView函数里面,我们知道了玩家经验的结算方法是UtilityFunc.AddPlayerExp(int),我们继续追踪此方法,看看还有那些方法调用了此方法:

我们找到了两个方法调用了AddPlayerExp,按照方法名理解的话,GoodsByChapter()为章节奖励(闯关),GoodsByEnemy()为挑战敌人奖励;
我们选取GoodsByChapter查看,可以看出一下奖励计算公式:

int changeNum = UnityEngine.Random.Range(1, this.saoDangTimes / 3) + (int)Mathf.Sqrt((float)this.saoDangTimes);
int changeNum2 = UnityEngine.Random.Range(1, this.saoDangTimes / 3) + (int)Mathf.Sqrt((float)this.saoDangTimes);
UtilityFunc.ChangeGoods(46, changeNum2);
UtilityFunc.ChangeGoods(47, changeNum);
物品46与47的奖励计算公式为:(1-扫荡次数/3的随机整数)+扫荡次数的平方根取整
int num = 1;
num += 10 * role.level / 2;
num = num * this.saoDangTimes / 10;
UtilityFunc.AddPlayerExp(num);
玩家的经验奖励计算公式为:(1+10*(玩家等级/2))*(扫荡次数/10)
int num2 = 1;
num2 += role.level / 10;
num2 = num2 * this.saoDangTimes / 10;
UtilityFunc.ChangePointGoods(PointGoodsType.PointGoodsWXD, num2);
玩家的武侠点奖励计算公式为:(1+玩家等级/10)*(扫荡次数/10
其他的计算公式大家自己研究吧,看完这些计算公式,我表示,肝不够,不修改怎么玩....


好吧今天的教程到此结束,明白了这些游戏逻辑,相信大家也应该可以破解该系列的其他游戏了;
放一下成品链接:https://www.52pojie.cn/thread-913123-1-2.html

最后:新人求罩,求打赏,免费的都不放过!!!

免费评分

参与人数 51吾爱币 +52 热心值 +47 收起 理由
dspring + 1 + 1 热心回复!
freedom0104 + 1 + 1 谢谢@Thanks!
rookie101 + 1 + 1 热心回复!
ZHANZHl + 1 + 1 热心回复!
半颗糖▲∝ + 1 + 1 热心回复!
s2390548 + 1 我很赞同!
耳食之辈 + 1 谢谢@Thanks!
Kan刊 + 1 + 1 谢谢@Thanks!
暴脾气 + 1 热心回复!希望能多出这类的游戏
alien11 + 1 我很赞同!
清风还有雨 + 1 + 1 谢谢@Thanks!
fabrice + 1 用心讨论,共获提升!
qtfreet00 + 9 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
OMGone1 + 1 + 1 我很赞同!
galet + 1 谢谢@Thanks!
54zsloy + 1 + 1 我很赞同!
zjx2003tj + 1 我很赞同!
0x66757475 + 1 + 1 谢谢@Thanks!
Distance99 + 1 谢谢@Thanks!
anylin + 1 用心讨论,共获提升!
as494 + 1 + 1 谢谢@Thanks!
xb0wxh + 1 + 1 谢谢@Thanks!
waiting91 + 1 + 1 用心讨论,共获提升!
ttlsky + 1 + 1 感谢大佬分享
Slibre.Pla + 1 谢谢@Thanks!
一方鱼儿 + 1 + 1 一看就是大佬,关注+1
笙若 + 1 + 1 谢谢@Thanks!
冷意灰心 + 1 + 1 用心讨论,共获提升!
maskito + 1 + 1 谢谢@Thanks!
kxdao123 + 1 我很赞同!
snpan + 1 + 1 谢谢@Thanks!
overload-sama + 1 + 1 我很赞同!
gprs753951 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
lunker2019 + 1 + 1 我很赞同!
AlonzoTooTwo + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
测可2335 + 1 + 1 热心回复!
无痕的心 + 1 + 1 谢谢@Thanks!
qaz003 + 1 + 1 谢谢分享....继续肝..哈哈
sunnylds7 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
helloEIp + 1 + 1 我很赞同!
693613898 + 2 + 1 我很赞同!
iso + 1 + 1 我很赞同!
ya979 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
打字的小强 + 1 + 1 我很赞同!
Cloudx + 1 谢谢@Thanks!
mrgodxinlu + 1 + 1 用心讨论,共获提升!
laoda1228 + 1 + 1 用心讨论,共获提升!
as3855738 + 1 + 1 谢谢@Thanks!
D莫由 + 1 + 1 用心讨论,共获提升!
posspoer + 1 + 1 谢谢@Thanks!
萧仙寻 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
萧仙寻 发表于 2019-3-28 00:06
谢谢分享
3#
北岛未 发表于 2019-3-28 00:19
头像被屏蔽
4#
luoawai123 发表于 2019-3-28 00:27
5#
yushangwl 发表于 2019-3-28 00:42
学习中学习中
6#
空武4713 发表于 2019-3-28 04:06
感谢分享
7#
qdshen 发表于 2019-3-28 06:50
感谢分享破解经验
8#
隔壁王小菜 发表于 2019-3-28 07:16
为啥如此优秀,感谢分享
9#
as3855738 发表于 2019-3-28 07:49
感谢大佬分享,武侠题材的游戏一直是我的最爱
10#
wylksy 发表于 2019-3-28 08:01
感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 15:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表