【考古教程】笑傲江湖130十门派绝学端技能冷却时间修改教程_淘多多

【考古教程】笑傲江湖130十门派绝学端技能冷却时间修改教程_淘多多

源码学习淘多多2021-07-31 2:44:32A+A-


本帖最后由 先唱歌 于 2021-7-31 00:09 编辑
首先说明背景:大家好,本人接近4年没接触这个游戏,看到论坛里好多朋友想要知道技能冷却时间修改的原理,也就是修改这个游戏服务端里面的libskill.so,这个文件关于游戏里面的技能冷却时间。



本文完全原创,无污染,所有图片皆来自图床。



所用到的文件和工具:
1.  libskill.so(不就是搞这个吗,肯定需要的啊)
2.  IDA pro随意个版本(我用的是7.5,版本多少问题不大,但是软件必须,搞这种静态反汇编必须要的啊)
3.  010Editor编辑器(其实找个16进制编辑器就行了,hex,ue什么的都可以,选择010的想法也是用的比较多)
4.  在线进制转换工具
我用的是这个 (网上随便搜一个,需要用到的是16进制转10进制,用来看初始冷却时间)
5.  el编辑器及其element
6.  skill编辑器及其skill




Q:有些朋友会问,这些去哪找呢?
A:我打包好了呢,都在下面网盘链接里;在线进制转换工具我用的是菜鸟教程的。


Q:以下用来举例的libskill.so这个文件来源自哪儿?
A:因为我太久没接触了,所以我用的是论坛里@touchas的分享的文件。他这个libskill.so中27种绝学都改了,但是门派技能没改,所以今天来分析分析怎么改门派冷却。




ps:架了一个随便找来的端,里面一塌糊涂,一开始205,然后看商场物品也买不了,没同步,emmmm,跑题了,能放出技能就行了。我录了两个武当无冷却的测试视频在网盘,可以看看我这渣操作。




分析思路及步骤:(以武当技能"扭转乾坤"为例)
1. 找到需要修改的这个技能的id
2.用IDA pro反汇编这个libskill.so文件,主要目的是找到技能冷却时间数据存放地址,不需要太多的IDA知识
3.用010编辑器跳转到这个技能冷却时间数据存放地址
4.打开服务端替换文件libskill.so(这一步略)


逐条分析:
第一条. 找到需要修改的这个技能的id
方法一用skill编辑器编辑skills.date,找到你所需要的技能id
步骤1:用skill编辑器加载skills.date,用他的搜索功能——按编辑框,第一个框输入4,第二个输入你想修改的技能名称,这里以以武当技能"扭转乾坤"为例,
输入扭转乾坤
步骤2:在搜出的内容中找出真正的id
步骤3:点击这个真正的id,打开看看,发现一个规律:第4项是说明,第36、37、38等项是技能动作,而且第2项还写着通用技能。
步骤4:记下这个id


方法二:用el编辑器编辑element.date,找到你所需要的技能id
同理的,看图就懂


方法三直接用我给的文件:十大门派技能的element的id,再用编辑器查找id看第52项,看方法一
需要注意的是:d_cmd 2024 38015中"38015"是element的id,需要去el编辑器查找,这样很精准

通过三种方法中的任一种,我们找到了技能“扭转乾坤”的id是4559.


第二条.用IDA pro反汇编这个libskill.so文件,主要目的是找到技能冷却时间数据存放地址
需要说明的是:IDA反汇编成.idb文件分析过程要好长时间,需要耐心等待,如果不想等的话可以用网盘里的(第二步文件夹里的"IDA解开的数据——libskill.so.idb"),.so文件最后得到也是是idb,所以直接打开这个分析。

步骤1:用IDA打开libskill.so.idb(这个是我打开libskill.so等了好久得来的)或者libskill.so(打开这个要等超级久)


步骤2:打开之后,进入IAD窗口如下图


如果窗口不是这样的,请看下图点击IDAReset desktop



步骤3:用IDA的函数窗口(在第2步图中是最左边的窗口),通过函数名的查找锁定冷却时间
(以“扭转乾坤”4559为例)





分析怎么样才能找到目标函数?
猜想经过一些猜想,这个函数肯定含有 “扭转乾坤” 技能ID4559。




步骤1:我们把鼠标点一下函数窗口任意内容,直接右键查找或者按快捷键ctrl+f,看下图





步骤2:然后在下面的框框里面输入“扭转乾坤”技能id:4559,出来好多条函数(看不懂啊), 别着急,不需要看懂。



结果是不是特别明显了啊,冷却时间的英文是:Cool down Time(记得分开读)




步骤3:点击这个函数WMSKILL::Skill4559Stub::_GetCooldownTime



