30.x86游戏实战-遍历背包数组

news2024/9/22 23:35:17

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

本次游戏没法给

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

工具下载:

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

提取码:6tw3

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

上一个内容:29.x86游戏实战-XXX发包函数

背包一般是一个数组结构(数组结构就跟饭店里的座位一样,数量是固定的,饭店的座位是放人的,数组结构是用来放数据的),背包数组里的内容一般是内存地址,这个内存地址指向了物品,有了数组的概念之后开始分析

首先打开CE并附加到游戏

使用未知的初始值,然后点击首次扫描

会扫描出这么一堆东西

然后来到游戏,下图是游戏中快捷背包

下图位置是空的,什么物品也没放,第4个位置

然后这时随便把物品放到第4个位置,然后来到CE点击变动的数值,然后点击再次扫描

这样数据就会变少了

然后不要动游戏里第4个位置,然后点击未变动的数值

这里补充一个东西记得要以 十六进制观看,如下图

然后再次来到游戏改变第4个位置,然后来到CE选择变动的数值然后再次扫描,也就是一种重复上方两个操作,最终剩下了一个,这个也比较符合背包数据的情况,它第4个位置放不同的物品它会变不同的值(内存地址)把物品拿掉就会变成0

然后复制这个内存地址,也就是复制5FC1EDE8,然后打开OD并附加到游戏,然后单机内存区,然后按CTRL+G,然后粘贴5FC1EDE8,然后点ok,OD刚打开可能需要操作 单机内存区,然后按CTRL+G,然后粘贴5FC1EDE8,然后点ok 这个两次,不然不准

然后点完OK就来到了5FC1EDE8位置

然后在5FC1EDE8位置下一个访问断点

然后就回来的下图位置

然后下图红框圈出来的就是数组访问数据的算法,ecx是数组第一个数据,一个数据大小是4字节,eax是序号它决定了访问数组里第几个数据

下方的内容地址与上方的不一样,因为这里游戏崩溃重启了

然后打断点观察,打断点之前别忘了删除硬件访问断点

删除完硬件断点之后在下图红框位置打断点

经过观察03应该是背包第一个位置,然后在内存区,按CTRL+G写下图红框的内容

点击OK之后,就跳转到背包第一个位置了,这个可以在游戏中把背包第一个位置的物品拿掉进行测试

更改了物品位置之后OD不会自动刷新,这时需要,鼠标点击一下内存区(如点击了还没反应,那就在内存去换个位置点,反正就是点击内存区OD内存区的内容才会刷新)

背包六个位置分别对应

然后接下来找ecx的值(找基址了),如下图,通过观察ecx来自于esi+0x38位置的值,注意esi+0x38是一个内存地址,这里要的是内存地址里的值,然后esi的值来自于ecx,ecx来自于上一层

然后在下图红框位置打断点

让后来到下图位置

直接就能看到ecx的值了,然后就得到了基址[[0x1A5FB24]+0x38]+3*4

然后测试,在内存去按CTRL+G然后输入[[0x1A5FB24]+0x38]+3*4然后点OK

它可以正常跳到背包第一个位置

然后接下来观察一下背包数组的数据,在第一个位置右击选择数据窗口跟随

可以看到有一些字符串,这里看的不是第一个位置,是第二个位置,第一个位置数据窗口跟随过去没有什么有用的东西

翻译,它应该会对应物品的中文名

然后还看到,背包基址(第一个位置)后面还有很多数据,但是快捷操作背包只有六个,这是什么情况?

从第六个开始,后面是背包里的东西,如下图游戏的背包(注意不是上面分析的快捷背包了,是背包)


 

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

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

相关文章

弧形导轨的多样化驱动方式!

弧形导轨由导轨、导向滑块、传动机构等部分组成,是一种可以实现直线、圆弧、任意曲线运动的导向装置,广泛应用在机械设备中。弧形导轨的驱动方式具有多样性和灵活性,可以根据不同的应用场景和需求进行选择。 1、滚轮驱动:在弧形导…

全球汽车凸轮轴市场规模预测:未来六年CAGR为2.3%

随着汽车行业的持续发展和消费者对发动机性能的需求增加,汽车凸轮轴作为发动机核心部件之一,正逐渐受到市场的广泛关注。本文旨在通过深度分析汽车凸轮轴行业的各个维度,揭示行业发展趋势和潜在机会。 【市场趋势的演变】 1. 市场规模与增长…

VisualStudio 类设计器 组件的使用

总目录 前言 当我们需要快速熟悉一个新接手的软件系统框架及业务逻辑代码时,如果埋头一个个去捋顺,估计等你捋顺了,项目也结束了;应对这种情况最好方法就是先通过UML图去了解代码的宏观架构,然后有针对性的突破。VS中…

搭建Go语言gRPC微服务开发环境详细教程

文档:https://grpc.io/docs/languages/go/quickstart/ 下载protobuffer:https://github.com/protocolbuffers/protobuf/releases/tag/v27.2 解压到C:/dev目录: 将目录添加到环境变量: 打开终端进行测试: proto…

vite打包文件配置到IIS出现页面、图片加载不出来的问题

问题描述: 用vitevue3开发的项目,打包后放在服务器上,然后配置了IIS,用链接访问后出现白页面。 解决方案: 修改vite.config.js文件中的base路径:/改为./ 解决方案: 1.查看页面报错原因&…

