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

内容参考于:易道云信息技术研究院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:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【智能家居入门之微信小程序控制下位机】(STM32、ONENET云平台、微信小程序、HTTP协议)

实现微信小程序控制单片机外设动作 一、使用ONENET可视化组件控制单片机外设动作二、使用微信小程序控制单片机外设动作三、总结 本篇博客话接上文: https://blog.csdn.net/m0_71523511/article/details/135892908 上一篇博客实现了微信小程序接收单片机上传的数据…

《吐血整理》高级系列教程-吃透Fiddler抓包教程(30)-Fiddler如何抓取Android7.0以上的Https包-番外篇

1.简介 通过宏哥前边几篇文章的讲解和介绍想必大家都知道android7.0以上,有android的机制不在信任用户证书,导致https协议无法抓包。除非把证书装在系统信任的证书里,此时手机需要root权限。但是大家都知道root手机是非常繁琐的且不安全&…

开源大数据集群部署(七)Freeipa卸载

作者:櫰木 1、命令卸载 卸载FreeIPA服务器和客户端的命令,以及清理相关残留文件和卸载相关软件包。 ipa-server-install -U --uninstall #服务端卸载 ipa-client-install -U --uninstall #客户端卸载 #删除残留文件,避免二次安装失败 cd /va…

数据可视化工具JSON Crack结合内网穿透实现公网访问

文章目录 1. 在Linux上使用Docker安装JSONCrack2. 安装Cpolar内网穿透工具3. 配置JSON Crack界面公网地址4. 远程访问 JSONCrack 界面5. 固定 JSONCrack公网地址 JSON Crack 是一款免费的开源数据可视化应用程序,能够将 JSON、YAML、XML、CSV 等数据格式可视化为交互…

Prometheus 监控系统的初步了解与系统搭建

目录 目录 目录 前言 Prometheus的相关知识 Prometheus特点 Prometheus的存储引擎:TSDB Prometheus的组件 1.核心组件:prometheus server Prometheus server又分为三个部分: 2.exports 3.client Library 4.cadvisor 5.blackbox-ex…

Java毕业设计-基于jsp+servlet的人事管理系统-第79期

获取源码资料,请移步从戎源码网:从戎源码网_专业的计算机毕业设计网站 项目介绍 基于jspservlet的人事管理系统:有配套报告文档,前端 jsp、jquery,后端 servlet、jdbc,集成员工档案管理、公告浏览、请假信…

H5项目使用@microsoft/fetch-event-source

前言: 在microsoft/fetch-event-source 文档中,没有介绍在项目中使用script 引入,只介绍了通过npm 引入的方式;项目的接口又是 post 方式的流式接口。 解决方式: 借助 webpack 工具 实现步骤: 1、初始化…

vue预览pdf文件的几种方法

文章目录 vue预览pdf集中方法方法一:方法二:展示效果:需要包依赖:代码: 方法三:展示效果:需要包依赖:代码:自己调参数,选择符合自己的 vue预览pdf集中方法 我…

方差与协方差之间的区别?

方差和协方差都是用来衡量随机变量之间关系的统计量,但它们的计算方式和含义有所不同。 方差(Variance):方差是描述数据集合离散程度的统计量,它衡量了数据点与均值之间的平均距离。 方差越大,表示数据点越…

【AI大模型应用开发】1.3 Prompt攻防(安全) 和 Prompt逆向工程

随着GPT和Prompt工程的大火,随之而来的是隐私问题和安全问题。尤其是最近GPTs刚刚开放,藏在GPTs后面的提示词就被网友们扒了出来,甚至直接被人作为开源项目发布,一点安全和隐私都没有,原作者的收益也必然受到极大损失……

图灵日记之java奇妙历险记--抽象类和接口

目录 抽象类概念抽象类语法 接口概念规则使用特性实现多个接口接口的继承接口使用实例Clonable接口和深拷贝抽象类和接口的区别 Object类 抽象类 概念 在面向对象的概念中,所有对象都是通过类来描述的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够…

Axios使用方法详解,从入门到进阶

目录 🌳 Axios的诞生 🌳 Axios的介绍 定义 原理 特性 浏览器支持情况 如何安装 🌳 Axios的使用 ◼️ 创建vue项目 ◼️ Axios的基础用法(get、post、put 等请求方法) get方法 post方法 put和patch方法 …

Jenkins打包、发布、部署

目录 前言 一、安装jdk 二、安装maven 三、安装git 四、安装jenkins 五、访问jenkins 六、创建用户 七、配置jenkins 八、执行 总结 前言 服务器:CentOS 7.9 64位 jdk:1.8 maven:3.9.1 git:git version 1.8.3.1 jenkins&a…

C++中的智能指针

目录 背景 裸指针 智能指针 原理 智能指针 auto_ptr unique_ptr 1. unique_ptr禁止拷贝构造(copy constructor)和赋值运算() 1.1 C提供了标准库函数move() 1.2.如果unique_ptr是一个临时右值 2. unique_ptr可用于数组 shared_ptr 环状引用问题 weak_ptr 注意&#xf…

CRM管理系统有哪些应用价值?

如何杜绝员工飞单、走私单? 如何避免员工离职带走客户? ——crm管理系统 企业要想取得成功,有强大的技术支持和合适的工具辅助,crm管理系统这类工具就是客户管理系统,它是一种先进的管理模式,crm管理系统通…

浅析透明图片显示

1、理解图片构成 上面是一个飞机的透明图片,每个图片都是有一个个像素点构成的,每个像素点都是一个颜色,在内存中占4个字节,由透明度、红、绿、蓝构成。如下图: 该飞机图片飞机图片长51像素,宽63像素。就是…

苹果m1、m2安装blender GIS,解决not Imageio 报错

blender-GIS 能够在地图上生成地形,如下图所示: 使用blenderGIS过程中会有 imageio 找不到的情况, 网上的 imageio 用在苹果电脑的M1、M2芯片上好像还是没有出图,似乎这个 imageio 这个已经是好几年前的代码,没能适配…

Sphinx的原理详解和使用

一、Sphinx介绍 1.1 简介 Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检索引擎。意图为其他应用提供高速、低空间占用、高结果 相关度的全文搜索功能。Sphinx可以非常容易的与SQL数据库和脚本语言集成。当前系统内置MySQL和PostgreSQL 数据库数据源的支持,也…

Vue3 + Express 实现大文件分片上传、断点续传、秒传

目录 前言原理实现项目搭建获取文件文件分片hash计算文件上传文件合并秒传&断点续传 完整代码 前言 在日常开发中,文件上传是常见的操作之一。文件上传技术使得用户可以方便地将本地文件上传到Web服务器上,这在许多场景下都是必需的,比如…

比特币ETF通过为BiFinance带来全新机遇

2013年7月,Winklevoss兄弟提交了首个比特币交易所交易基金(ETF)申请,随后多家公司纷纷效仿,但美国证券交易委员会(SEC)均以“容易受到市场操纵”为由驳回了这些申请。时至2024年伊始&#xff0c…