84.网络游戏逆向分析与漏洞攻防-游戏技能系统分析-筛选与技能有关的数据包

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

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

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

上一个内容:83.游戏瞬移漏洞的测试与分析

移动相关的到这就全部结束了,现在有瞬移、穿墙、飞天、遁地、高速移动,接下来开始分析与技能有关的,主要完成得到所有的技能,技能里面是一个什么样的情况,比如叫什么名字、能不能用这种基本的信息,一般对于技能这些信息来讲,它很多信息会放在客户端,服务端那边很可能就给发一个编号,有可能极其的简单,有的可能会多发点描述性的内容,具体要去数据包里看,本次是大体看一下跟技能相关的数据包,前期以收集整理为主

打开游戏拦截游戏进入游戏并且有技能相关的画面之间所有的数据包,如下图

然后放一个技能,看看放技能发送的数据包

放技能

然后找到一个这样的数据包

初步猜测

然后通过放技能得到了技能id,然后既然游戏可以放这个技能,并且用这个id告诉服务端释放了技能,这就说明客户端肯定、服务端肯定有一个地方存着,这个东西肯定有初始化的时候,所以接下来通过技能id去找这个id在什么数据包中出现了

然后使用 DataAnly.exe 搜索数据包

搜索出来的的结果

一共有6个位置出现了技能id

然后一个一个的看,从下往上看

第一个是接收的11数据包,现在分析不出来,看不出它是数据结构约定还是数据解析约定

第二个、第三个也是接收的11数据包,分析不出来直接跳过了

第四个是接收的18数据包,这个数据包可以看出,它是初始化技能的

然后这个接收的18开头的数据包,有很多,每个18开头的数据包前面都会有一个接收的15开头的数据包,18的第二个内存与15第二个内容是一样

这有个盘腿坐下的技能

游戏中也确实有,如下图,所以 接收的 18 28 数据包是跟技能有关

然后接收的18 82,Single中文是单的意思Sword中文是剑的意思,应该是单手剑的意思,所以猜测这个18 82和装备有关

然后18 01,Hat是帽子的意思,所以可以猜测 18 01 应该是除了武器以外的装备有关,18 82与武器有关

然后剩余的一个是接收的11数据包,现在解析不了,另一个是发送的0A数据包,这个是释放技能发送的数据包

然后就没有了,整理一下

通过释放技能发送的0A数据包得到了技能id,然后通过搜索技能id找到了,11、18这俩数据包,18 28现在可以猜测是初始化技能的,接收的11数据包现在解析不了,在登录成功之后有两个很大的数据其中一个是接收的09数据包这个已经解析过了它是数据类型表,然后另一个是接收的0A数据包,这个数据包应该也是一个数据类型表,这个接收的11数据包可能要把接收的0A数据包给解读出来才能搞

接下看看升级得到新的技能之后的数据包

然后通过游戏的技能面板,看到有一个角色4级解锁的技能,所以接下来解锁这个技能,看看它是解锁技能的数据包

做了几个任务现在达到了三级

然后到了关键点完成任务升到4级,得到了新的技能

然后释放技能查看它的id,然后看到它的id是 Skill_Ex1102_01_1

然后通过它的id去找它是怎样解锁的

看到了两个1E数据包(1E数据包之前屏蔽了,现在只有解析的内容所以搜不到)

可以猜测技能是通过这俩东西解锁的

然后看到,这个技能在最开始的18 28数据包那块出现了,这猜测 登录进游戏之后 所有技能信息就全部拿到了,但是有状态,也就是这个技能可用不可用的状态,这个状态在18 28数据包里

然后有个 1F8 通过接收的09数据包的数据类型表,看出它是CanUse,Can中文是能,Use是使用,连起来就是能使用的意思,所以这个1F8用来表示当前是否可以释放技能,但是通过观察多个接收的18 28数据包,发现1F8的值都是01 00,所以能否使用这个事,在接收的18 28数据包里看不到,可能与接收的11数据包有关

然后还有一个接收的13数据包,它跟11数据包一样现在解不了,所以没有放图

现在初步的分析就已经可以结束了,整理现在的东西,通过升级,然后升级之后得到新技能,然后释放新技能得到技能id,然后通过技能id搜索,查看相关数据包,得出所有技能在登录进游戏之后就全部得到了,接收的18 28数据包得到的,接收的18 28数据包前面会有一个接收的15数据包,然后还有在接收的11、13数据包中也通过id搜出来了,接收的13数据包是在升级之后出现的,然后接收的11、13数据包现在都解不了,然后猜测它与刚登录游戏之后接收的一个很大的0A数据包有关,现在怀疑接收的0A数据包是另一个数据解析约定的数据类型表,所以后面要做的事先得到接收的0A的数据类型表,然后通过这个接收的0A的数据类型表尝试去解接收的11、13数据包,还有通过数据包得到的技能id没有技能名字,所以还要找id跟技能名字对应的那个表,所以接下来要逆向分析去找这些表


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

寻求发展+兼顾陪读|企业高管赴美国乔治梅森大学做访问学者

E经理拟去美国访学,想达到3个目的:结合本专业方向,扩展至跨学科研究领域;考察市场,寻求新的发展契机;携孩子出国读书,兼顾陪读,并希望尽早出国。最终我们为其落实的乔治梅森大学访问…

大规模LiDAR数据处理

点云存在许多描述环境或建筑物等物体的 x、y、z 坐标。通过激光技术 (LiDAR) 获取的点云通常带有每个坐标的额外测量值和特征。例如,反射强度、回波次数、回波、扫描角度和 RGB 值。换句话说,点云本质上是大量的数据集。 在本文中,我们使用开…

