54.网游逆向分析与插件开发-游戏增加自动化助手接口-项目需求与需求拆解
内容来源于:易道云信息技术研究院VIP课
项目需求:
为游戏增加VIP功能-自动化助手。自动化助手做的是首先要说一下背景,对于授权游戏来讲它往往年限都比较老,老游戏和新游戏设计理念是不同的,比如说老游戏基本上在10年以前的游戏它设计的时候都是你要玩命的练级、打怪、打装备就这样大量的消耗我们的时间,但是我们现在的10年以后的新的游戏国产游戏设计理念是它是要求每个人差距都是相同的,就是我们之间是没有差距的,就是只要你每天上来玩三个小时大家都一样,没有高低差距,将来的差距主要体现在技术方面,但授权游戏不是这样的,授权游戏因为是老游戏,所以它还是要练级、打怪,但是想一下有谁能手动的在这个年代手动的打怪坚持下来,这是不可能的没有人能坚持,所以就迎来的我们现在的这个需求,如果它手动打怪不可能,将来用户最大的选择就是去卖外挂,既然它去买外挂,所以我们游戏的运营方说既然你要去买外挂,那我还不如去提供给你一个比较好用的自动化助手,来帮助你能够快速的练级,这样的话我也能够保证功能在可控范围内,现在靶场游戏当年它们在运营这款游戏的时候,它们也是这样做的,到这就能明白要做的自动化助手大概是个什么东西了,但是现阶段只做界面,只实现自动化助手的显示,后续会慢慢的扩充自动化助手,帮助玩家有一个更好的游戏体验,游戏中本身是有一个辅助性的设定的,但是它比较鸡肋,如果是非vip它还是只能用游戏本身的自动化药水\(图1),如果是vip当再按自动化药水设定的时候就显示,我们全新的功能,就是我们提供的自动化助手功能,也就是当是vip时就把原本的自动化药水按钮改成自动化助手[vip],对于非vip,就还是叫原来的自动化药水,使用自动化药水功能时就弹出一个提示,可以开通vip使用更高级的自动化助手功能,就是说对于非vip的玩家来说你得告诉它你有这个东西你得去买
需求拆解:
第一个功能:
首先找到自动化药水按钮的功能在什么地方,自动化药水还有快捷键(T键)所以它是有两个接口,所以除了要处理按钮点击还要处理快捷键的点击,然后它还有个接口如图3。所以它是一共有三个入口点,所以接下来要去分析每一个入口点,这里有一个技巧,就是三个入口点它会不会为每个入口点单独设计一套功能,它们三个界面都是一样的所以本质上它们三个都还是调用的一个地方,但是这三个地方的调用逻辑往往是不一样的,尤其是快捷键的逻辑更是不一样的,所以要有一个基本的概念,这三个不管逻辑再不一样,开头可能不一样,往底层是一定会调用一个共同的地方,所以我们只需要在共同的地方看有没有机会去做一个统一的处理,这样的效果是最好的,做处理就是根据是不是vip来处理,如果不是vip就继续运行原本的代码,如果是vip这个时候就要弹出我们自己的窗口,这样第一个功能就搞定了。
第二个功能:
第二个功能修改菜单比较麻烦,有两个方法,第一个方法这个自动药水设定数据是存在客户端里,在客户端里一定有个文本文档或者有一个配置文件留了界面上的一些东西,它加载游戏的时候它一定是把这个数据给加载进来最后通过某种索引或者某种东西,来把这个东西加载进来,就这样的一种方式,首先找到客户端的文本文档就能修改客户端,客户端的文件是压缩了的首先要解压,但解压它是有自己的算法的,需要自己写解压。第二个方式,启动的时候它会加载相关的配置文件到内存里,然后自动化药水设定是一个ui、是一个按钮,按钮上的文本和内存里的数据它一定有就是按钮初始化的时候一定要根据内存里,把这个内存里的文本读到按钮里,一定有这样的一个过程,我们就要找这个过程,然后从这个过程里下手脚,然后游戏它读文本内存的时候一定会想办法访问这块内存,然后游戏怎样得到这个内存我们就怎样得到这个内存,我们得到内存之后就可以随意的修改文本了。
第三个功能:
找到游戏中信息提示的接口,实现我们想要的信息,比如玩家不是vip,我们要弹框提示它我们有自动化助手,如果弹一个MessageBox这样就很掉价很不和谐,如果用图4里的提示效果就会比MessageBox好很多,我们未必能调用图4的提示,但要尽量努力去用这样的方式。
图1:

