56.网游逆向分析与插件开发-游戏增加自动化助手接口-通过UI分析自动药水设定功能

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

上一节内容:自动药水设定功能的逆向分析-CSDN博客

这次是假设没有之前的思路积累的话,怎样去找按钮事件。

通过ui当做切入点去做,就是一个窗口它显示不显示,游戏怎样控制这个事情,窗口渲染不渲染,它肯定是有一个标志位的东西,默认来讲假设它是0或者1,也就是肯定会通过数据变化找到这个内容的,当找到这个相关的内容以后,接下来就可以很轻松的去处理这个事情。

接下来打开Cheat Engine,如下图选择位置的初始值,然后点击首次扫描

然后把游戏的自动药水设定窗口关闭,然后在Cheat Engine里输入0,再点击 再次扫描,这样一步的意思就是假设 自动药水设定窗口 显示时标志位是1,关闭时标志位是0,如果这样找不到东西,那就把它们反过来,显示时标志位是0,关闭时标志位是1,这样再找,应该就能找到了,这样说的原因是,如果是我们开发这个东西,在显示窗口时肯定是传一个bool或者BOOL类型,一般人也都会这样去做,所以才这样去找,

然后显示出来之后再用1找,就一直重复这一步与上一步的操作就完了

最终找到了33个值,这个时候,这么多数据的原因,是有可能它窗口里每一个按钮,继续往下看

下图红框中,每个按钮都有一个显示不显示的值,所以这么多值是正常的

接下来要看看它有没有与其它界面共享数据,是有共享的,因为我们的自动药水设定窗口没有打开,所在可以再扫一次0

最终就17个了

 在分析的时候可以看出第一个红框的值更新的慢,下面十六个更新的很快,所以直接把第一个给移除掉了

然后把它们的值都改成1

但是很尴尬都没有显示出来,然后通过游戏中的按钮把自动药水设定窗口打开发现,它在这个基础上加了一个1

我们是想找一个象开关一样的东西,很遗憾没有找到,不管是之前的操作失误还是怎样,反正就是没找到,既然没找到那就死马当活马医,因为我们发现不管是快捷键打开自动药水设定窗口还是按钮打开,它会把值加1,会导致数据的变化,这一点是绝对没问题的,既然没问题,那我们就通过这个变化往上找,除非用了多线程技术来回倒,那么否则的话我们一定能够找到,我们要找的地方。所以通过找出是什么改写了这个地址的方式往上找

发现有两个地方改写了它

可以发现一个是减1一个是加1

先保存一下,寄存器信息,98bc81

接下来把Cheat Engine关掉,打开x96dbg调试

一下断点,就会卡主,所以这里是共用的,所以之前保存的哪两个信息图有用了,所以这时要下条件断点

设置完条件断点,再从游戏中打开自动药水设定窗口,就断点住了

然后直接按ctrl+f9在按f8往上找,然后就到了下图中的函数里,到函数之后就是一步一步往上分析的过程了

 0x722A59地址一直找到一个只有自动药水设定功能才会调用的位置,但是到了这里也并不知道这里是偏底层的位置还是偏上层的位置,所以还得往上,就是找到最后一层它们不共用的地方,就是现在有三个接口 a接口 b接口 c接口调用了一个共用的函数,共用函数又调用了一个x函数,x函数又调用了另外的函数,现在不知道是在x函数还是另外的函数里,最好的方式使用共用函数里下手,共用函数的特定就是再往上一层就会跑到abc三个不同的函数,就是按下快捷键a函数响应,bc函数不响应,按下自动药水设定按钮时,b函数响应,ac函数不响应,也就是说现在还是处于abc三个接口共用阶段,所以还得网上找

0x84CB6B 经过一直往上找,最终来到了下图位置,下图位置的代码是一块一块的,它只有按快捷时才会触发,另外两个接口没法触发,所以现在按照我们的逻辑来讲,abc三个地方,现在已经找到a快捷键的这个地方,快捷键调用的地方bc也会调用,所以说快捷键到上一个函数之间是要分析的过程,所以 0x84CB6B位置调用的0x8687F0  函数要重点找。

