12558网页游戏私服论坛

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

《幻想神域》背包物品分析

[复制链接]

345

主题

345

帖子

700

积分

实习版主

Rank: 7Rank: 7Rank: 7

积分
700
发表于 2019-8-20 11:11:14 | 显示全部楼层 |阅读模式
对于这类传统的3D游戏来说,背包物品一般都是从数量入手的,但是这个数量并不是DWORD型的,所以如果我们直接搜索DWORD的话虽然能得到一个结果,但是这个结果并不能得到真正的公式,因为这个值是从正确的公式中写入的。我们先通过CE搜索下DWORD,得到一个结果(如图)


通过OD下访问断点,我们发现单独访问这个物品是不会断下的,只有关闭和打开背包时才会访问,其实这是一个写入的过程,当我们打开或者关闭背包的时候物品的信息会从真正的公式中写入,这时就会断下
(如图)



这时们要追的是di的来源,而不是esi这个地址的来源,因为esi存放的物品本身的信息,而这个来源分析起来会很麻烦。那么我们继续分析di的来源,其实就是背包格子信息的来源。向上分析后得到di的来源是函数的第三个参数,执行到返回后得到第三个参数的来源(如图)


继续分析esi的来源,得到了一个数组(如图)


在这个数组上下断并点击F9,游戏会断下4次,这和我们背包中物品占用的格子数量是一样的,继续向上分析edi 的来源,来源于call    006FBC60
(如图)

call内部进行分析,发现这里有一个二叉树,而二叉树里只有一个节点(如图)

继续向上分析得到3C0偏移,而eax来源于call    006DA210 ,经过观察可以得出这个CALL内部返回的是角色对象,也就是说背包物品数组存放在角色对象下的某个二叉树中。





文章已获公众号《通化程序员》授权,如需转载此文请联系原作者

*转载请注明来自游戏安全实验室(GSLAB.QQ.COM)

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

本帖子中包含更多资源

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

x
楼主热帖
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 07:25 , Processed in 0.125000 second(s), 31 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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