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

百度站长工具域名查询东莞网站排名优化公司

百度站长工具域名查询,东莞网站排名优化公司,企业做网站,江门移动网站建设公司免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 上一个内容:14.第二阶段x64游戏实战-分析人物的名字 如果想实现自动打怪,那肯定…

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

本次游戏没法给

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

上一个内容:14.第二阶段x64游戏实战-分析人物的名字

如果想实现自动打怪,那肯定要得到周围的信息,然后找到怪物,然后去打,这个周围怪物的信息就包含怪物的对象、怪物的坐标、怪物的名字、怪物的血量等,还有自动采药采坑,也是要得到周围的数据得到药的信息矿的信息

该怎样去找呢?游戏它本身是需要显示周围的东西比如附近的怪物它可能还在动,那为什么可以看到怪物可以看到怪物在动?因为游戏它本身就一直在获取周围的信息,也只有这样才能显示给我们看。

所以说游戏本身它就会有一个线程一直获取周围信息,所以就可以找一个切入点去追这个线程,就会找到一个结构,一般来讲就是这个情况,然后这个结构里就会存放着周围信息(周围怪物的信息、周围药的信息、周围矿的信息、周围NPC的信息、宝箱、宠物等),这个结构可能是链表结构、二叉树结构、链表和数组、链表和二叉树等,具体是什么还是要去游戏里的代码中找一找,然后看看是什么结构,然后我们自己把这个结构搞出来。

切入点使用打怪物,让怪物血量变少的方式来找,这里要注意有的游戏它不显示血量只显示一个红色的条,这样的一般使用百分比来表示怪物血量的

下面开始找,首先打开CE,并附加受害者,游戏角色来到有怪物的地方,这里注意把加攻击的装备卸掉,免得几下把怪物打死了,然后把加防御的装备穿上,防止怪物把我们打死了,然后先使用未知的初始值和4字节进行首次扫描

首次扫描完成

然后打一下怪物,然后使用减少的数值再次扫描

扫描完结果就变少了

然后不打怪物,使用未变动的数值再次扫描,然后就重复打怪物减少的数值,不打怪物未变动的数值再次扫描就行了

最后剩下6个,但是看着数值都很大,不像是血量

右击选择单浮点

然后就正常了,0.3的就是血量了,表示血量还剩百分之30

也可以在最开始扫描的时候在下图红框位置选择单浮点

然后开始修改值,看看哪一个是怪物的血量,通过修改(修改的方式前面有,就是双击数值列的数据)发现下图红框的是血量,改成1之后怪物的血量显示是满的

找到血量的地址之后开始找基址,然后就是打开x64dbg,然后CTRL+G跳转到血量的地址,如下图红框

然后设置硬件断点,写入的硬件断点

设置好之后打怪物,就来到了下图红框位置

然后使用内存窗口验证地址,如下图红框rax+0x8位置访问的怪物血量

然后删除硬件断点

这里要注意,网络游戏打怪物是通过数据包完成的,也就是说上面卡主了,事实上我们还在打怪,因为发送网络数据包的位置没有被卡主,上面的代码只是用来显示到屏幕上的,所以会发现按F9让代码跑起来会发现怪物死了

然后开始分析代码,附近怪物血量是rax+0x8

rax的值来自于下图红框,rcx+0x18,现在的公式[rcx+0x18]+0x8

然后看不到rcx在哪来的了,所以rcx来自于上一层

在下图红框位置打断点

然后打别的怪物触发断点

然后来到下图位置,这里就可以证实一件事了,之前x86的游戏它这一层是有花指令保护的,可以看到x64的版本就没有了,这里就证明了x64比x86好分析了

然后继续分析rcx来自于r14,现在的公式[r14+0x18]+0x8,然后再找r14的值哪来的

鼠标滚轮往上翻了很久看到下图红框的代码,这里要注意上面有一个je跳转指令,这里要断点一下看看r14的值不是下图红框位置来的

设置断点

打怪物触发了断点,这说明r14的值就来自于rsi+0x1B0,现在的公式[[rsi+0x1B0]+0x18]+0x8,然后找rsi的值哪来的

如下图红框rsi的值来自于rax,上面还有一个call说明rax的值是call的返回值,现在的公式[[rax+0x1B0]+0x18]+0x8

设置断点

打怪触发断点

取消断点

然后按F7进入到call里面

一路F8,发现是个循环

循环的头和尾

一路F8最终执行到了下图红框位置,现在的公式[[[rax+0x28]+0x1B0]+0x18]+0x8

