首页 > 其他分享 >35.网络游戏逆向分析与漏洞攻防-游戏网络通信数据解析-登录成功数据包内容分析

35.网络游戏逆向分析与漏洞攻防-游戏网络通信数据解析-登录成功数据包内容分析

时间:2024-03-30 13:04:38浏览次数:24  
标签:00 long 红框 然后 35 内容分析 数据包 下图

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

如果看不懂、不知道现在做的什么,那就跟着做完看效果

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

上一个内容:34.登录数据包的监视与模拟

首先登陆游戏,到角色选择界面,如下图,可以看到这个数据包很大2421个字节

首先确定它的常量和变量,所以返回登陆,重新登录一次,下图是重新登录之后

然后再次重新登录,通过三次数据包来确定数据包的变化情况

然后发现长度没有变化,开头的内容也没有什么变化,然后它的突破口就是名字

然后就搜索到了

这证明了,角色数据确实存在

然后从头开始分析,下图选中的位置,它就像 Unicode 数据,两个字节,它也正是角色名4399

然后它签名是一个0A 00 00 00,0A的十进制是10,然后下图红框圈起来的内容也正好是10字节长度,所以它签名的A是后面字符的长度,然后07应该是操作类型

然后现在就可以根据上方分析出来的结构继续拆分,然后后面有一个0x0220长度的字符串,这里直接往下找00 00 的位置,因为00 00是字符串结尾符

然后看到下图红框位置,就符合字符串结尾,所以在这里继续拆分

下图红框位置的数据就像是 数据解析约定,02表示int类型,05表示long long类型,06表示char类型,这样

然后下图红框又是另一个角色名了

然后下图红框又是它的数据,然后直接往后找 00 00 结尾

来到下图红框位置是 00 00 结尾,然后根据上方的得到的规律继续拆分

就找到了另一个角色

通过第一个角色数据,可以猜测每个角色是以05结尾,如下图红框

来到最后也可以证明数据是以05结尾

现在一个大体的结构就有了

然后看前面的部分

下图红框位置

每登陆一次它会自增1,可能会用来做加密,然后换一个账号登陆,它也是红框位置的数据自增1,头部其余数据不会变

然后下图红框的04对应角色的数量,所以删除一个角色看看它变不变

然后它变了,所以它是角色的数量

然后整理现在的情况,头部位置是基本不变的,所以它是数据结构约定,后面的数据是数据解析约定,然后选择角色进入游戏,找几个数据解析约定的数据包(只要能对上数据解析约定规律的数据包就是),再看几个数据包确定一下数据解析约定的数据结构

登陆成功之后返回的数据包里06是char类型,这里是char*类型,03是int类型,这里是 longlong类型,05没变还是longlong类型

然后04是float类型

然后08是longlong类型或者double类型

现在的结构:

00 还没见到

01 还没见到

02 int

03 long long

04 float

05 long long

06 cahr或者char*

07 wchar_t*

08 long long 或者 double类型


标签:00,long,红框,然后,35,内容分析,数据包,下图
From: https://blog.csdn.net/qq_36301061/article/details/137030217

相关文章

  • 代码随想录第22天 | 235. 二叉搜索树的最近公共祖先 701.二叉搜索树中的插入操作 450.
    235. 二叉搜索树的最近公共祖先 235.二叉搜索树的最近公共祖先-力扣(LeetCode)代码随想录(programmercarl.com)二叉搜索树找祖先就有点不一样了!|235.二叉搜索树的最近公共祖先_哔哩哔哩_bilibili给定一个二叉搜索树,找到该树中两个指定节点的最近公共祖先。百度百......
  • 代码随想录训练营Day36:● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间
    435.无重叠区间题目链接https://leetcode.cn/problems/non-overlapping-intervals/description/题目描述思路直接统计重叠区间的个数,就是需要删除的个数publicinteraseOverlapIntervals(int[][]intervals){Arrays.sort(intervals,(a,b)->Integer.com......
  • 程序员35岁会失业吗?
    程序员35岁会失业吗?年龄并不是决定程序员就业机会的唯一因素。尽管年龄可能会对就业产生一定影响,但仍然有很多因素会影响一个程序员是否会失业。以下是一些需要考虑的因素:技能水平:技能和经验是程序员就业的关键因素。如果一个程序员保持学习和更新技能,掌握最新的技术和工......
  • MCU友好过渡MPU,米尔基于STM32MP135开发板裸机开发应用笔记
    以前微处理器(MPU)与微控制器(MCU)是截然不同的两种设备,MPU支持丰富的软件系统,如Linux和相关的软件堆栈,而MCU通常将专注于裸机和RTOS。近年来,随着MCU的性能越来越高,MCU和MPU之间的区别变得越来越模糊。STM32MP135是一款入门级的高性价比MPU,适用于MCU性能达不到要求或者需要跑Linux的......
  • vuex.esm.js:135 Uncaught Error: [vuex] getters should be function but “getters.
    报错vuex.esm.js:135UncaughtError:[vuex]gettersshouldbefunctionbut"getters.mode"inmodule"userModule"is"dark".atassert(vuex.esm.js:135:1)原因:在使用vuex的moulds时index.js中已创建了一个vue实例newVuex.Store,在模块文件中又再创建了一个,导致报......
  • P1354 房间最短路问题
    原题链接题解1.最短路径一定可以表示成经过若干端点的线段,所以我们把端点单独提出来,这样就变成了计算几何形式的最短路2.如果两个端点能相连,代表他们之间没有墙阻挡code#include<bits/stdc++.h>usingnamespacestd;intn;struct{doublex,a1,b1,a2,b2;}wall[30];......
  • 转载:使用 Linux tracepoint、perf 和 eBPF 跟踪数据包 (2017)
    http://arthurchiao.art/blog/trace-packet-with-tracepoint-perf-ebpf-zh/Linux允许在主机上用虚拟网卡(virtualinterface)和网络命名空间(networknamespace)构建复杂的网络。但出现故障时,排障(troubleshooting)相当痛苦。如果是3层路由问题,mtr 可以排上用场;但如果是更底层的问......
  • 在Linux中,如何追踪TCP连接和网络数据包,如使用tcpdump或Wireshark?
    在Linux环境中,追踪TCP连接和网络数据包主要通过使用命令行工具tcpdump和图形化网络分析软件Wireshark来实现。以下是详细的操作步骤:1.使用tcpdumptcpdump是一个强大的命令行网络抓包工具,用于实时捕获和分析网络流量。以下是如何使用tcpdump追踪TCP连接和数据包:1.基本用法......
  • STM32收发HEX数据包
            在实际应用中,STM32的串口通信都是以数据包格式进行收发,这个数据包一般都包含包头和包尾,表示一个数据包。源代码在文末给出数据包格式:固定长度,含包头包尾可变包长,含包头包尾问题1:当数据包传输时,里面有数据与包头包尾重复怎么办?1:设置限幅,包头包尾设置为数......
  • 程序员35岁会失业吗?
      在当今快速发展的科技时代,程序员这个职业无疑备受瞩目。然而,关于程序员在35岁时是否会失业的疑问,也时常在人们的脑海中浮现。那么,程序员35岁会失业吗?答案并非绝对,这取决于诸多因素的综合影响。  首先,我们要明确的是,年龄并不是决定程序员职业发展的唯一因素。虽然在......