43.x86游戏实战-XXX寻找吸怪坐标

news2024/11/14 16:56:39

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

本次游戏没法给

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

工具下载:

链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd=6tw3

提取码:6tw3

复制这段内容后打开百度网盘手机App,操作更方便哦

上一个内容:42.x86游戏实战-C++实现全图秒杀功能

之前代码中用的坐标是偏移0x18C和0x190位置,这俩未位置使用CE修改之后没有反应(怪物不瞬移),所以这俩位置并不是真正的坐标,真正的坐标改了之后怪物会瞬移,接下来先找真正的坐标。

首先来到有怪物的地图,然后把怪物清理的就剩下一个

然后注入我们写的dll,点击遍历怪物,找一下怪物的地址

然后记住怪物地址,一会CE中要用

然后使用管理员打开CE,并附加到游戏,然后输入怪物地址+0x18C位置(也就是坐标)

然后就能看到怪物坐标的数据了

然后使用CE的范围搜索

然后搜出来很多结果

这时引怪物移动改变坐标,移动之后再次使用CE搜索,如下图

然后就能找到了,修改下图红框地址的值怪物就会瞬移

然后接下来通过使用硬件断点来找基址,所以使用管理员打开OD,并附加游戏,附加之前记得过一下检测(0x755B88位置的值改成EB,详情:34.x86游戏实战-XXX过检测代码分析)

然后以十六进制显示

然后输入EB

过完检测使用管理员打开OD并附加到游戏,首先点位置1,然后按CTRL+G,然后输入上方通过CE找的可以修改的坐标地址,然后点确定(本次步骤要做两次,OD有个问题,第一次CTRL+G会乱搞)

然后下一个硬件写入断点

然后在下图位置断了下来,xmm0是专门存放浮点数的寄存器(专门存放小数的寄存器),可以看到这里给数组里的一个值进行了赋值(ecx+eax*4*4地址里的值是坐标)也就是修改坐标

xmm0寄存器的值来自于ebp+C

ebp是的值是栈顶数据(函数中的数据),ebp+C一般是函数的第二个参数,这个参数并不重要,重要的是ecx,所以接下来找ecx,ecx在下图中并没有看到有赋值的代码,所以ecx的值来自于上一层

然后取消硬件写入断点(如果不取消使用CTRL+F9功能可能会乱断点住)

取消硬件写入断点之后,按CTRL+F9来到上一层,看看ecx的值哪来的,按完CTRL+F9之后,在下图中可以看出,ecx的值来自愈ebp-64,所以接下来要找ebp的值哪来的

然后通过断点一路F8 下图红框两个位置给ecx的值都是一样的,然后ebp并没有看到在哪赋值的,但是esi看到了

用鼠标滚轮往上翻,一般来到函数头部附近就可以看到,然后如下图esi的值来自于ecx,ecx的值来自于上一层,所以还是要CTRL+F9

使用鼠标滚轮往上翻了之后,怎么回到往上翻之前的位置?这里按下图红框的C就可以

然后CTRL+F9,可以看到ecx的值又是来自于esi,如果不出意外esi的值又会是来自于ecx

然后使用鼠标滚轮往上翻,来自于ecx,所以还要继续CTRL+F9

CTRL+F9之后来到下图位置,下图红框可以看出ecx的值来自于ebp-48位置

然后找ebp的时候发现,这个函数里几乎全是vm代码,这就没法找,往上反也反不出去

上方是通过下硬件写入断点找的,接下来通过下硬件访问试试

然后访问断点断下来,然后通过dd ecx+eax*4+4,看到 ecx+eax*4+4的值是坐标,为了后续方便这里称它为坐标列表,然后找ecx

然后删除访问断点

然后CTRL+F9之后,然后发现ecx的值还是来自于ecx,所以要继续CTRL+F9

然后CTRL+F9之后,也没有ecx的赋值,这里在retn位置断下来了,要按F8,不要按CTRL+F9,然后这里push了一个0,这个0就是 ecx+eax*4+4中的eax的值

然后F8之后,看到ecx的值还是来自于ecx,所以继续往上

CTRL+F9之后,ecx的值来自于edi,edi的值来自于ebp+8,然后ebp的值来自于esp,ebp+8也就是函数第一个参数,所以要继续往上反

然后CTRL+F9之后,第一个参数是esi的值,然后esi还是来自于函数的第一个参数

然后CTRL+F9,这里比较复杂,慢慢细看发现它的值来自于ebp,并没有什么有用的东西

