99.网游逆向分析与插件开发-网络通信封包解析-数据包组织与发送过程逆向分析

本文主要是介绍99.网游逆向分析与插件开发-网络通信封包解析-数据包组织与发送过程逆向分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

上一个内容:定位明文发送数据的关键函数

首先来到下图位置,查看edi的值是怎样来的

然后使用高亮模式查看edi,看看谁给edi赋过值

首先是下图红框位置,mov ecx, edi也就是edi是一个类,这个类调用了它的成员函数,这个操作是可以修改edi的值的,所以需要记录一下0x914C1C

然后还有下图红框位置,0x914B96

然后下图红框位置,0x914B37

第一次修改edi,这个数据看不懂

第二个修改edi,这个数据相似,创建了一个数据包头,或者说一个空的数据包

它的参数是 7025 和 0,

移动时也会触发,它的参数是 7021 和 0,这个7021相似操作类型

在调用了下图红框位置的函数之后,我们聊天框输入的数据,写入了上方创建好的空数据包里

然后通过下图断点位置的函数,完成了明文数据组装过程,它的参数是,一个局部变量的控件 和 数据的长度

执行完它的数据,我们的消息数据写入到了,变量里

然后继续往下看,在调用第一次修改edi值的函数时,它的参数是刚刚的局部变量,和数据长度

这时的edi,还是一个空的数据包

执行完函数,消息数据写入到数据包,这里记录数据组装关键点,

如果分析要说话的数据,只要 HOOK 0x914C1E位置调用的0x47F550函数,在0x47F550函数里可以看出数据包结构很大

还有需要看一下数据包是否存在内存泄露问题:下图红框位置pop edi,很明显没有内存泄露问题,不需要管

总结:

三个重要的函数:第一个获取一个空数据包函数(0x914B8D位置调用的0x12A3AB0+0x24函数),第二个是我们要发送的数据组装到数据包的函数(0x914C1E位置调用的0x47F550函数),第三个是发送数据包函数(0x914C2F位置调用的0x12A3AB0+2C)

这篇关于99.网游逆向分析与插件开发-网络通信封包解析-数据包组织与发送过程逆向分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/706059

相关文章

Java的volatile和sychronized底层实现原理解析

《Java的volatile和sychronized底层实现原理解析》文章详细介绍了Java中的synchronized和volatile关键字的底层实现原理,包括字节码层面、JVM层面的实现细节,以... 目录1. 概览2. Synchronized2.1 字节码层面2.2 JVM层面2.2.1 ente

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

基于Python开发PDF转PNG的可视化工具

《基于Python开发PDF转PNG的可视化工具》在数字文档处理领域,PDF到图像格式的转换是常见需求,本文介绍如何利用Python的PyMuPDF库和Tkinter框架开发一个带图形界面的PDF转P... 目录一、引言二、功能特性三、技术架构1. 技术栈组成2. 系统架构javascript设计3.效果图

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入

Spring Security注解方式权限控制过程

《SpringSecurity注解方式权限控制过程》:本文主要介绍SpringSecurity注解方式权限控制过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、摘要二、实现步骤2.1 在配置类中添加权限注解的支持2.2 创建Controller类2.3 Us

Windows server服务器使用blat命令行发送邮件

《Windowsserver服务器使用blat命令行发送邮件》在linux平台的命令行下可以使用mail命令来发送邮件,windows平台没有内置的命令,但可以使用开源的blat,其官方主页为ht... 目录下载blatBAT命令行示例备注总结在linux平台的命令行下可以使用mail命令来发送邮件,Win

Redis 内存淘汰策略深度解析(最新推荐)

《Redis内存淘汰策略深度解析(最新推荐)》本文详细探讨了Redis的内存淘汰策略、实现原理、适用场景及最佳实践,介绍了八种内存淘汰策略,包括noeviction、LRU、LFU、TTL、Rand... 目录一、 内存淘汰策略概述二、内存淘汰策略详解2.1 ​noeviction(不淘汰)​2.2 ​LR

基于Python开发PDF转Doc格式小程序

《基于Python开发PDF转Doc格式小程序》这篇文章主要为大家详细介绍了如何基于Python开发PDF转Doc格式小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用python实现PDF转Doc格式小程序以下是一个使用Python实现PDF转DOC格式的GUI程序,采用T

使用Java发送邮件到QQ邮箱的完整指南

《使用Java发送邮件到QQ邮箱的完整指南》在现代软件开发中,邮件发送功能是一个常见的需求,无论是用户注册验证、密码重置,还是系统通知,邮件都是一种重要的通信方式,本文将详细介绍如何使用Java编写程... 目录引言1. 准备工作1.1 获取QQ邮箱的SMTP授权码1.2 添加JavaMail依赖2. 实现

IDEA与JDK、Maven安装配置完整步骤解析

《IDEA与JDK、Maven安装配置完整步骤解析》:本文主要介绍如何安装和配置IDE(IntelliJIDEA),包括IDE的安装步骤、JDK的下载与配置、Maven的安装与配置,以及如何在I... 目录1. IDE安装步骤2.配置操作步骤3. JDK配置下载JDK配置JDK环境变量4. Maven配置下