12558网页游戏私服论坛

 找回密码
 立即注册
游戏开服表 申请开服
游戏名称 游戏描述 开服状态 游戏福利 运营商 游戏链接
攻城掠地-仿官 全新玩法,觉醒武将,觉醒技能 每周新区 经典复古版本,长久稳定 进入游戏
巅峰新版攻 攻城掠地公益服 攻城掠地SF 新兵种、新武将(兵种) 进入游戏
攻城掠地公 散人玩家的天堂 新开 进入游戏
改版攻城掠 上线即可国战PK 稳定新区 全新改版,功能强大 进入游戏
少年江山 高福利高爆率 刚开一秒 江湖水落潜蛟龙 进入游戏
太古封魔录 开服送10亿钻石 福利多多 不用充钱也可升级 进入游戏
神魔之道 签到送元宝 稳定开新区 送豪华签到奖励 进入游戏
神奇三国 统帅三军,招揽名将 免费玩新区 激情国战,征战四方 进入游戏
龙符 三日豪礼领到爽 天天开新区 助你征战无双 进入游戏
王者之师 免费领豪华奖励 免费玩新区 6元送6888元宝 进入游戏
查看: 327|回复: 0

任鸟飞谈逆向----《魔兽世界》技能遍历分析

[复制链接]
发表于 2019-8-23 13:59:49 | 显示全部楼层 |阅读模式
《魔兽世界》可以说是游戏史上技能数量最多的游戏了,而且每一个技能都不是鸡肋,那么完整的技能遍历就很重要了。对于技能的遍历来说,名字是最常见的突破口,首先我们选择一个技能,通过CE搜索其名字(如图)(如图)


因为游戏里的汉字都是UTF-8的,所以我们搜索的是UTF-8编码的字节集。分别修改得到的结果,发现其中一个地址可以改变技能的名字显示(如图)

通过OD下访问断点,游戏断下(如图)

图中指向的地址为函数的第一个参数,所以我们跳到这个函数处继续分析其参数(如图)

继续分析[ebp-268]的来源,分析后得到00623E80 处的CALL为其来源(如图)

进入CALL内部继续分析,最终发现内部有一个CALL将技能的信息循环的写入到临时内存中(如图)(如图)


想整理公式很麻烦,所以我们直接调用外层的CALL,通过分析可以得到两个参数分别为第一个参数是技能ID,第二个参数是临时存放技能信息的结构体,我们只要讲ID传入正确,就可以在调用之后,讲该技能的信息存放到结构体中,这个结构体需要申请0x2A8以上的空间。继续分析技能ID的来源,最终发现在0x625FFF处的CALL中有技能ID的遍历(如图)(如图)


[BE8D98]为技能的数量,通过对比我们发现这个数量和我们已经学习的技能的数量是相等的,也证实了我们找的数据是没有问题的。接下来就可以通过技能ID去调CALL得到所有技能的信息了。










来源:http://www.12558.net
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
楼主热帖
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|12558网页游戏私服论坛 |网站地图

GMT+8, 2024-5-3 14:54 , Processed in 0.109375 second(s), 31 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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