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:

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

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

相关文章

<软考高项备考>《论文专题 - 40采购管理(4) 》

4 过程3-控制采购 4.1 问题 4W1H过程做什么管理采购关系、监督合同绩效、实施必要的变更和纠偏,以及关闭合同的过程作用:确保买卖双方履行法律协议,满足项目需求为什么做为保证采购活动顺利进行,采购物品符合项目要求谁来做组织…

easyx的窗口函数

文章目录 前言一、EasyX的颜色二、EasyX的坐标和设备1,EasyX的坐标2,EasyX的设备 三、窗口函数1,初始化窗口函数2,关闭绘图窗口3,设置窗口背景板颜色4,清空绘图设备 前言 easyx是针对c的图形库,…

360高级java面试真题

今年IT寒冬,大厂都裁员或者准备裁员,作为开猿节流主要目标之一,我们更应该时刻保持竞争力。为了抱团取暖,林老师开通了《知识星球》,并邀请我阿里、快手、腾讯等的朋友加入,分享八股文、项目经验、管理经验…

在kuboard页面配置harbor地址,配置私有仓库

点击项目-配置中心-密文,配置harbor地址 配置完仓库地址需要在对应的k8s master节点 worker节点,配置私有仓库地址要是不配置会报错 [rootk8smaster ~]# docker login 10.4.7.9:80/ -u admin -p Harbor12345 WARNING! Using --password via the CLI is…

第三代半导体SiC 专业术语及指标解释

SiC : 化合物半导体材料,第三代半导体材料代表,主要用于功率半导体领域 GaN : 化合物半导体材料,第三代半导体材料代表,主要用于高频射频领域 GaAs: 化合物半导体材料,第二…

shell中数组和元组---应用与了解

shell中数组和元组—应用与了解 在Shell中,数组和元组是两种用于存储多个值的数据结构。它们都可以存储多个元素,但它们的使用方式和语法有所不同。 一、数组 定义数组 在Shell中,可以使用或()来定义数组。例如: arr1("a…

二分查找 经典例题

// 返回都是 r// 区间划分为[l,mid] 和 [mid1,r]&#xff0c;选择此模板 int bsec1(int l, int r) {while (l < r){int mid (l r)/2;//此处不加下面加if (check(mid)) r mid;else l mid 1;}return r; }// 区间划分为[l,mid-1] 和 [mid,r]&#xff0c;选择此模板 int bs…

java常见面试题:什么是抽象类?什么是接口?它们之间的区别是什么?

抽象类和接口是Java中的两种抽象类型&#xff0c;它们都可以用来定义抽象方法和属性&#xff0c;但它们之间存在一些重要的区别。 抽象类&#xff08;Abstract Class&#xff09;&#xff1a; 抽象类是一种特殊的类&#xff0c;它不能被实例化。抽象类可以包含普通属性和方法…

使用spring boot实现异常的统一返回

在这个前后端分离的时代&#xff0c;一个 统一的数据格式非常重要。本次我们实现用spring boot实现一下返回给前端数据的统一格式&#xff0c;不再出现服务器500的错误。 新建一个spring boot项目&#xff0c;并导入knife4j的依赖。 写一个controller控制器&#xff0c;用来是…

数据结构:队列(链表和数组模拟实现)

目录 1.何为队列 2.链表模拟实现 2.1 节点和队列创建 2.2 初始化队列 2.3 入队操作 2.4 出队操作 2.5 遍历队列 2.6 获取队首和队尾元素 2.7 判断队列是否为空 2.8 完整实现 3. 数组模拟实现 3.1 创建队列 3.2 入队和出队操作 3.3 遍历队列 3.4 获取队首和队尾元…

数据转换的三剑客:Pandas 中 apply、map 和 applymap 方法的应用指南

数据转换的三剑客&#xff1a;Pandas 中 apply、map 和 applymap 方法的应用指南 ​ 在 Pandas 中&#xff0c;apply、map 和 applymap 是常用的数据转换和处理方法&#xff0c;它们为数据分析和数据处理提供了灵活的功能。这些方法可以根据具体的需求选择合适的方法进行操作。…

2023结婚成家,2024借势起飞

您好&#xff0c;我是码农飞哥&#xff08;wei158556&#xff09;&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f4aa;&#x1f3fb; 1. Python基础专栏&#xff0c;基础知识一网打尽&#xff0c;9.9元买不了吃亏&#xff0c;买不了上当。 Python从入门到精…

今晚咱们一起来场特别的技术跨年!!

▼最近直播超级多&#xff0c;预约保你有收获 今晚跨年直播&#xff1a;《LLM在电商推荐系统的应用案例实战》 —1— 今晚咱们来场技术跨年&#xff01; LLM 大模型无疑是2023年最重磅的技术&#xff0c;逐渐在各行各业产生了越来越重要的实质影响&#xff0c;2024年的钟声今晚…

剑指offer题解合集——Week2day4

文章目录 剑指offerWeek2周四&#xff1a;数值的整数次方AC代码思路&#xff1a;部分模拟 周四&#xff1a;在O(1)时间删除链表结点AC代码思路&#xff1a;部分模拟 剑指offerWeek2 周四&#xff1a;数值的整数次方 题目链接&#xff1a;数值的整数次方 实现函数double Pow…

uni-app引入vant表单(附源码)

新建项目 下载安装vant npm i vant main.js引入 import { Form } from vant; import { Field } from vant;Vue.use(Form); Vue.use(Field);代码引入 <van-form submit"onSubmit"><van-fieldclass"rePwd"v-model"username"name"请…

我的512天创作者纪念日总结:高效、高现

文章目录 512天创作者纪念日&#xff1a;2023年的12月31日CSDN的512天消息提醒第一篇文章&#xff0c;最后一篇文章总计847篇文章&#xff0c;每月发文分布512天&#xff0c;各专栏文章统计512天&#xff0c;互动总成绩 512天创作者纪念日&#xff1a;2023年的12月31日 2023年…

LabVIEW开发滚动轴承故障诊断系统

LabVIEW开发滚动轴承故障诊断系统 在工业自动化和机械维护领域&#xff0c;滚动轴承的故障诊断是至关重要的。开发了一个基于LabVIEW的振动信号分析系统。这一系统集成了先进的信号处理技术&#xff0c;如经验模式分解&#xff08;EMD&#xff09;、Morlet小波滤波器和隐Marko…

c语言-数据类型详细介绍

目录 前言一、数据类型介绍1.1 基本内置类型1.2 类型的基本分类1.2.1 整型家族 总结 前言 本篇文章对c语言中数据类型进行详细介绍。 一、数据类型介绍 1.1 基本内置类型 类型大小char1字节short2字节int4字节long4字节long long8字节float4字节double8字节 注意&#xff1…

【LMM 004】LLaVA-RLHF:用事实增强的 RLHF 对齐大型多模态模型

论文标题&#xff1a;Aligning Large Multimodal Models with Factually Augmented RLHF 论文作者&#xff1a;Zhiqing Sun, Sheng Shen, Shengcao Cao, Haotian Liu, Chunyuan Li, Yikang Shen, Chuang Gan, Liang-Yan Gui, Yu-Xiong Wang, Yiming Yang, Kurt Keutzer, Trevor…