这里esi最后一次赋值是来自于ebp-4,这种减法是访问的函数中的局部变量,然后并没有看到给局部变量赋值的操作

然后通过断点之后按F8的方式发现,ebp-4的值来自于ecx+4

然后进入0xB09680函数

然后ecx的值来自于ebx,ebx的值来自于esi+AC,然后esi的值来自于ecx,ecx的值来自于上一层

然后CTRL+F9,到了下图位置

然后ecx的值最终还是来自于ecx,但是这里按CTRL+F9 反不动了,所以现在可以宣布通过硬件断点访问也没找到这个地址的基址

然后回到CE,看看CE中有那些我位置访问了坐标,首先玻璃OD,右击OD选择Detach,如下图

然后回到CE,右击地址选择找出是什么访问了这个地址

然后发现只有两个位置访问了坐标,这俩位置上方都分析过了,都找不到,这怎么办?

然后换个思路,现在有一件事,这个游戏中坐标数据会有多个地址存放,通过CE可以看出有两个位置存放一个是怪物地址+0x18C位置一个是通过CE新扫描出来的(修改数据会让怪物瞬移),怪物会存在多个也就是怪物列表,然后一般为了性能在同步坐标数据的时候它肯定不会先从怪物数组里一个一个找,找到之后再通过某些条件去坐标列表(坐标列表指的是上方通过访问断点找的那个)找怪物对应的坐标,所以它肯定会在怪物列表中记录了坐标列表的数据,所以接下来,来到怪物对象里找一找看看有没有5D6948C相近的数据

现在怪物列表是0x13fb6000

然后修改坐标怪物瞬移的地址是0x5D6948C

再次来到OD,鼠标单击1位置,然后输入怪物地址,然后点确定

然后双击下图红框位置,让它显示偏移

然后在怪物地址偏移0xA8位置找到了与0x5D6948C相近的值,0x5D69480

分别是x坐标、y坐标、z坐标,z坐标是高度,这些坐标修改可以让怪物瞬移,也就能实现吸怪了


img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2055533.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

( Neurocomputing,2023)Relphormer:用于知识图谱表示的关系图Transformer

Relphormer:Relational Graph Transformer for Knowledge Graph Representations 资料 论文:Relphormer:Relational Graph Transformer for Knowledge Graph Representations 代码:https://github.com/zjunlp/Relphormer 摘要 Transformer在包括自然…

提高网站并发量的有效策略有哪些?

提高网站并发量的有效策略有哪些? 1. 静态化 & 模板引擎2. 分离静态资源3. 数据库优化4. 缓存技术5. 镜像部署6. 负载均衡7. CDN加速 💖The Begin💖点点关注,收藏不迷路💖 1. 静态化 & 模板引擎 HTML静态化&a…

8月19日笔记

http隧道搭建(续) ABPTTS安装使用 一款基于 SSL 加密的 HTTP 端口转发工具,全程通信数据加密,比 reGerog 都要稳定。使用 python2 编写,但是该工具只支持 aspx 和 jsp 脚本的网站。 下载地址:https://github.com/nccgroup/ABPTT…

CentOS7上安装RabbitMQ

在 CentOS 7 上安装 RabbitMQ 需要一些步骤,包括安装必要的依赖项、启用 RabbitMQ 源以及安装 RabbitMQ 服务器。以下是详细的步骤: 1. 更新系统 首先,确保系统是最新的: sudo yum update -y2. 安装 Erlang RabbitMQ 依赖于 E…

【Python】成功解决 ModuleNotFoundError: No module named ‘PIL‘

【Python】成功解决 ModuleNotFoundError: No module named ‘PIL’ 下滑即可查看博客内容 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇 🎓 博主简介:985高…

网络安全-防火墙初步认识。

文章目录 1. 防火墙是什么?2. 防火墙的工作原理是什么?3. 防火墙的分类有哪些?4. 实战4.1 防火墙管理和实验介绍4.2 防火墙命令行初体验实验目标:实验步骤: 4.3 防火墙Web初体验实验目标:实验步骤&#xff…

[星瞳科技]OpenMV是否属于单片机?

文件系统 MicroPyhon的文件系统是FatFS。 根目录 路径都是以根目录为起点。 当插入sd卡后,根目录就是SD卡;不插入sd卡,根目录就是内置的Flash。 如果需要,你可以在SD卡上,新建一个空文件:/flash/SKIPS…

你是如何克服编程学习中的挫折感的?

