当前位置: 首页 > news >正文

25.第二阶段x64游戏实战-分析物品相关数据

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!

本次游戏没法给

内容参考于:微尘网络安全

上一个内容:24.第二阶段x64游戏实战-分析背包结构

最新背包基址偏移0x9497E0,0x00007FF7CBC10000+0x9497E0

反汇编地址 00007FF7CBF686E4,偏移0x3586E4

物品的属性,比如说物品的名字,如下图直接使用CE搜索物品的名字

找出来7个

然后把它们都添加到列表

双击下图红框位置,一个一个的修改

修改完之后,再去游戏中看物品的名字,就会发现变成下图中其中的一个了,这里跌打药膏6是物品的名字

复制 17645257FDC 这个地址,然后打开x64dbg开始找基址,如下图在内存窗口中跳转到17645257FDC 这个地址之后选择硬件访问断点

下图是通过鼠标放到物品上,然后游戏会弹出物品说明窗口触发的断点

为了避免影响这里记得删除硬件访问断点

开始分析代码,如下图红框rdi是物品对象,然后调用了它的虚函数(call qword ptr ds:[rax+0x20])就得到了名字,所以要进入这个虚函数看一看

如下图得到了公式 [物品对象+0x40]+0x20是名字

通过上一个内存中找到的背包基址,从背包基址中随便找一个物品进行验证公式,0x0000017668BE4670+0x40]+0x20,0x0000017668BE4670是背包中物品地址,通过验证是正确的,然后下图红框的都是字符串的地址

字符串通过与游戏中显示的文字做对比得到了,一些偏移

[物品对象+0x40]+0x20 名字

[物品对象+0x40]+0x60 类型名字

[物品对象+0x40]+0x30 等级

这里药物的偏移和装备的偏移不一样,上面找到的名字、类型名字、等级都是药物物品的,不一样怎么办?通过上方分析名字知道它是通过虚函数得到的,所以装备或其它物品肯定也都会这样,下图红框是背包中装备的内存地址

然后进入虚函数表

如下图把偏移0x20位置的地址进行转到反汇编

可以看到装备的名字是0x28

验证,下图进入0x40

然后0x28

然后进入上图红框的地址(0x176476E3758)就可以看到装备名了

类型名字的虚函数偏移,对类型名字设置硬件访问断点,如下图类型名字的虚函数是0x28

要注意等级是32位的,如下图用32位展示数据,就可以看到等级了,它的虚函数也是对它设置硬件访问断点

如下图等级虚函数的偏移是0x118


img

相关文章:

  • CoreDNS 的无状态设计与动态数据源
  • 044-代码味道-数据类
  • 《Deepseek从入门到精通》清华大学中文pdf完整版
  • 基于智能推荐的就业平台的设计与实现(招聘系统)(SpringBoot Thymeleaf)+文档
  • VTEP是什么
  • [MySQL数据库] SQL优化
  • MyBatis-Plus 常用用法总结
  • 电脑自带画图工具,提取颜色
  • 软考软件评测师——计算机组成与体系结构(CPU指令系统)
  • 脚本语言Lua
  • std::deque 底层实现结构
  • 组合问题(去重)
  • 【Java】Spring的声明事务在多线程场景中失效问题。
  • 欧拉计划 Project Euler 73(分数有范围计数)题解
  • 第七节第三部分:从JDK8开始接口新增的方法、接口的多继承、注意事项
  • 产品方法论与 AI Agent 技术的深度融合:从决策智能到价值创造
  • 串口共用错误排查指南(2025年5月15日 09:25)
  • AI大模型应用:17个实用场景解锁未来
  • 全国青少年信息素养大赛 Python编程挑战赛初赛 内部集训模拟试卷九及详细答案解析
  • 特种设备事故背后,叉车智能监控系统如何筑牢安全防线
  • 中国物流集团等10家央企11名领导人员职务任免
  • 网易一季度净利增长三成,丁磊:高度重视海外游戏市场
  • 泽连斯基与埃尔多安会面,称已决定派遣代表团前往伊斯坦布尔
  • 欠债七十万后,一个乡镇驿站站长的中年心事
  • 时隔3年俄乌直接谈判今日有望重启:谁参加,谈什么
  • 这个“超强致癌细菌”,宝宝感染率高达40%,预防却很简单