然后按F9,让代码运行起来,然后来到x64dbg按减号(键盘字母上面0后面的减号)往上一行一行的返回,看看rax的值哪来的,rax的值来自于[rax],现在的公式[[[[rax]+0x28]+0x1B0]+0x18]+0x8,然后再按减号继续找rax

rax的值来自于下图红框位置,注意这里的指令是lea,lea是取内存地址,也就是rsp+0x8的地址现在的公式[[[[[rsp+0x8]]+0x28]+0x1B0]+0x18]+0x8

再按减号,发现代码来到了下图红框位置,所以rsp+0x8的值并不是来自于r8

继续按减号发现rsp+0x8的值来自于rcx,现在的公式[[[[[rcx]]+0x28]+0x1B0]+0x18]+0x8

然后看到rcx的值来自于rax,现在的公式[[[[[rax]]+0x28]+0x1B0]+0x18]+0x8

rax的值来自于下图红框位置,现在的公式[[[[[[rax+0x10]]]+0x28]+0x1B0]+0x18]+0x8

然后剩下的就是下图红框位置给rax赋值了,现在的公式[[[[[[[r8+0x8]+0x10]]]+0x28]+0x1B0]+0x18]+0x8

然后r8的值来自于rcx+0x80,现在的公式[[[[[[[[rcx+0x80]+0x8]+0x10]]]+0x28]+0x1B0]+0x18]+0x8

然后一路按减号回到上一层找rcx,可以看到rcx来自于基址了,现在就找到了怪物列表基址,现在的公式[[[[[[[[[0x00007FF69E23EE38]+0x80]+0x8]+0x10]]]+0x28]+0x1B0]+0x18]+0x8,这里有一件事要注意继续往下看

下图红框位置也给rax进行了赋值,循环第一次进就会执行下图红框的赋值,这里就还有一个公式[[[[[[[[[0x00007FF69E23EE38]+0x80]]+0x10]]]+0x28]+0x1B0]+0x18]+0x8

[[[[[[[[[0x00007FF69E23EE38]+0x80]]+0x10]]]+0x28]+0x1B0]+0x18]+0x8

[[[[[[[[[0x00007FF69E23EE38]+0x80]+0x8]+0x10]]]+0x28]+0x1B0]+0x18]+0x8

这是一个二叉树结构,下一章写二叉树结构

[[[[[[[[[0x00007FF69E23EE38]+0x80]]+0x10]]]+0x28]+0x1B0]+0x18]+0x8 左边的树

[[[[[[[[[0x00007FF69E23EE38]+0x80]+0x8]+0x10]]]+0x28]+0x1B0]+0x18]+0x8 右边的树

偏移93EE38


img

http://www.dtcms.com/wzjs/793546.html

相关文章:

  • 网站建设 教学视频拓者吧室内设计官网
  • 免费自助建站平台系统电子商务网站建设与管理试题及答案
  • 句容做网站wordpress阿里云图片不显示
  • 河源做网站网页制作软件是哪个
  • 高效的网站建设网站文字重叠效果
  • 奥林匹克做校服的网站成都公司注册流程及费用
  • 一个网站需要服务器吗django商城网站开发的功能
  • 全国通网站建设织梦做的网站后台怎么进
  • 建网站wordpress新浪网站制作
  • 杭州俄语网站建设wordpress淘宝
  • 重庆公积金门户网站wordpress修订管理
  • 做微信投票的网站5沈阳公司网站
  • 个人网站如何被百度收录做兼职在什么网站上找
  • 自贡订房中心网站建设在线制作flash的网站
  • 哈尔滨制作网站价格wordpress博客页面无法显示
  • 单页设计网站广州网站开发培训学校
  • 新手学做网站 下载使用unity做网站
  • 网站建设外包注意事项校园网站设计代码
  • 广州网站建设好公司wordpress 电商网站
  • 个人做网站下载网上图可以吗wordpress 图片边框
  • 深圳租房建设局网站首页织梦安防网站源码
  • 网站建设pc指什么艺术字logo生成器
  • 大朗镇仿做网站设计师招聘
  • 网页设计一般多少钱旺道seo推广系统怎么收费
  • 网站设计一般包括哪些一天一元网站建设
  • 织梦网站模板安装本地wordpress app页面
  • 网站引量方法购买虚拟机建网站
  • 怎么上传网站数据库公司网站数媒设计制作
  • 如何入侵网站后台密码手机百度免费下载
  • python网站开发wordpress后台网页无法访问