0x8687F0 函数abc三个接口都会调用它,但是取消按钮也会调用,取消按钮的处理看上一节的分析(通过入参决定的是取消还是其它的),接下来就是分析参数、调用约定、写原型(跟上节一模一样),所以通过这种方式我们也找到了,上一节找到的函数,查找的方式不只这一种,逆向分析的方式有很多种,这只是其中一种,熟练正向开发,逆向的方式也就多了。

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

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

相关文章

传统项目基于tomcat cookie单体会话升级分布式会话解决方案

传统捞项目基于servlet容器 cookie单体会话改造分布式会话方案 ##引入redis,spring-session依赖 <!--redis依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>&…

ZigBee协议栈 -- Zstack协议栈(Zstack2.5.1a)

文章目录 Zstack 协议栈介绍ZStack 的安装ZStack 的结构系统初始化启动操作系统 设备的选择定位编译选项ZStack 中的寻址ZStack 中的路由OSAL 调度管理ZStack 中的串口通信设置配置信道配置 PANID 和要加入的网络最大有效载荷大小非易失性存储器 Zstack 协议栈介绍 CC2530 芯片…

设计模式(4)--对象行为(8)--状态

1. 意图 允许一个对象在其内部状态改变时改变它的行为。 2. 三种角色 上下文环境(Context)、抽象状态(State)、具体状态(Concrete State) 3. 优点 3.1 将与特定状态相关的行为局部化&#xff0c;并且将不同状态的行为分割开来。 3.2 使得状态转换显式化。 3.3 State对象可被共…

香橙派 ubuntu实现打通内网,外网双网络,有线和无线双网卡

当香橙派 ubuntu 连了有线&#xff0c;和无线时&#xff0c;默认请求外网时&#xff0c;只走一个网卡&#xff0c;如走了内网网卡&#xff0c;就只能访问内访问&#xff0c;访问不了外网&#xff1b;走了外网网卡就只能访问外网&#xff0c;访问不了内网&#xff1b; 实现双网…

大数据Doris(四十四):查询物化视图和自动匹配

文章目录 查询物化视图和自动匹配 一、​​​​​​​查询物化视图

炫酷按钮制作(HTML+CSS+Javascript)

实现效果&#xff1a; 当鼠标点击按钮时&#xff1a; 实现代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>div{margin-top: 20px;margin-left: 20px;}.button{border: soli…

9. 进程

9. 进程 1. 进程与程序1.1 main() 函数由谁调用1.2 程序如何结束1.2.1 注册进程终止处理函数 atexit() 1.3 何为进程1.4 进程号 2. 进程的环境变量2.1 应用程序中获取环境变量2.1.1 获取指定环境变量 2.2 添加/删除/修改环境变量2.2.1 putenv()2.2.2 setenv()2.2.3 命令行式添加…

IC入门必备!数字IC中后端设计实现全流程解析(1.3万字长文)

吾爱IC社区自2018年2月份开始在公众号上开始分享数字IC后端设计实现相关基础理论和实战项目经验&#xff0c;累计输出文字超1000万字。全部是小编一个个字敲出来的&#xff0c;绝对没有复制粘贴的情况&#xff0c;此处小编自己得给自己鼓鼓掌鼓励下自己。人生不要给自己设限&am…

自激振荡电路笔记 电弧打火机

三极管相关 三极管的形象描述 二极管 简单求解&#xff08;理想&#xff09; 优先导通&#xff08;理想&#xff09; 恒压降 稳压管&#xff08;二极管plus&#xff09; 基础工作模块 理想稳压管的工作特性 晶体管之三极管(“两个二极管的组合” ) 电弧打火机电路 1.闭合开…

3D视觉-结构光测量-多线结构光测量

工作原理 多线结构光测量在测量方式上类似上述线结构光测量&#xff0c;但是两者也有着一些明显的差别。这种形式的结构光测量&#xff0c;也常常被成为面结构光测量。首先激光器发出电光源通过通过光栅的调制产生多个切片光束&#xff0c;这些切片光束照射到待测物体表面后形成…

