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

27.第二阶段x64游戏实战-分析技能属性

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

本次游戏没法给

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

上一个内容:26.第二阶段x64游戏实战-代码实现背包遍历

这次找技能的结构(对象),技能怎么找?可以通过任意技能相关的属性去找,比如技能的名字,如下图通过技能名字去找

首次扫描完有15个结果

然后设置成字节数组显示,这个种方式之前写过了

得到它的字符数组

然后点击新的扫描

然后选择字节数组

然后粘贴刚刚复制的字节数组

然后首次扫描,扫描出的结果就剩下两个了

然后如下图全选结果,然后点击红色箭头

然后如下图,重新该回字符串类型显示

然后修改它俩的值,然后看看游戏中技能的名字变成哪一个了,这里技能名字变成了初级22,然后就找到了技能名字的地址

然后来到x64dbg设置硬件访问断点,追基址,如下图设置硬件访问断点

然后来到游戏,鼠标放到技能上,让游戏访问技能名字,从而触发断点来到下图位置,下图红框位置的rdx访问了技能名字

开始分析代码,如下图,继续找rdx

断点住

如下图 按CTRL+F9再按F8来到的上一层

然后发现一个问题,下图红框是通过名字的硬件访问断点来到的,上图是通过CTRL+F9再按F8来到的,可以发现它call的地址是0x7FF761F12FB0,这个地址离着0x7FF761F13519很远

如下图红框差着一千多字节,这说明通过名字触发的硬件访问来到的函数只是获取技能函数的一小部分,所以需要从函数头一路F8,一直执行到 0x7FF761F13519这个地址为止,否则相差的一千多字节的取值公式我们找不到

现在的公式[[rdx+0x8]+0x10],然后如下图,设置断点

触发断点

取消断点

按F7进入函数头部

按住F8,直到来到下图红框范围内

然后按减号,然后就可以看到rdx来自于rax

rax的值应该来自于下图红框call的返回值

设置断点

触发断点,如下图按F8之前rax的值

按F8之后rax的值就变了

如下图继续按F8可以看到rdx的值确实来自于rax,然后按F9让游戏运行起来

所以接下来就要F7进入下图红框函数,看看它的返回值怎么来的

触发断点

按F7进入函数

然后按F8看看执行逻辑,判断了rax是不是空,不是空进行了跳转

然后进行jmp往上跳转

然后来到了下图红框位置,这里的代码很乱,但是不要紧,我们现在找的是rax,是返回值,返回值在函数的后面,所以按住F8来到当前函数ret位置其它代码直接忽略就可以了

然后找到了rax,然后开始找rax的值哪来的

然后一路按减号,可以看到rax的值来自于一个二叉树,这个二叉树之前遍历周围的时候细写过了,现在应该有一种熟悉感

然后公式 [[[[rdi+0x18]+0x2AB0]+0x8]+0x10]+0x28

rdi的值来自于rcx,现在的公式[[[[rcx+0x18]+0x2AB0]+0x8]+0x10]+0x28

然后最终公式 [[[[[[[0x7FF7625290E8]+0x98]+1B0]+0x18]+0x2AB0]+0x8]+0x10]+0x28

最终技能名字的公式 [[[[[[[[[0x7FF7625290E8]+0x98]+1B0]+0x18]+0x2AB0]+0x8]+0x10]+0x28+0x8]+0x10],这个地址通过在内存窗口的CTRL+G跳转是可以跳转到一个技能名字的

然后 [[[[0x7FF7625290E8]+0x98]+1B0]+0x18] 这个公式之前找的人物属性(血量啥的)很像,所以这个 0x7FF7625290E8 也是人物对象

偏移0x0x7FF7625290E8 - 0x00007FF761BE0000 = 0x9490E8

遍历技能二叉树代码地址:0x00007FF761D66E49 - 0x00007FF761BE0000 = 0x186E49


img

相关文章:

  • Spring Security与Spring Boot集成原理
  • Oracle 的 PGA_AGGREGATE_LIMIT 参数
  • ElasticSearch 8.x 快速上手并了解核心概念
  • 养生指南:重塑健康生活的实用方案
  • 仿腾讯会议——添加音频
  • MySQL的锁机制
  • 电商后台管理系统:Django Admin深度定制实战指南
  • 蚂蚁数科的AI深潜与RWA远航
  • pinia.defineStore is not a function
  • NeRF适合口腔扫描仪场景吗
  • 深入理解pip:Python包管理的核心工具与实战指南
  • Go语言八股文之Mysql优化
  • 基于 STM32 的自动温度巡检小车控制系统设计与实现
  • ubuntu 安装 Redis新版Redis 7.x
  • vue3 vite 项目中自动导入图片
  • 从零训练一个大模型:DeepSeek 的技术路线与实践
  • windows网站篡改脚本编制
  • 若依框架二次开发——若依微服务整合RocketMQ
  • 三轴云台之高精度传感器与测距技术篇
  • java集合详细讲解
  • 新质观察|低空货运是城市发展低空经济的第一引擎
  • 谷神星一号海射型遥五运载火箭发射成功
  • 中国古代文学研究专家、南开大学教授李剑国逝世
  • 上海银行副行长汪明履新上海农商银行党委副书记
  • 国新办10时将举行新闻发布会,介绍4月份国民经济运行情况
  • 19国入境团抵沪并游玩,老外震惊:“怎么能有这么多人?”