81.网游逆向分析与插件开发-背包的获取-装备栏数据结构的逆向分析

news2024/10/5 17:16:34

内容参考于:易道云信息技术研究院VIP课

上一个内容:自动化助手显示物品数据-CSDN博客

然后游戏中有弓箭,弓箭有数量,可以作为突破口,也可以使用物品id

获取弓的方式

获取弓箭的方式

然后搜索250

然后搜索出一个

然后可以正常改成999

然后接下来找出是什么改写了这个数据

然后把弓箭拆下来

所以一共有两个地方修改它,一个是995854,一个是5BAF36,然后简单看一下看出,0x5BAF36位置有大量数据更新

0x995854位置更新单一数据

这里游戏掉线了,基址会与上方不一样

然后先使用 0x5BAF36 来找,使用哪个都行

然后ctrl+f9,再按f8 就来到了下图位置

然后下图红框位置的代码:imul指令是乘法,imul edx,edx,1E0,翻译成C++就是 edx = edx * 0x1E0,然后这就说明edx是索引

现在是通过下图红框位置的装备触发的断点,现在edx是1

现在是通过下图红框位置的装备触发的断点,现在edx是4

 现在是通过下图红框位置的装备触发的断点,现在edx是5

然后下标位置

然后武器是6

然后下掉弓之后,会自动把弓箭也给下掉,下标是7

然后由此可见0x1E0是物品结构大小,然后下图红框代码是 lea ebp, dword ptr ds:[edx+esi+22D0],然后edx是索引,所以esi是基址,接下来找esi的值怎样来的

然后看到esi是通过上层传递过来的,mov esi,ecx,这时一个thisCall,也就是当前函数是一个类的成员函数

然后记录一些esi的值,方便后续用,当前是0x1E077144

然后ctrl+f9,再按f8,来到下图位置

然后这里的ecx,与我们记录的内容一样,然后它来自于edi,所以接下来找edi

然后上图中的函数很长,所以来到它的上一层,ctrl+f9,再按f8,来到下图位置

这里的ecx就不一样了,所以 0x1E077144 这个值只能是0x951D10函数里来的

接下来来到 0x951D10函数里 一行一行的跟,看看 0x1E077144这个值第一次出现的位置,第一次出现的位置0x951D6F,从0x772300函数里得到的

0x772300函数的ecx是从0x866140函数里得到,然后0x866140函数之前已经用到了,通过调用0x866140对象(0x866140的返回值是一个对象)的0x7722C0函数获取背包,它下图中它是调用的0x772300函数,所以武器或者说装备的基址是通过0x866140返回值对象的0x772300成员函数得到,发现位置 0x951D6A

然后理一下分析到的东西,首先通过0x866140返回值对象的0x772300成员函数得到背包里的装备基址,然后在0x77F387位置知道了装备栏的算法,它直接是一个自定义类型数组,大小是1E0,然后装备栏第一个物品偏移是0x22D0,然后看图1所示装备栏一共有13个格子,它不可能会变,所以13是固定的,所以数组大小是13

图1:

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

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

相关文章

LMC:通过大模型合作与互相评估来进行无需训练的开放集识别

论文名称: LMC: Large Model Collaboration with Cross-assessment for Training-Free Open-Set Object Recognition 论文链接: https://readpaper.com/paper/4803888389338169345 非常高兴跟大家分享我们接收于NeurIPS 2023的工作LMC:通…

小项目:使用MQTT上传温湿度到Onenet服务器

前言 我们之前分别编写了 DHT11、ESP8266 和 MQTT 的代码,现在我们将它们仨整合在一起,来做一个温湿度检测小项目。这个项目可以实时地将 DHT11 传感器获取到的温湿度数据上传到 OneNET 平台。通过登录 OneNET,我们随时随地可以查看温湿度数…

windows消息循环之手撸一个Win32窗口程序

Windows消息循环(Windows Message Loop) 在Windows操作系统中,一个程序通过不断地接收和处理消息来保持活动状态的一种机制。在Windows编程中,消息循环是处理用户输入、操作系统事件和其他消息的关键部分。 在Windows应用程序中…

python 基础知识点(蓝桥杯python科目个人复习计划26)

今日复习内容:基础算法中的前缀和 1.定义: 前缀和:对于一个长度为n的列表a,前缀和为: sum[i] a[1] ...a[i];例如:a [1,2,3,4,5],则它的前缀和数组sum为:[1,3,6,10,15]。 2.前缀和的性质 …

c语言实战之贪吃蛇

文章目录 前言效果展示游戏用到的图片游戏思路一览游戏前准备一、贪吃蛇、食物、障碍物节点坐标的结构体二、枚举游戏状态、和贪吃蛇的方向三、维护运行的结构体 游戏开始前的初始化一、学习图形库相关知识二、设置背景三、欢迎界面四、初始化贪吃蛇五、生成障碍物六、生成食物…

董仲舒是中国两千多年主流思想的总建造师

仕途不得志,董仲舒在家教书。董仲舒写了《春秋繁露》,用来解释《春秋》。 董仲舒把诸子百家的思想吸收之后,融入儒家,把儒家发扬光大。 儒家思想体系,孔子是总设计师,董仲舒是总建造师,朱熹是…

linux centos 查看端口是否打开与打开端口