怎样让猫给啥吃啥?生骨肉冻干拌粮哪有猫咪不吃的!

随着科学养猫的普及,生骨肉冻干喂养越来越受欢迎,生骨肉冻干喂养对猫的好处很多,它符合猫咪的天性,可以提供全面的营养,保持牙齿和牙龈的健康,还有助于维持健康的消化系统。然而,许多猫主人在选…

测试之路 - 精准而优雅

引子 这几年业内一直在做精准测试,大都使用工具 diff 代码改动、分析代码覆盖率这些平台集成的能力。 业务测试中,我们在技术设计和代码实现的基础上也做了一些精减和精准的测试实践,通过深入测试有针对的设计 case,发现隐藏问题…

Gini Impurity(基尼不纯度)

基尼不纯度:衡量集合的无序程度; 基尼不纯度 基尼不纯度:将来自集合的某种结果随机应用于某一数据项的预期误差率。 1、显然基尼不纯度越小,纯度越高,集合的有序程度越高,分类的效果越好; 2、…

Blog搭建:pycharm+虚拟环境+django

pycharm创建项目 在pycharm新建项目,选择Django 项目名称:自定义项目位置:自定义创建git:方便上传到github选择虚拟环境方式venvpython解释器位置,和版本,如果你没有下载他会跳转到不同版本的供你下载temp…

力扣82题删除排序链表中的重复元素

82题删除排序链表中的重复元素 题目描述 给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。 题目分析 这个题需要返回已排序链表,我们需要考虑一种情况就是头结点为重复元素&…

大数据Spark教程从入门到精通第四篇:Spark快速上手

一:Spark快速上手 1:创建Maven项目 idea安装scala_idea scala插件-CSDN博客 代表了我们安装scala的maven环境已经准备好了,代码可以正常跑了

这个notebook集合,赞

这几天在Github上看到一个数据科学仓库,汇总了很多Python notebook代码,主要是数据方向。 项目地址: https://github.com/donnemartin/data-science-ipython-notebooks 其中包括了pandas、numpy、matplotlib、scikit-learn、tensorflow、sp…

学习Nginx(一):基础

介绍 Nginx是一个高性能的HTTP和反向代理的web服务器,它的设计重点是高并发、高性能和低内存消耗。它常被用于提供静态内容、负载均衡和作为Web服务器。 Nginx具有以下功能和特点: 静态文件服务:作为一个Web服务器,Nginx可以处…

5.2 操作系统安装必备知识

目前操作系统安装方式接近于全自动化,用户无需做过多操作就能完成操作系统安装。但是操作系统安装也有其复杂的一面,例如固件及分区表的不同就会导致操作系统安装失败。本节主要介绍系统安装的一些必备知识。 5.2.1 BIOS 概述 BIOS(Basic Input/Output …

【谷粒商城】04.快速开发

1.克隆代码 https://gitee.com/renrenio DELLLJL MINGW64 ~/Desktop $ git clone https://gitee.com/renrenio/renren-fast.git Cloning into renren-fast... remote: Enumerating objects: 1965, done. remote: Counting objects: 100% (1965/1965), done. remote: Compress…

基于卷积神经网络CNN,使用二维卷积Conv2D实现MNIST数字识别的四种方法

前言 系列专栏:机器学习:高级应用与实践【项目实战100】【2024】✨︎ 在本专栏中不仅包含一些适合初学者的最新机器学习项目,每个项目都处理一组不同的问题,包括监督和无监督学习、分类、回归和聚类,而且涉及创建深度学…

如何找到MySQL中存储引擎所对应的表空间并且打开?

在上节课我们学习了数据库(MySQL)进阶:存储引擎,有不少同学产生疑惑,到底要怎么找到表空间并且打开啊?这节课我们就来探讨。 首先,根据这个路径:C:\ProgramData\MySQL\MySQL Server…

又双叒叕新增2本SCI期刊“On Hold“,慎投,有剔除风险!

本周投稿推荐 SSCI • 2区社科经管类,3.0-4.0(录用友好) EI • 计算机工程生物医学等(领域广,录用极快) CNKI • 3天内初审录用,随即出版(急录友好) SCI&EI …

C++容器:list(双向链表)

一丶list介绍 C中的list容器底层确实是以双向链表的形式实现的。 list容器是C标准模板库(STL)中的一部分,它提供了对列表数据结构的实现。 双向链表结构:list容器的每个元素都是通过指针链接在一起的,每个元素都包含…

英语学习笔记14——What color‘s your ... ?

What color’s your … ? 你的 …… 是什么颜色的? 词汇 Vocabulary case n. 箱子【封闭的】 相关:box n. 箱子【开口的】    bookcase n. 书架 补充:case n. 案件,案例 口语:It’s a small case.    小意思&…

电脑常用的PDF阅读器-嗨动PDF编辑器!带你详细了解它

电脑常用的PDF阅读器-嗨动PDF编辑器!在数字化信息爆炸的时代,PDF格式的文件因其易于打印和保留原始格式等优点,成为了人们日常工作和学习的常用格式。而对于PDF文件的处理,一款功能强大、操作简便的PDF阅读器是必不可少的。今天&a…

APP封装后防止破解的全方位策略

移动应用开发完成后,封装(编译打包)是发布前的重要步骤。然而,一旦APP发布,就可能面临被逆向工程破解的风险,从而导致源代码泄露、数据被盗取等严重后果。 本文将介绍一系列实用的策略和技术,帮…

GM812条码模块的技术参数

扫码性能参数 *测试条件:环境温度23℃;环境照度300 LUX; **测试条件:测试距离(最小景深最大景深)/2; 环境温度23℃;环境照度300 LUX; *规格如有更改,恕不另…