进去之后把目光放在4559
GetCooldownTime
找到含有这两个的地方如下图,锁定我们的目标cooldown

图中E640笔误,圈出的是应该是0EA60h






步骤四:查看0EA60h这个数的地址,先用IDA内置的hex看看


我们把 EA60进行16进制转化得十进制得是60000,经验告诉我们,单位是ms(毫秒),换成s就是60s(秒),看下图




用鼠标选中 0EA60h,然后点击hex窗口


进入hex窗口,找到0EA60h这个数的地址
注意要把光标放在 60 EA的开头,也就是 EA 60反过来读


最后箭头放大是下图的地址0 5945F2Ch


至此,找到了 找到技能“ 扭转乾坤 ”技能冷却时间 数据存放地址 0 5945F2Ch





第三条.用010编辑器打开libskill.so(这个我们要放到服务端里,让无冷却生效),不是.idb结尾的,跳转到这个技能冷却时间数据存放地址05945F2Ch


按照下图找到“搜索”——“转到”按钮输入 5945F2Ch(最前面的0去掉)
或者直接按ctrl+G也行


输入5945F2Ch(最前面的0去掉),如图


得到以下结果





数值0EA60h的地址是5945F2Ch
地址5945F2Ch的存放的数值是0EA60h

用我们以上分析翻译一下:技能“扭转乾坤”的冷却时间是60s,这个在游戏里看得到确实是60s,而这个60s转换为毫秒,再变成16进制就是 0EA60h, 经过IDA的逆向分析, 得到 技能“扭转乾坤”的冷却时间放在 5945F2Ch
故我们修改这个地址的数值就行了。




最后一步
把地址 5945F2Ch 的数值改成0,如下图


修改之后记得按下保存



分享一个小技巧:用IDA搜索技能id冷却时间的时候:直接用这个  SkillidStub::_GetCooldownTime
中间的这个换成你想改动的技能id,例如:Skill8568 Stub::_GetCooldownTime
8568是技能“ 却步抽剑 ”的技能id(也就是skill.date里面的或者是el编辑器确定的第52项,详细看前文)


下面列出武当全部技能id和技能在libskill.so中冷却时间的地址 武当技能(22个)             id                    地址 野马分鬃                         8464                3853BD8h         却步抽剑                         8568                3853FF6h                魁星指南                         4889                3F3B36Eh         伏虎挑帘                         2658                4303C94h         御剑飞仙                         2674                430438Eh         车轮剑                            4555                47DDBEAh         三环套月                         4891                482A96Ah         宿鸟投林                         8596                49CD244h         海底捞月                         2508                4B1BEC2h         寒冰剑气                         4556                4C1AAC8h         青龙摆尾                         4892                4C61186h         风扫梅花                         8581                4E04FD8h         万岳朝宗                         2661                4FA51CEh         真元护体                         4557                 5058152h         迎风掸尘                         4893                 509AF14h         风卷荷叶                         8566                 52C5FACh         翻江搅海                         1374                 53B0EB4h         重剑无锋                         2510                 541E6FCh         顺水推舟                         2662                 5456C54h         燕子掠波                         8567                 56FAAB0h         扭转乾坤                          4559                5945F2Ch         先天八卦剑(怒气技能)  6105                3B7D5B0h


感谢大家的阅读,文上所述文件分享给大家,照着这个思路去试试把! 链接:https://pan.baidu.com/s/1R2w3EJPiU0uCE_RL4TfITg 提取码:iopq


感谢及结语 感谢@touchas的分享的文件和@a540973616的这篇文章的启发 有不懂的地方,可以留言问,我看到肯定会回答的。 好久没发文章了,话说论坛啥时候弄下markdown呢! *转载请标明来源,谢谢~~~~*


来源:游戏藏宝湾 - http://www.iopq.net

【淘多多】一站式阅读,让资源共享起来!

淘多多(www.113x.com)资源头条|资源猫|源码库|无毒软件-实时分享第一福利网,每日同步几十个站点福利资讯,帮你快速找到免费销售营销学习、最新福利活动、网络赚钱思路、软件下载、网络自学技术、网络流行语、源码下载学习、创意手工等等,努力打造成菜鸟技术爱好者们喜欢的网络大型免费资源分享平台。

点击这里复制本文地址 以上内容由淘多多整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问或者侵权,请联系我们,邮箱:x113com@outlook.com 谢谢!

支持Ctrl+Enter提交

淘多多资源 © All Rights Reserved.  Copyright Your WebSite.Some Rights Reserved.
Powered by 爱美儿科技有限公司 Themes by
联系我们| 网站地图| 蜘蛛池