查看端口是否打开 talnet talnet ip 端口linux查看防火墙开放情况 firewall-cmd --list-all打开端口 其中permanent表示永久生效,public表示作用域,443/tcp表示端口和类型,执行规则的重载 firewall-cmd --zonepublic --add-port443/tcp …

D6287F——正反转马达驱动电路,采 用 SOP8的 封 装 形 式 封 装 。驱动电流最高可达1.0A

D6287F 是 一 块 正 反 转 马 达 驱 动 电 路 ,两 种 逻 辑 输 入 方 式 可 控 制 马 达 的 正 转 、 反 转 、 停 止 、 中 断 等 。 内 置 马 达 停 止 时 省 电 电 路 及 热 保 护 电 路 。 最 大 驱 动 电 流 达 1.0A 。 广 泛 用 于 VCRs及 音 频 设 备 等 电…

福州一酒店发生火灾 富维图像烟火识别来揭秘

最近,福州一家知名酒店发生了火灾事件,所幸及时控制,未造成重大伤亡。这一事件再次提醒我们,商业场所的火灾安全不可忽视。在这种情况下,北京富维图像公司推出的FIS智能图像识别系统就显得尤为重要。 FIS系统能够通过已…

开始学习第二十五天(番外)

今天分享一下写的小游戏啦 头文件game.h #include<stdio.h> #include<time.h> #include<stdlib.h> #define H 3 #define L 3 void InitBoard(char Board[H][L], int h, int l); void DisplayBoard(char Board[H][L], int h, int l); void playermove(cha…

游戏引擎在进化,下一代3D创建引擎#a16z

这是一篇发表在a16z的文章&#xff0c;文中的观点非常值得我们学习。我花了点时间对原文进行梳理&#xff0c;挑选/补充了一些信息&#xff0c;分享给大家。 a16z.com/unbundling-the-game-engine 解开游戏引擎&#xff1a;下一代3D创作引擎的崛起 作者&#xff1a;Troy Kirwin…

Windows11搭建GPU版本PyTorch环境详细过程

Anaconda安装 https://www.anaconda.com/ Anaconda: 中文大蟒蛇&#xff0c;是一个开源的Python发行版本&#xff0c;其包含了conda、Python等180多个科学包及其依赖项。从官网下载Setup&#xff1a;点击安装&#xff0c;之后勾选上可以方便在普通命令行cmd和PowerShell中使用…

计网Lesson12 - UDP客户服务器模型和UDP协议

文章目录 丢个图在这&#xff0c;实在不是很明白在讲啥&#xff0c;等学完网编的我归来狠狠拿下它

【IM】如何保证消息可用性(二)

请先阅读第一篇&#xff1a;【IM】如何保证消息可用性&#xff08;一&#xff09; 在第一篇文章中我们了解了保证消息可用性的挑战与目标&#xff0c;现在我们来对于具体的技术方案进行探讨。 1. 上行消息 消息上行过程指的是客户端发送消息给服务端 我们需要先辨析几个概念…

Vue学习笔记之生命周期函数

生命周期示意图如下所示&#xff1a; beforeCreate&#xff1a;组件初始化之前触发该事件created&#xff1a;组件初始化完毕触发该事件beforeMount&#xff1a;Vue应用对象挂载DOM结点之前触发该事件mounted&#xff1a;DOM结点挂载成功之后触发该事件beforeUpdate&#xff1a…

如何使用docker compose安装APITable并远程访问登录界面

文章目录 前言1. 部署APITable2. cpolar的安装和注册3. 配置APITable公网访问地址4. 固定APITable公网地址 正文开始前给大家推荐个网站&#xff0c;前些天发现了一个巨牛的 人工智能学习网站&#xff0c; 通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。 …

大创项目推荐 题目:基于机器视觉的图像矫正 (以车牌识别为例) - 图像畸变校正

文章目录 0 简介1 思路简介1.1 车牌定位1.2 畸变校正 2 代码实现2.1 车牌定位2.1.1 通过颜色特征选定可疑区域2.1.2 寻找车牌外围轮廓2.1.3 车牌区域定位 2.2 畸变校正2.2.1 畸变后车牌顶点定位2.2.2 校正 7 最后 0 简介 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享…

Pytest单元测试框架

第一章、pytest概述 Pytest is a framework that makes building simple and scalable tests easy. Tests are expressive and readable—no boilerplate code required. Get started in minutes with a small unit test or complex functional test for your application or l…

Onvif协议5: 预置位的操作

目录 1. 介绍 2. GetPreset 3. SetPreset 4.预置位的索引 5. GotoPreset 1. 介绍 球机的云台预置位控制主要包含的内容有&#xff1a;预置位的设置、预置位的调用、预置位的删除以及预置位的名称修改等 云台预置位的设置&#xff1a;调用Onvif协议中云台预置位设置接口&a…

CH395Q之CH395Q简介(一)

本节主要介绍以下内容&#xff1a; 1、TCP/IP协议栈是什么&#xff08;了解&#xff09; 2、CH395Q是什么&#xff08;了解&#xff09; 3、CH395Q工作命令&#xff08;熟悉&#xff09; 4、CH395Q & W5500 一、TCP/IP协议栈是什么 是一系列网络协议的总和&#xff0…