吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.40881110.com

 ?#19968;?#23494;码
 注册[Register]
搜索
查看: 8462|回复: 70

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

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

破解第一步,我们应该知道我们的目标apk是使用寿命引擎开发的,这个可以使用Androidkiller的APK查壳工具或者按?#31449;?#39564;判断;
作者就是按照自己的经验来判断,我们用压缩包打开apk,首先查看lib文件夹,没有发现lua相关的so库,可以排除cocos2d的可能
1.jpg
再观察assets\bin\Data\Managed目录,发现存在Assembly-CSharp.dll(不懂这个文件的可以在论坛搜索一下,一般游戏的主逻辑都写在这个文件里面的)文件,一般可以确定是unity3d开发的;
2.jpg

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

在确定apk的壳之后,我们也稍微浏览一下其他的文件,虽然一般没有什么其他的东西,但是有时候就会给你个惊喜,?#28909;?#35828;这个apk,我们在资源文件夹下面发现一个一般不存在的目录:JsonFile,里面的文件都是txt文件,打开一个一看,很明显,这些都是游戏的配置文件,结合游戏,career.txt就是游戏的初始化文件了:
4.jpg
里面?#38382;?#25110;许我们看不懂,不过hp/mp什么的大家都知道是什么吧,其余的?#38382;?#29992;谷歌翻译一下就大概明白了;
看到这个文件,初始化修改就算完成了,至于修改数值,都是看个人喜好了!

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

按?#31449;?#39564;,这类游戏的主要玩法就是闯关以?#21543;?#33633;,我们先搜索一下战斗fight,不想,却找到一个关键函数:public void AddGoods(int goodsID, int goodsNum)这种函数命名,一般都是增?#28216;?#21697;或者金钱的函数,我们追踪一下到底是?#20999;?#20989;数调用了它,一般就可以追踪到奖励结算关键函数
5.jpg

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

我们?#26469;?#24448;下看它的逻辑,逻辑主要分为4大部分,奖励值初始化、结果判断、奖励计算、结算奖励;
7.jpg

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

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

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


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


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


接下来,我们要寻找扫荡的关键函数了,在GameOverView函数里面,我?#20405;?#36947;了玩家经验的结算方法是UtilityFunc.AddPlayerExp(int),我们继续追踪此方法,看看还有?#20999;?#26041;法调用了此方法:
10.jpg
我们找到了两个方法调用了AddPlayerExp,按照方法名理解的话,GoodsByChapter()为章节奖励(闯关),GoodsByEnemy()为挑战敌人奖励;
我们选取GoodsByChapter查看,可以看出一下奖励计算公式:
11.jpg
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-扫?#21019;问?3的随机整数)+扫?#21019;问?#30340;平方根取整
int num = 1;
num += 10 * role.level / 2;
num = num * this.saoDangTimes / 10;
UtilityFunc.AddPlayerExp(num);
玩家的经验奖励计算公式为:(1+10*(玩家等级/2))*(扫?#21019;问?10)
int num2 = 1;
num2 += role.level / 10;
num2 = num2 * this.saoDangTimes / 10;
UtilityFunc.ChangePointGoods(PointGoodsType.PointGoodsWXD, num2);
玩家的武侠点奖励计算公式为:(1+玩家等级/10)*(扫?#21019;问?10
其他的计算公式大家自己研究吧,看完这些计算公式,我表示,肝不够,不修改怎么玩....


好?#23665;?#22825;的教程到此结束,明白了这些游戏逻辑,相信大家也应该可以破解该系列的其他游戏了;
放一下成品链接:http://www.40881110.com/thread-913123-1-2.html

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

免费评分

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

查看全部评分

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

gprs753951 发表于 2019-3-28 12:25
?#34892;?#22823;佬分享,很?#19981;?#27494;侠题材,可以消磨时间,又可以避开策划的阴谋。
萧仙寻 发表于 2019-3-28 00:06
luoawai123 发表于 2019-3-28 00:27
?#34892;?#20998;享
yushangwl 发表于 2019-3-28 00:42
学习中学习中
空武4713 发表于 2019-3-28 04:06
?#34892;?#20998;享
qdshen 发表于 2019-3-28 06:50
?#34892;?#20998;享破解经验
隔壁王小菜 发表于 2019-3-28 07:16
为?#24230;?#27492;优秀,?#34892;?#20998;享
as3855738 发表于 2019-3-28 07:49
?#34892;?#22823;佬分享,武侠题材的游戏一直是我的最爱
wylksy 发表于 2019-3-28 08:01
?#34892;?#20998;享
您需要登?#24049;?#25165;可以回帖 登录 | 注册[Register]

本版积分规则 警告:禁止回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2019-7-21 18:04

Powered by Discuz!

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表
球探网篮球指数
福建十一选五任三 贵州11选5基本走势图百度 浙江风采超级大乐透走势图超长版 南宁娱乐场所排名 福彩字谜 3d精英.彩票论坛 六肖中特不改料 一码中特今已免费大公开参考 双色球带坐标连线表图 山西快乐10分开奖直播现场 欢乐斗地主怎么得豆 五分彩骗局可以报警吗 华东15选5杀号 百宝彩票泳坛夺金 辽宁11选5前三跨度走势图带连线