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

47.第二阶段x64游戏实战-封包-分析打怪call

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

本次游戏没法给

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

上一个内容:46.第二阶段x64游戏实战-封包-查找拾取单个物品和代码实现辅助捡包

接下来要做自动打怪,自动打怪需要的是遍历周围,得到周围的怪物坐标,遍历周围和坐标现在都有了,现在还差一个打怪的call,所以接下来找打怪call

打怪的过程有两种

1.鼠标点击怪物,首先会选中怪物,然后走过去打怪(特别是近程攻击),如果使用数据包实现打怪的话,如果超出攻击范围它就打不了,所以直接使用封包是不可行的,所以要使用包含走路的call

2.使用鼠标选中怪物,然后按键盘上的技能快捷键,这个也会走过去然后使用技能打怪

不管是第一种还是第二种,它们本质上都是走过去,然后释放技能(普通攻击也是一种技能),当前游戏在它的公共call位置设置断点往上找的方式是找不到可以使用的打怪call,这个原因是,它把打怪和走路写到一起了还可能是在一个寻路里,所以通过公共call找不到,所以就要找别的入口

00007FF63E753CB5!=[rsp]

当前的入口使用鼠标点击,点击地面是点击,点击怪物也是点击,点击矿石也是点击,所以找到鼠标点击call就可以找到打怪call了

然后之前找过打开掉落物,掉落物也是数据鼠标点击,所以就可以直接从打开掉落物这里开始追,然后就来到下图位置

设置断点

使用打开掉落物列表触发断点

CTRL+F9,再按F8来到下图位置

CTRL+F9,再按F8来到下图位置

然后再来到第二层,会发现点击地图,不点击掉落物也会触发,点击怪物也会触发

然后观察入参,r9寄存器的值像是怪物的id

然后按技能快捷键也会触发,然后下图红框位置是技能id(rdx+0x8位置),然后现在看一下技能id从哪来的,要注意当前的call是靠里的,获取技能id的那一层才是理想的外层call,所以在那能找到技能id,就用那一层的call,所以接下来继续CTRL+F9再按F8

rdx来自于rdi,然后rdi来自于rdx

这一层没有rdx的赋值,所以直接CTRL+F9再按F8

然后rdx来自于下图红框位置,但是我们要看的是rdx+0x8位置,所以找rsp+0x28

然后如下图红框 rsp+0x28 来自于ebx,ebx的值来自于edx

然后edx来自于rax,rax来自于rdi+0x8

然后rdi来自于rax

这里通过断点验证是不是技能id,首先刚得到的rax

rax使用的位置,可以看出确实是技能id

所以调用下图红框的函数是最合适的

然后如下图通过断点观察参数,然后还剩一个rcx的值

rcx来自于rbx

rbx来自于人物基址

0x00007FF63ED05F70 - 0x00007FF63E3A0000 = 0x965F70

调用的call也是来自于人物对象(人物对象的虚函数)


img

相关文章:

  • python源码:执行pdf合并/分页/图片管理功能
  • 在高数中 导数 微分 不定积分 定积分 的意义以及联系
  • 单调栈原理与应用
  • Python 商务数据分析—— NumPy 学习笔记Ⅰ
  • Docker Desktop 4.42集成的MCP工具包
  • (C++)素数的判断(C++教学)(C语言)
  • SQL Server 基础语句3: 数据操作(插入、删除、更新表)与数据类型
  • 931、下降路径最小和
  • 大模型LoRA微调实践
  • 2025-06-22 思考-人的意识与不断走向死亡的过程
  • frp v0.62.1内网穿透搭建和使用
  • Kafka 源码剖析:消息存储与协议实现(二)
  • 【redis使用场景——缓存——双写一致性】
  • ICML 2025 | 时空数据(Spatial-Temporal)论文总结
  • React中的useEffect详解
  • Ollama按照与使用
  • Cursor快速上手+科学使用指南
  • 【webSocket】WebSocket全双工通信实战指南
  • 跨域视角下强化学习重塑大模型推理:GURU框架与多领域推理新突破
  • 《福格行为模型》
  • 做海报有什么参考的网站/免费域名 网站
  • 专做零食的网站/长尾词优化外包
  • 汽车建设网站的能力/seo资源网站排名
  • 电脑可以做服务器部署网站吗/先做后付费的代运营
  • 制作一个网址需要多少钱/西安自动seo
  • 网站怎么发布/高端网站公司