安全生产知识竞赛活动方案

为进一步普及安全生产法律法规知识&#xff0c;增强安全意识&#xff0c;提高安全技能&#xff0c;经研究&#xff0c;决定举办以“加强安全法治、保障安全生产”为主题的新修订《安全生产法》知识竞赛活动&#xff0c;现将有关事项通知如下&#xff1a; 一、活动时间&#xf…

大模型系列:OpenAI使用技巧_自定义文本向量化embeding

文章目录 0. Imports1. 输入2. 加载和处理输入数据3. 将数据分成训练和测试集4. 生成合成的负样本5. 计算嵌入和余弦相似度6. 绘制余弦相似度的分布图7. 使用提供的训练数据优化矩阵。8. 绘制训练期间找到的最佳矩阵的前后对比图&#xff0c;展示结果 本笔记本演示了一种将Open…

yolov8实战第四天——yolov8图像分类 ResNet50图像分类(保姆式教程)

yolov8实战第一天——yolov8部署并训练自己的数据集&#xff08;保姆式教程&#xff09;_yolov8训练自己的数据集-CSDN博客在前几天&#xff0c;我们使用yolov8进行了部署&#xff0c;并在目标检测方向上进行自己数据集的训练与测试&#xff0c;今天我们训练下yolov8的图像分类…

环形锻件全自动尺寸测量法兰三维检测自动化设备-CASAIM自动化蓝光检测系统

锻造是一种利用锻压机械对金属坯料施加压力&#xff0c;使其产生塑性变形以获得具有一定机械性能、一定形状和尺寸锻件的加工方法&#xff0c;锻压&#xff08;锻造与冲压&#xff09;的两大组成部分之一。 目前客户使用专用直径千分尺、塞规、塞尺等对锻件形状尺寸误差进行测…

数模学习day05-插值算法

插值算法有什么作用呢&#xff1f; 答&#xff1a;数模比赛中&#xff0c;常常需要根据已知的函数点进行数据、模型的处理和分析&#xff0c;而有时候现有的数据是极少的&#xff0c;不足以支撑分析的进行&#xff0c;这时就需要使用一些数学的方法&#xff0c;“模拟产生”一些…

SOLIDWORKS Flow Simulation热环境分析

关于室内通风的问题&#xff0c;其实室内通风方面的与我们之前聊到的数据中心通风散热问题相类似&#xff0c;只不过本次会引入一个新的模块——人体舒适度问题&#xff0c;在Flow Simulation中有一个HVAC模块就是专门用于研究人体舒适度的&#xff0c;它可以预测人们在热环境中…

力扣题目学习笔记(OC + Swift)206. 反转链表

206. 反转链表 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 方法一、迭代 在遍历链表时&#xff0c;将当前节点的 next\textit{next}next 指针改为指向前一个节点。由于节点没有引用其前一个节点&#xff0c;因此必须事先存储其…

【Proteus仿真】【51单片机】自动除湿器系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器&#xff0c;使用按键、LCD1602液晶、DHT11温湿度、继电器除湿模块等。 主要功能&#xff1a; 系统运行后&#xff0c;LCD1602显示DHT11传感器检测的湿度值阈值&am…

开源radishes高仿网易云音乐完整源码,可试听和下载“灰色”歌曲,跨平台的无版权音乐平台

源码介绍 Radishes是项目名称&#xff0c;是由萝卜翻译而来。可以在这里试听和下载“灰色”歌曲&#xff0c;是一个可以跨平台的无版权音乐平台。 萝卜音乐界面和功能参考 windows 网易云音乐界面和 ios 的网易云音乐 安装依赖 cd radishes/ yarn bootstrap 运行项目 web:…

docker-compose Install TeamCity

前言 TeamCity 是一个通用的 CI/CD 软件平台,可实现灵活的工作流程、协作和开发实践。允许在您的 DevOps 流程中成功实现持续集成、持续交付和持续部署。 系统支持 docker download TeamCity TeamCity 文档参考项目离线包百度网盘获取