76.网络游戏逆向分析与漏洞攻防-移动系统分析-分析角色移动产生的数据包

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!

如果看不懂、不知道现在做的什么,那就跟着做完看效果,代码看不懂是正常的,只要会抄就行,抄着抄着就能懂了

内容参考于:易道云信息技术研究院

上一个内容:75.伪造服务端更新属性消息欺骗客户端

到现在为止,角色的信息,附近玩家,附近怪物,角色信息的修改,都已经做完了,接下来是角色移动相关的,本次是分析角色移动时产生的数据包,分析完成之后写c++代码,通过C++代码让角色移动、让角色高速移动

上一个内容里,尝试修改了,移动速度,然后发现修改移动速度会被服务器发现(移动之后会跳回移动之前的位置),服务器它怎么发现的?整个移动的过程是在本地,如果在服务器计算这种东西会导致服务器性能变差,就算在服务器计算也肯定不能计算的很准确,所以要么就是设置的速度太快要么它还是有什么检测的方法,上一个内容里发现了一个0A数据包里,也就是发送移动数据的数据包里,它里面有移动速度的数据,接下来要做的是想办法突破这个东西,尝试实现完美的加速

首先抓包

下图红框位置,有0x13和0xF这两个数据包,这两个数据包在没有移动的时候就有,所以它是与移动不相关的数据包,为了方便抓取移动的数据(发送的0xA数据包),要把0x13和0xF给屏蔽掉

屏蔽0x13数据包,0x13的十进制是19,如下图红框,把输出相关的全部取消

屏蔽0xF数据包,0xF的十进制是15,如下图红框,把输出相关的全部取消

未加速时的数据包

移动的时候会先发一个下图样子的数据包15,15是操作码,表示移动,1看这个看不懂,8表示有8个数据,下图所示就是8个小数

当停止移动的时候,会有一个下图样子的数据包,也是15,这次15后面是0,不是1了,这可以猜测1表示移动中,0表示未移动,未移动的数据只有4个,坐标和面向,上图移动的数据包可以看出它里面有移动速度,还有移动的目标位置

接下来修改移动速度

在停止移动的时候,会多出一个1F的数据包

它的值都是浮点数,如下图,分别是三个坐标和一个面向,它应该是起到修正的作用,修正我们的坐标,导致回弹

它与最初的坐标一样

然后通过分析多个移动的数据包

每次当前坐标超过预计移动的位置之后会重新发送一个数据包

如下图第一次移动,发送的数据包,现在是当前-445.359314预计移动到-433.755157

第二次发送的移动数据包当前位置是 -435.553711未达到-433.755157,这可能在走一步就超过了-433.755157,所以发送的是未超过 -433.755157 的那个位置

第三次发送的移动数据包,也都是那样的一个规律,当前坐标和预计移动到的位置坐标

然后接下来看一次跳,跳也会涉及到坐标的更新

原地跳发送的数据包

往前跳第一个数据包,往前走的数据包 15 1 8

往前跳第二个数据包,跳的数据包 15 2 9

然后发现了游戏的一个漏洞,我们修改了移动速度,走完之后会通过1F数据包对我们的坐标进行修正,然后跳跃的时候,并没有因为修改了速度而修正我们的坐标,也就是不可以快走但可以快跳

然后再试一试高空坠落的数据包,由于修改了移动速度会重置我们的坐标,必须要跳很麻烦,所以重新登录了一次让移动速度恢复了正常,所以后面图中移动速度不会是10

首先来到高的地方

然后往下跳,摔掉血了

然后分析这时的数据包,然后看到有两个890的数据包

一个是890 2

一个是890 1,这俩可能是高空坠落掉血的,之后尝试屏蔽它俩,看看是否可以实现高空坠落不掉血

然后高空坠落的数据包是 15 2 9,与跳跃的区别就是下图红框位置,少了4.5,所以这个4.5应该是跳跃的高度,或者往上跳的速度

移动完之后都会有的 15 0 4

然后闪避移动的数据包

闪避移动的数据包是211

然后是1019

然后是15 5889 8

然后还是 15 5889 8,一共有9个15 5889 8,出了坐标相关数据不同,其它都一样

然后第9个15 5889 8之后是一个1021

然后是 15 0 4

总结:到这初步分析就结束了,接下来尝试写C++代码

15 2 9是跳跃或高空坠落

15 1 8是移动

15 0 4是移动完

1F 是修正坐标

211 是闪避移动


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

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

相关文章

【第6节课笔记】LagentAgentLego

Lagent 最中间部分的是LLM,即为大语言模型模块,他可以思考planning和调用什么action,再将其转发给动作执行器action executer执行。 支持的工具如下: Arxiv 搜索 Bing 地图 Google 学术搜索 Google 搜索 交互式 IPython 解释器 IP…

Java集合简介

单列集合 双列集合

PWN入门--栈溢出

PWN入门–栈溢出 栈概要 介于网上各种wp在栈溢出利用脚本方面浅入浅出,深入讲一下栈溢出利用时,地址如何计算,栈中垃圾数据如何填充,函数调用时 参数 在栈中的分布, 栈帧的生成,函数返回值ip在栈中的摆放…

【强化学习】公平性Actor-Critic算法

Bringing Fairness to Actor-Critic Reinforcement Learning for Network Utility Optimization 阅读笔记 Problem FormulationLearning AlgorithmLearning with Multiplicative-Adjusted RewardsSolving Fairness Utility Optimization Evaluations 在网络优化问题中&#xff…