雅致表达:看体育比赛 ,少不了的语文知识。

文章目录 引言捷报囊括当务之急问鼎凯旋折桂捞金曾几何时差强人意居功至伟一发不可收拾首当其冲不孚众望望其项背炙手可热美轮美奂摄氏度引言 随着巴黎奥运会各项赛事的展开,看到激动人心比赛画面的你,看到喜欢的选手圆梦的你,总会有冲动把喜悦分享出去,适当的用词为表达加…

MySQL笔记5——视图、存储过程和触发器

视图 创建视图 视图是从一个或几个基本表(或视图)导出的表。它与基本表不同,是一个虚表。 CREATE VIEW view_name as select…… 说明: view_name自己定义的视图名as后面是这个视图所用到的查询结果 视图的操作 视图的查询…

nodejs项目

一、基于域名配置server 1. 一个配置文件一般只有一个 http 模块 2. 一个 http 模块可以有多个 server 模块 3. 一个 server 模块就是一套 web 项目 4. 一个 server 模块中可以有多个 location 5. location 就是项目中的 url 路由 # 第一步 mkdir /zhangmin # 第…

GMII, SGMII 以太网接口

前言: 🚀write in front🚀 🔎大家好,我是黄桃罐头,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🎁欢迎各位→点赞👍 收藏⭐️ 留…

(最全最小白易懂版)Yolov8新手教程-配置环境、数据集处理、目标检测、结果分析处理(图像指标、可视化结果)、报错分析等全过程学习记录

目录 一、安装环境(配置yolo、demo测试) 二、数据集准备(格式学习) 三、训练数据集 1.划分数据集 2.训练数据集 2.1常规训练 2.2微调 3.各种报错记录 3.1AttributeError 3.2TypeError 3.3Error while loading conda en…

贪心问题集

常见问题分类&#xff1a; 1&#xff09;区间问题 2&#xff09;Huffman 3&#xff09;排序不等式 4&#xff09;绝对值不等式 5&#xff09;推公式 一、区间问题 板子&#xff1a; ①区间选点问题 #include <iostream> #include <algorithm> using namespace std;…

【算法 01】快速排序算法与分治思想

深入理解快速排序与分治思想 在算法的世界里&#xff0c;快速排序以其高效的性能著称&#xff0c;它巧妙地运用了分治策略&#xff08;Divide and Conquer&#xff09;&#xff0c;将复杂的排序问题逐步分解为更小的子问题&#xff0c;直至问题变得足够简单&#xff0c;从而轻…

永劫无间:游戏模式操作,云手机游戏辅助教程!

在《永劫无间》中&#xff0c;快速比赛模式和无间模式是提升实力和展示技巧的重要途径。以下是详细的攻略建议&#xff0c;帮助玩家在游戏中取得更好的成绩。 快速比赛模式 快速比赛模式与排位赛的玩法内容一致&#xff0c;但对局结果不会影响你的段位积分和英雄积分&#xff…

昇思 25 天学习打卡营第 25 天 | MindSpore Diffusion 扩散模型

1. 背景&#xff1a; 使用 MindSpore 学习神经网络&#xff0c;打卡第 25 天&#xff1b;主要内容也依据 mindspore 的学习记录。 2. Diffusion 介绍&#xff1a; Diffusion也是从纯噪声开始通过一个神经网络学习逐步去噪&#xff0c;最终得到一个实际图像。 具体的 Diffusi…

二进制部署k8s集群之CoreDNS部署及多master节点负载均衡以及高可用(下)

目录 1.部署 CoreDNS 2.在master01节点基础上&#xff0c;完成master02节点部署 3.部署nginx做负载均衡器 4.部署keepalived做高可用 1.部署 CoreDNS CoreDNS&#xff1a;CoreDNS 是 Kubernetes 的默认 DNS 实现。可以为 K8S 集群内的 Pod 提供 DNS 服务。 使用 CoreDNS 可…

【C++BFS】1162. 地图分析

本文涉及知识点 CBFS算法 LeetCode1162. 地图分析 你现在手里有一份大小为 n x n 的 网格 grid&#xff0c;上面的每个 单元格 都用 0 和 1 标记好了。其中 0 代表海洋&#xff0c;1 代表陆地。 请你找出一个海洋单元格&#xff0c;这个海洋单元格到离它最近的陆地单元格的距…

67.利用FreeLibrary函数实现无痕注入的核心代码

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a;易道云信息技术研究院 上一个内容&#xff1a;66.FreeLibrary隐藏模块 以 65.破坏特征码防止内存定位查杀 它的代码为基础进行修改 效…

前端实现文本超出指定行数显示”展开”和”收起”效果

目录 效果演示步骤一&#xff1a;实现整体框架步骤二&#xff1a;实现样式步骤三&#xff1a;js实现元素控制完整代码 效果演示 本文方法是利用js原生进行实现的&#xff0c;可根据相关vue或react语法进行相关的改写&#xff0c;并实现效果 步骤一&#xff1a;实现整体框架 <…

今天分享分享缓冲器小故事

在一个繁华都市的角落&#xff0c;有一家小小的修理铺。铺子里堆满了各种老旧的机械零件和工具&#xff0c;而铺子的主人是一位名叫老陈的工匠。 老陈手艺精湛&#xff0c;尤其擅长修理那些复杂而精密的机械。但他的铺子生意却一直不温不火&#xff0c;因为在这个快节奏的时代…