通过判断血量然后按快捷栏里的东西,快捷栏如图2:

图2:下图红框里是快捷栏,也就是自动化药水是通过把药水放到快捷栏上,通过快捷栏来操作,这是游戏本身的一个功能

图3:

通过鼠标右键点击也可以弹出自动化药水

图4:


相关文章:
54.网游逆向分析与插件开发-游戏增加自动化助手接口-项目需求与需求拆解
内容来源于:易道云信息技术研究院VIP课 项目需求: 为游戏增加VIP功能-自动化助手。自动化助手做的是首先要说一下背景,对于授权游戏来讲它往往年限都比较老,老游戏和新游戏设计理念是不同的,比如说老游戏基本上在10年…...
Spring Boot笔记2
3. SpringBoot原理分析 3.1. 起步依赖原理解析 3.1.1. 分析spring-boot-starter-parent 按住Ctrl键,然后点击pom.xml中的spring-boot-starter-parent,跳转到了spring-boot-starter-parent的pom.xml,xml配置如下(只摘抄了部分重…...
MySQL5.7服务器 SQL 模式
官网地址:MySQL :: MySQL 5.7 Reference Manual :: 5.1.10 Server SQL Modes 欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯. MySQL 5.7 参考手册 / ... / 服务器 SQL 模式 5.1.10 服务器 SQL 模式…...
关于LayUI表格重载数据问题
目的 搜索框搜索内容重载数据只显示搜索到的结果 遇到的问题 在layui官方文档里介绍的table属性有data项,但使用下列代码 table.reload(test, {data:data //data为json数据}); 时发现,会会重新调用table.render的url拿到原来的数据,并不会显示出来传…...
MyBatis-mapper.xml配置
1、配置获取添加对象的ID <!-- 配置我们的添加方法,获取到新增加了一个monster对象的iduseGeneratedKeys"true" 意思是需要获取新加对象的主键值keyProperty"monster_id" 表示将获取到的id值赋值给Monster对象的monster_id属性 --><…...
【如何选择Mysql服务器的CPU核数及内存大小】
文章目录 🔊博主介绍🥤本文内容📢文章总结📥博主目标 🔊博主介绍 🌟我是廖志伟,一名Java开发工程师、Java领域优质创作者、CSDN博客专家、51CTO专家博主、阿里云专家博主、清华大学出版社签约作…...
【从浅到深的算法技巧】4.静态方法
1.1.6静态方法 在许多语言中,静态方法被称为函教,静态方法是一组在被调用时会被顺序执行的语句。修饰符static将这类方法和1.2的实例方法区别开来。当讨论两类方法共有的属性时我们会使用不加定语的方法一词。 1.1.6.1静态方法 方法封装了由一系列语句…...
YOLO手部目标检测
手部目标检测原文地址如下:手部关键点检测2:YOLOv5实现手部检测(含训练代码和数据集)_yolov5 关键点检测-CSDN博客 手部检测数据集地址如下: 手部关键点检测1:手部关键点(手部姿势估计)数据集(含下载链接)_手关键点数据集-CSDN博…...
网络IP地址如何更改?怎么使用动态代理IP提高网速?
网络IP地址更改以及使用动态代理IP提高网速的步骤如下: 一、更改IP地址 1. 打开浏览器,输入路由器登陆地址并登陆路由器后台管理界面。 2. 找到“高级设置”或“无线设置”或“VPN设置”一栏,点击“断开”,即可断开网络࿰…...
Flink实时电商数仓之DWS层
需求分析 关键词 统计关键词出现的频率 IK分词 进行分词需要引入IK分词器,使用它时需要引入相关的依赖。它能够将搜索的关键字按照日常的使用习惯进行拆分。比如将苹果iphone 手机,拆分为苹果,iphone, 手机。 <dependency><grou…...
MFC - CArchive/内存之间的序列化应用细节
文章目录 MFC - CArchive/内存之间的序列化应用细节概述笔记END MFC - CArchive/内存之间的序列化应用细节 概述 有个参数文件, 开始直接序列化到文件. 现在优化程序, 不想这个参数文件被用户看到. 想先由参数发布程序(自己用)设置好参数后, 加个密落地. 等用户拿到后, 由程序…...
C语言实验4:指针
目录 一、实验要求 二、实验原理 1. 指针的基本概念 1.1 指针的定义 1.2 取地址运算符(&) 1.3 间接引用运算符(*) 2. 指针的基本操作 2.1 指针的赋值 2.2 空指针 3. 指针和数组 3.1 数组和指针的关系 3.2 指针和数…...
项目——————————
C/C Linux Socket网络编程 TCP 与 UDP_c 语言tcp socket cleint read-CSDN博客C/C Socket - TCP 与 UDP 网络编程_c socket udp-CSDN博客 登录—专业IT笔试面试备考平台_牛客网...
【论文阅读】Realtime multi-person 2d pose estimation using part affinity fields
OpenPose:使用PAF的实时多人2D姿势估计。 code:GitHub - ZheC/Realtime_Multi-Person_Pose_Estimation: Code repo for realtime multi-person pose estimation in CVPR17 (Oral) paper:[1611.08050] Realtime Multi-Person 2D Pose Estima…...
图像分割实战-系列教程9:U2NET显著性检测实战1
🍁🍁🍁图像分割实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 U2NET显著性检测实战1 1、任务概述...
RK3568平台 Android13 GKI架构开发方式
一.GKI简介 GKI:Generic Kernel Image 通用内核映像。 Android13 GMS和EDLA认证的一个难点是google强制要求要支持GKI。GKI通用内核映像,是google为了解决内核碎片化的问题,而设计的通过提供统一核心内核并将SoC和板级驱动从核心内核移至可加…...
阿里云服务器节省计划价格便宜_成本优化全解析
阿里云服务器付费模式节省计划怎么收费?为什么说节省计划更节省成本?节省计划是一种折扣权益计划,可以抵扣按量付费实例(不含抢占式实例)的账单。相比包年包月实例,以及预留实例券和按量付费实例的组合&…...
3种依赖管理工具实现requirements.txt文件生成
1.pip 实现方式 要使用 pip 生成 requirements.txt 文件,可以使用以下命令: pip freeze > requirements.txt这个命令会将当前环境中所有已安装的 Python 包及其版本信息输出到 requirements.txt 文件中。这个文件可以用于共享项目的依赖信息…...
超图iClient3DforCesium地形、影像、模型、在线影像交互示例
超图iClient3DforCesium地形、影像、模型、在线影像交互示例 描述示例代码 描述 数据源:基于iserver发布的三维场景(地形、影像、BIM模型) 在线arcgis影像 应用:目录树展示源数据列表、目录树控制源数据可视化结果显隐、BIM模型点选查询关联属性 示例代…...
【解决】电脑上的WIFI图标不见了咋整?
相信不少同学都遇到过这种情况:电脑上的wifi图标莫名不见了,甚至有时候还是在使用的中途突然断网消失的。 遇到这种情况一般有两种解决方案: 1. 在开机状态下长按电源键30秒以上 这种办法应该是给主板放电,一般应用在wifi6上面。…...
Linux环境下Python段错误全解析:从内存管理到线程安全的避坑手册
Linux环境下Python段错误全解析:从内存管理到线程安全的避坑手册 当你在深夜调试一个复杂的Python项目时,突然看到屏幕上跳出"Segmentation fault (core dumped)"的提示,那种感觉就像在高速公路上爆胎——明明代码逻辑看起来没问题…...
FlexRay帧格式拆解:从Header到Trailer,手把手教你读懂汽车总线的‘数据包’
FlexRay帧格式实战解析:像拆解网络包一样掌握汽车总线通信 在汽车电子系统开发中,理解总线协议就像网络工程师需要精通TCP/IP一样重要。FlexRay作为高性能车载网络的核心协议,其帧格式设计既体现了汽车电子对确定性的严苛要求,又融…...
PyAEDT终极指南:3个技巧让你快速掌握Python自动化工程仿真
PyAEDT终极指南:3个技巧让你快速掌握Python自动化工程仿真 【免费下载链接】pyaedt AEDT Python Client Package 项目地址: https://gitcode.com/gh_mirrors/py/pyaedt PyAEDT是Ansys Electronics Desktop(AEDT)的Python客户端工具包&…...
告别软件盗版烦恼:用YT88加密狗5分钟搞定C#/Java/Python源代码加密(附完整开发包下载)
5分钟实现多语言源代码加密:YT88加密狗实战指南 独立开发者最头疼的问题之一,就是辛苦编写的代码被轻易反编译或盗用。上周我的一个朋友就遇到了这种情况——他花了三个月开发的Python数据分析工具,刚上线两周就被破解并免费传播。这种经历在…...
Emacs verilog-mode实战:5分钟搞定AUTOARG自动参数生成(附避坑指南)
Emacs verilog-mode实战:5分钟掌握AUTOARG高效参数生成技巧 在数字电路设计领域,Verilog作为主流硬件描述语言,其模块化开发方式虽然提高了代码复用性,却也带来了大量重复性工作。模块接口定义中的参数列表维护就是典型痛点——每…...
高效一键构建:DoL-Lyra整合包的智能自动化构建系统解析
高效一键构建:DoL-Lyra整合包的智能自动化构建系统解析 【免费下载链接】DOL-CHS-MODS Degrees of Lewdity 整合 项目地址: https://gitcode.com/gh_mirrors/do/DOL-CHS-MODS 还在为Degrees of Lewdity游戏的美化整合包配置而烦恼吗?您是否曾因手…...
Step3-VL-10B内网穿透应用:安全远程模型调用方案
Step3-VL-10B内网穿透应用:安全远程模型调用方案 1. 场景需求与痛点分析 很多企业和机构在内部部署了强大的多模态AI模型,比如Step3-VL-10B这样的视觉语言模型,能够处理图像和文本的复杂任务。但这些模型通常运行在内网环境中,外…...
马西奎《电磁场与电磁波》学习记录-第 2 章学前准备-坐标系的深入 + 微分元(dl、dS、dV)
一、正交坐标系的一般概念1. 什么是正交曲线坐标系三组坐标面互相垂直正交单位矢量处处正交:⊥⊥直角、圆柱、球坐标都属于这一类。2. 坐标变量与拉梅系数(度量系数)对一般正交曲线坐标 (,,):坐标面:常数、…...
三极管实战指南:从NPN到PNP,手把手教你识别与使用(附常见误区解析)
三极管实战指南:从NPN到PNP,手把手教你识别与使用(附常见误区解析) 在电子设计的世界里,三极管就像电路中的"水龙头",控制着电流的流动。无论是简单的LED驱动电路,还是复杂的音频放大…...
二叉树面试送分题|力扣101对称+226翻转(递归极简写法,手写无压力)
兄弟们!二叉树面试中,有两道“送分题”必须拿捏——力扣101.对称二叉树和力扣226.翻转二叉树。这两道题难度不高,核心都能用递归轻松解决,代码简洁、逻辑直观,新手练一遍就能记住,面试手写直接加分…...