了解外汇震荡类货币对特征与交易策略

外汇市场是全球最大的金融市场,每天的交易量超过6万亿美元。在这个市场上,货币对之间的价格变动反映了全球经济和政治动态。外汇货币对通常被分为三类:主要货币对、次要货币对和外来货币对。而在交易这些货币对时,市场表现通常分为…

适合小白使用的编译器(c语言和Java编译器专属篇)

本节课主要讲如何安装适合编程小白的编译器 废话不多说,我们现在开始 c/c篇 首先,进入edge浏览器,在搜索框输入visual studio ,找到带我画圈的图标,点击downloads 找到community版(社区版)的下…

BFS Ekoparty 2022 -- Linux Kernel Exploitation Challenge

前言 昨天一个师傅给了我一道 linux kernel pwn 题目,然后我看了感觉非常有意思,题目也不算难(在看了作者的提示下),所以就花时间做了做,在这里简单记录一下。这个题是 BFS Lab 2022 年的一道招聘题&#…

原型模式类图与代码

现要求实现一个能够自动生成求职简历的程序,简历的基本内容包括求职者的姓名、性别、年龄及工作经历。希望每份简历中的工作经历有所不同,并尽量减少程序中的重复代码。 采用原型模式(Prototype)来实现上述要求,得到如图 7.25 所示的类图。 原…

FME学习之旅---day26

我们付出一些成本,时间的或者其他,最终总能收获一些什么。 【由于上周,上班状态不是很好,事情多又杂,没有学习的劲头,就短暂的休息了一下下。双休爬山,给自己上了强度,今天才缓过来…

品高虚拟化后端存储的发展演进

在品高虚拟化技术不断发展的过程中,虚拟化的后端存储一直是关注的焦点之一。 本文将从最初的文件存储和NFS开始,追溯到集中式存储SAN,然后选择了Ceph的RBD方式,并最终抵达选择支持vhost协议的后端存储的现状,我们将探…

Android 桌面小组件 AppWidgetProvider

Android 桌面小组件 AppWidgetProvider 简介 小组件就是可以添加到手机桌面的窗口。点击窗口可以进入应用或者进入应用的某一个页面。 widget 组件 如需创建 widget,您需要以下基本组件: AppWidgetProviderInfo 对象 描述 widget 的元数据&#xff0…

一键式手机文件传输,让你生活更便捷!

随着手机功能不断增强,我们经常需要在不同设备之间传输文件,如照片、音乐、视频、文档等。不过,现在有许多应用程序和技术可以帮助我们实现手机文件传输的便捷和快速。本文将介绍2类让手机文件传输一键完成的方法,让你的生活更加便…

redis 使用记录

redis 使用记录 下载运行配置文件启动 参考 下载 github: Redis for Windows 或者从百度网盘下载 Redis version 3.2.100 链接: https://pan.baidu.com/s/1kxNOuZFunvVhVy1cfQzCDA?pwdpibh 运行 双击运行 运行效果 如果出错:查看是否项目路径是否包含中文 配…

如何用virtualbox 来跑openwrt 镜像?

1.下载好openwrt源代吗,编译之前先配置,让编译产生x86的virtualbox 镜像: 编译完成之后会产生vdi镜像文件, 在virtualbox 中创建一虚拟机,类型选择linux,版本other linux 64: 内存选择512: 这个地方把镜像…

AUTOSAR中EcuM、ComM和CanNm的关联

ComM的内外部唤醒 ComM可以通过NM保持网络的唤醒,同时也可以通过SM激活通信,总之就像一个通信的总管。 下面通过两种唤醒源来解释ComM的状态机。 1、内部唤醒 ① 当ComM上电初始化时会首先进入NO COMMUNICATION状态,在该状态下ComM会持续循…

TriCore TC162 Archievture Volume 笔记

说明 本文是 英飞凌 架构文档 TriCore TC162P core archiecture Volume 1 of 2 (infineon.com) 的文笔,稍作整理方便查阅,错误之处,还请指正,谢谢 :) 1. Architecture 2. General Purpose & System Register 名词列表&#…

【Python爬虫实战入门】:全球天气信息爬取

文章目录 一、爬取需求二、所需第三方库2.1 简介 三、实战案例四、完整代码 一、爬取需求 目标网站:http://www.weather.com.cn/textFC/hb.shtml 需求:爬取全国的天气(获取城市以及最低气温) 目标url:http://www.weath…

项目计划书(Word原件)

项目开发计划包括项目描述、项目组织、成本预算、人力资源估算、设备资源计划、沟通计划、采购计划、风险计划、项目过程定义及项目的进度安排和里程碑、质量计划、数据管理计划、度量和分析计划、监控计划和培训计划等。 软件资料清单列表部分文档: 工作安排任务书…

人脸采集训练识别

项目概述: 本地摄像头采集人脸数据集,通过训练得到trainingData.yml模型,加载haarcascade_frontalface_default.xml实现人脸识别。haarcascade_frontalface_default.xml 文件并不是一个完整的人脸识别模型,而是一个用于检测正脸&a…

Llama3-Tutorial之XTuner微调Llama3图片理解多模态

Llama3-Tutorial之XTuner微调Llama3图片理解多模态 基于 Llama3-8B-Instruct 和 XTuner 团队预训练好的 Image Projector 微调自己的多模态图文理解模型 LLaVA。 参考: https://github.com/SmartFlowAI/Llama3-Tutorial 1. 环境、模型、数据准备 1.1 配置环境 使用如…