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:

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言-算法-线性dp

[USACO1.5] [IOI1994]数字三角形 Number Triangles 题目描述 观察下面的数字金字塔。 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 在上面的样例中,从 7 → 3 → 8 →…

k8s-基础知识(Pod,Deployment,ReplicaSet)

k8s职责 自动化容器部署和复制随时扩展或收缩容器容器分组group,并且提供容器间的负载均衡实时监控,即时故障发现,自动替换 k8s概念及架构 pod pod是容器的容器,可以包含多个container pod是k8s最小可部署单元,容器…

从物联网看智慧文旅的未来:技术与实践的完美结合,重塑旅游体验的新篇章

一、物联网技术:智慧文旅的基石 随着科技的飞速发展,物联网技术已经深入到我们生活的方方面面,尤其在智慧文旅领域,物联网技术更是起到了不可或缺的作用。它如同智慧文旅的基石,为旅游行业带来了前所未有的创新和变革…

Elasticsearch内核解析 - 数据模型篇

Elasticsearch内核解析 - 数据模型篇 - 知乎 Elasticsearch是一个实时的分布式搜索和分析引擎,它可以帮助我们用很快的速度去处理大规模数据,可以用于全文检索、结构化检索、推荐、分析以及统计聚合等多种场景。 Elasticsearch是一个建立在全文搜索引擎…

8.6跳跃游戏②(LC45-M)

算法: 与上一题一样,还是看最大覆盖范围 要从覆盖范围出发,不管怎么跳,覆盖范围内一定是可以跳到的,以最小的步数增加覆盖范围,覆盖范围一旦覆盖了终点,得到的就是最少步数! 这里…

go 语言中 json.Unmarshal([]byte(jsonbuff), j) 字节切片得使用场景

struct_tag的使用 在上面的例子看到,我们根据结构体生成的json的key都是大写的,因为结构体名字在go语言中不大写的话,又没有访问权限,这种问题会影响到我们对json的key的名字,所以go官方给出了struct_tag的方法去修改…

unity刷新grid,列表

获取UIGrid 组件,更新列表 listParent.GetComponent().repositionNow true;

Ubuntu 申请 SSL证书并搭建邮件服务器

文章目录 Log 一、域名连接到泰坦(Titan)电子邮件二、NameSilo Hosting 避坑三、Ubuntu 搭建邮件服务器1. 环境准备2. 域名配置3. 配置 Postfix 和 Dovecot① 安装 Nginx② 安装 Tomcat③ 申请 SSL 证书(Lets Encrypt)④ 配置 pos…

【并发编程】 synchronized的普通方法,静态方法,锁对象,锁升级过程,可重入锁,非公平锁

目录 1.普通方法 2.静态方法 3.锁对象 4.锁升级过程 5.可重入的锁 6.不公平锁 非公平锁的 lock 方法: 1.普通方法 将synchronized修饰在普通同步方法,那么该锁的作用域是在当前实例对象范围内,也就是说对于 SyncDemosdnewSyncDemo();这一个实例对象…

ORBSLAM3安装

1. 依赖 在该目录下打开终端,安装下面所有依赖。 1. 1 编译软件 sudo apt-get install gccsudo apt-get install g++sudo apt-get install build-essentialsudo apt-get install cmakesudo apt-get install openssl sudo apt-get install libssl-dev1. 2 Pangolin git cl…

蓝桥杯备战——5.动态数码管扫描

1.分析原理图 经查阅说明书得知数码管为共阳极,共阳端口接到了U8,而段码接到了U7。 如果需要选中U8,我们只需要将P250;P261;P271; 如果需要选中U7,我们只需要将P251;P261;P271; 2.代码示例 void Delay1ms() //12.000MHz {unsigned char data i, j;i 12;j 169;…

java以SSL方式连ES

先做准备工作,浏览器方式访问 ES7.X url https://127.0.0.1:8027 弹出用户名和密码 输入后在浏览器得到 { “name” : “DTCNPEMS04”, “cluster_name” : “cnp-es-cluster”, “cluster_uuid” : “wb0So_FqQBOKqtXnsqofTg”, “version” : { “number” : “7.…

java web 校园健康管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web校园健康管理系统是一套完善的java web信息管理系统 ,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysq…

第一篇【传奇开心果短博文系列】Python的库OpenCV技术点案例示例:cv2常用功能和方法

传奇开心果短博文系列 短博文系列目录Python的库OpenCV技术点案例示例系列 短博文目录一、前言二、常用功能和方法示例三、归纳总结 短博文系列目录 Python的库OpenCV技术点案例示例系列 短博文目录 一、前言 cv2是Python中常用的第三方库,也称为OpenCV库&#…

视频监控方案设计:EasyCVR视频智能监管系统方案技术特点与应用

随着科技的发展,视频监控平台在各个领域的应用越来越广泛。然而,当前的视频监控平台仍存在一些问题,如视频质量不高、监控范围有限、智能化程度不够等。这些问题不仅影响了监控效果,也制约了视频监控平台的发展。 为了解决这些问…

学生护眼灯哪个品牌好?最好的学生护眼灯品牌排行

说到台灯,相信大家都不陌生,特别是对于家中有学生的家长们而言,一款优秀的护眼台灯已经成为居家必备的工具之一。然而,随着各种护眼台灯层出不穷,价格从几百到上千不等,人们对于这一领域的产品是否物有所值…

【Linux】-网络概念

💖作者:小树苗渴望变成参天大树🎈 🎉作者宣言:认真写好每一篇博客💤 🎊作者gitee:gitee✨ 💞作者专栏:C语言,数据结构初阶,Linux,C 动态规划算法🎄 如 果 你 …

[pytorch入门] 2. tensorboard

tensorboard简介 TensorBoard 是一组用于数据可视化的工具。它包含在流行的开源机器学习库 Tensorflow 中.但是也可以独立安装&#xff0c;服务Pytorch等其他的框架 可以常常用来观察训练过程中每一阶段如何输出的 安装pip install tensorboard启动tensorboard --logdir<d…

帆软数据决策系统——用户名或密码错误解决方案

今天在公司调试本地大屏效果效果&#xff0c;死活登录不上数据决策系统。 附上截图&#xff1a; 解决方案&#xff1a; 找到本地FineReport设计器的安装路径&#xff0c;例如&#xff1a;D:\commonsoftware\FineReport_11.0\setup\FineReport_11.0\webapps\webroot\WEB-INF\em…

【医学图像隐私保护】PLAN方法:解决 GAN 生成医学图像 Latent 空间中的隐私保护

PLAN方法&#xff1a;解决 GAN 生成医学图像 Latent 空间中的隐私保护方法 PLAN 原理StyleGAN 生成视网膜图k-SALSA 生成视网膜图PLAN方法 生成视网膜图 总结 PLAN 原理 论文&#xff1a;https://arxiv.org/abs/2307.02984 代码&#xff1a;https://github.com/perceivelab/P…