编程之旅:穿越挫折的迷雾,拥抱成长的阳光 在编程的浩瀚星空中,每个人都是探索未知的宇航员,面对着无尽的代码海洋和未知的Bug黑洞。挫折感,这位不速之客,时常在探索的旅途中悄然降临,试图用迷茫…

使用WINUI3 编写一个小软件1 C#

本篇主要是记录安装和运行的问题。 先说安装 因为我是WIN11,所以勾了,如果你是WIN10就不用勾选11那个,但是我不确定用11要不要10那个,所以就勾了,按安装手册来的。 2、创建项目 照着选就完事了,别选错 这…

运维学习————nginx-入门及反向代理搭建

目录 一、简介 二、正向代理和反向代理 1、正向代理 作用 2、反向代理 作用 三、单机版nginx部署 1、查看环境 2、环境安装以及nginx安装 2.1、安装pcre 2.2、安装gzip模块需要 zlib 库 2.3、安装Nginx 3、启动测试 四、反向代理配置 一、简介 nginx [engine x] 是…

python人工智能002:jupyter基本使用

小知识:将jupyter修改为中文,修改用户变量, 注意是用户变量,不是系统变量 新增用户变量 变量名:LANG 变量值:zh_CN.UTF8 然后重启jupyter 上一章的软件安装完成之后,就可以创建文件夹来学习写…

[PHP]-Laravel中Group By引发的问题思考

Laravel 和 ThinkPHP 是两个不同的 PHP 框架,它们在底层使用了相同的 SQL 查询语言来与数据库交互。然而,由于框架的设计和实现方式不同,它们在生成 SQL 查询时可能会表现出一些细微的差异,包括对 GROUP BY 子句的处理。 在调用查…

OpenCV学堂 | 汇总 | 深度学习图像去模糊技术与模型

本文来源公众号“OpenCV学堂”,仅用于学术分享,侵权删,干货满满。 原文链接:汇总 | 深度学习图像去模糊技术与模型 引言 深度学习在图像去模糊领域展现出了强大的能力,通过构建复杂的神经网络模型,可以自…

基于 html5 的图书管理系统--论文pf

TOC springboot532基于 html5 的图书管理系统--论文pf 第1章 绪论 1.1选题动因 当前的网络技术,软件技术等都具备成熟的理论基础,市场上也出现各种技术开发的软件,这些软件都被用于各个领域,包括生活和工作的领域。随着电脑和…

ansible[自动配置]

回顾 1、mysql和python (1)不需要执行mysql_ssl_rsa_setup (2)Change_master_to.不需要get public key 2、可以使用pymysql非交互的管理mysql (1)connpymysql.connect(host,user,password,database,prot)…

您需要知道的:大模型中的算力精度FP16 vs. FP32

正如海洋中的巨浪需要广阔的海域来形成,大模型的算力需求也要求我们拓宽对现有计算资源的认识。接下来的内容将引导我们穿越技术的波涛,探索在人工智能快速发展的今天,算力如何成为推动进步的关键力量。我们将分析FP16与FP32精度选择的权衡&a…

【一文详解】内外网文件摆渡系统如何搭建安全数传通道?

内外网文件摆渡系统主要应用于做了隔离的内外网之间,或者多个网络(比如生产网、测试网、办公网)之间的文件数据传输,涉及的行业主要包括集成电路、金融、电力、能源、医院、高新技术、新能源、科研机构、生物医药等,内…

2024秋招Java 面试必刷的1200 道Java大厂面试真题(含答案解析)

2024秋招即将来临,很多同学会问 Java 面试八股文有必要背吗? 我的回答是:很有必要。你可以讨厌这种模式,但你一定要去背,因为不背你就进不了大厂。 国内的互联网面试,恐怕是现存的、最接近科举考试的制度…

Ubuntu网络服务无法启动问题

问题 Ubuntu20.04卡死重启后网络服务打不开,没有下图中的有线一栏: 查看网络服务状态如下: systemctl status NetworkManager此时桌面右上角没有下图中网络图标: 解决 命令: sudo service network-manager sto…

Golang | Leetcode Golang题解之第350题两个数组的交集II

题目&#xff1a; 题解&#xff1a; func intersect(nums1 []int, nums2 []int) []int {sort.Ints(nums1)sort.Ints(nums2)length1, length2 : len(nums1), len(nums2)index1, index2 : 0, 0intersection : []int{}for index1 < length1 && index2 < length2 {i…