【游戏逆向】《某山奇缘》发包函数

news/2025/2/11 16:02:59/

一个游戏我们拿来以后第一件事肯定是要去分析发包函数。

因为发包函数可以给我们很多有用的信息。

第一,所有的功能都可以通过发包实现。

第二,发包中的参数可以获悉游戏中的数据形式,例如某些参数是类型,ID是什么样的值。

第三,通过发包可以得知游戏的通讯方式是否存在漏洞,例如怪物如果死亡的时候发包,那么就有秒怪封包,秒怪功能。

首先我们分别到send,sendto,WSASend 三个发包函数上下断,看是否是发包函数。

send
在这里插入图片描述
sendto
在这里插入图片描述
WSASend
在这里插入图片描述
分别下断以后,发现都不断

偶尔会断下,经过分析以后发现和我们做的发包动作无关。

那么不是这3个发包函数发的包,这个游戏自己实现了发包函数。

通过其他send发包的游戏

我们在send内部调用更内层发包函数WSPSend的位置下断
在这里插入图片描述
找到更内层的发包函数

WSPSend

71384405 6A 44 push 44

71384407 68 80453871 push 71384580

7138440C E8 7FCFFFFF call 71381390

71384411 33FF xor edi, edi

71384413 897D E0 mov dword ptr [ebp-20], edi

71384416 803D B8643B71 0>cmp byte ptr [713B64B8], 0

7138441D 0F85 04240000 jnz 71386827

71384423 393D 5C603B71 cmp dword ptr [713B605C], edi

71384429 0F86 F8230000 jbe 71386827

7138442F FF35 88603B71 push dword ptr [713B6088]

71384435 FF15 D0123871 call dword ptr [<&API-MS-Win-Core-Pro>; kernel32.TlsGetValue

7138443B 8945 D4 mov dword ptr [ebp-2C], eax

7138443E 3BC7 cmp eax, edi

71384440 0F84 E1230000 je 71386827

当然每台电脑的地址是不同的

只有在本台电脑是相同的

我们重新附加灵山奇缘,跳到该地址下断

CTRL+F9返回到真正的发包函数

在这里插入图片描述
通过分析

根据参数的 性质我们分析出来

这是重新实现的WSASend
在这里插入图片描述
在这里插入图片描述

此时再做任何发包动作都会断下了,当然也有心跳包。


http://www.ppmy.cn/news/71578.html

相关文章

Python安装扩展库的工具

Python 的扩展库可以使用 pip 工具安装。Pip 是 Python 的一个包管理工具&#xff0c;可以方便地安装、升级和卸载 Python 包或模块。一&#xff1a;如果你已经安装了 Python&#xff0c;那么 pip 应该已经自带了。你可以在命令行中输入以下命令检查 pip 是否已经安装&#xff…

【Leetcode -561.数组拆分 -566.重塑矩阵】

Leetcode Leetcode -561.数组拆分Leetcode -566.重塑矩阵 Leetcode -561.数组拆分 题目&#xff1a;给定长度为 2n 的整数数组 nums &#xff0c;你的任务是将这些数分成 n 对, 例如(a1, b1), (a2, b2), …, (an, bn) &#xff0c;使得从 1 到 n 的 min(ai, bi) 总和最大。 返…

单片机--STM中断系统

目录 【1】中断系统 1.基本概念 2.中断的意义 中断提高了CPU效率&#xff1f; 3.中断处理过程 中断处理过程 4. 中断体系结构 5.NVIC NVIC主要功能 6.EXTI 【2】IIC IIC主要特点 【3】485 【1】中断系统 1.基本概念 在处理器中&#xff0c;中断相当于对于突发事件…

精彩回顾 | 2022(第二届)超级CSO年度评选颁奖盛典

2023年5月13日&#xff0c;2022&#xff08;第二届&#xff09;超级CSO年度评选颁奖盛典在上海举行&#xff0c;来自全国各地近200位来宾、业界专家、企业代表、合作伙伴以及CSO/CISO共同出席。本次盛典得到了包括中国网络安全审查技术与认证中心&#xff08;CCRC&#xff09;、…

C# 基本语法

C# 基本语法 C# 是一种面向对象的编程语言。在面向对象的程序设计方法中&#xff0c;程序由各种相互交互的对象组成。相同种类的对象通常具有相同的类型&#xff0c;或者说&#xff0c;是在相同的 class 中。 例如&#xff0c;以 Rectangle&#xff08;矩形&#xff09;对象为…

ipa如何安装到iphone

ipa如何安装到iphone 这里以目前很火的奥普appuploader为例&#xff0c;先打开 appuploader&#xff0c;把 iPhone 用原装数据线连接&#xff0c;点击左侧的 appuploader一栏&#xff0c;会在右窗格中看到机器的相关信息&#xff0c;可以看到是否越狱一栏显示“是”。 接下来请…

【Flutter混合开发】在Android项目中如何启动Flutter

目录 前言现有项目中引入Flutter启动flutter页面加速启动启动传参总结 前言 flutter可以独立完成项目&#xff0c;但是在现有项目情况下最好的方式就是混合开发&#xff0c;逐步过渡。这样就会共存native和flutter代码&#xff0c;而其中最关键的就是native如何启动flutter页面…

合肥工业大学信息隐藏实验报告

✅作者简介&#xff1a;CSDN内容合伙人、信息安全专业在校大学生&#x1f3c6; &#x1f525;系列专栏 &#xff1a;信息隐藏实验报告 &#x1f4c3;新人博主 &#xff1a;欢迎点赞收藏关注&#xff0c;会回访&#xff01; &#x1f4ac;舞台再大&#xff0c;你不上台&#xff…