当前位置: 首页 > article >正文

16.第二阶段x86游戏实战2-发包函数和怎么去找改写过的发包函数

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

本次游戏没法给

内容参考于:微尘网络安全

本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要盲目相信。

工具下载:

链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd=6tw3

提取码:6tw3

复制这段内容后打开百度网盘手机App,操作更方便哦

上一个内容:15.第二阶段x86游戏实战2-使用C++读取人物状态

上一个内容里使用c++语言把游戏中人物的状态读取了出来,并且打印到了日志(Dbgview.exe)中,本次开始继续搞逆向,首先逆向的入手点是游戏的网络

涉及网络就有了发包和收包的概念

开始之前要了解游戏客户端和服务端是怎样的一个存在,在我们玩家电脑上的是游戏客户端,在游戏运营商那边是游戏服务端,比如一个走路的场景,走路就会有两个地点人物当前位置(a点)和目的地(移动到的位置,b点),游戏客户端会通过网络封包(发包)告诉游戏服务端现在要从a点去到b点,游戏服务器接收到之后会给游戏客户端返回一个数值,比如可以移动或不可以移动,返回不可以移动的效果会是看到走过去了但是瞬间又还原了还可能掉线还可能会封号,这样游戏客户端和游戏服务端形成了一个交互的行为

游戏中发包的方式(函数):

主流的发包函数在ws2_32.dll中,ws2_32.dll是Windows系统提供的,函数名是send、sendto、WSASend,其中send和WSASend用的比较多sendto在游戏领域中用的很少,然后 send、sendto、WSASend 是函数那么使用OD在它们的头部打断点就能知道游戏发送的数据包是什么

然后 send、sendto、WSASend 它们三个最终都会调用WSPSend函数,所以有些游戏在 send、sendto、WSASend 中打断点会发现没反应,它这就是没有通过 send、sendto、WSASend 直接调用了WSPSend函数,在WSPSend函数头部打断点才能断下来

理解发包流程:25.x86游戏实战-理解发包流程

发包函数:26.x86游戏实战-寻找公共call_wspsend怎么寻找

WSPSend函数查找:28.x86游戏实战-初探XXX发包


img


http://www.kler.cn/a/323665.html

相关文章:

  • HarmonyOS 开发环境搭建
  • Python小试牛刀:第一次爬虫,获取国家编码名称
  • LC12:双指针
  • 《FreeRTOS任务基础知识以及任务创建相关函数》
  • python makedirs() 详解
  • 动态规划-背包问题——[模版]完全背包问题
  • 进程与线程之间的关系与区别
  • C++20中头文件compare的使用
  • 数据仓库简介(一)
  • 鸿蒙OS开发之动画相关示例分享, 关于弹出倒计时动画的实战案例源码分享
  • netty之Future和Promise
  • leetcode946. 验证栈序列
  • ARM GNU工具链
  • 赵长鹏今日获释,下一步会做什么?币安透露2024年加密货币牛市的投资策略!
  • 【数据结构-栈】力扣71. 简化路径
  • react-native如何一个项目生成两个安装包
  • 什么是Kafka?
  • 利用 Llama-3.1-Nemotron-51B 推进精度-效率前沿的发展
  • PlayerPerfs-不同平台的存储位置
  • 十一假期地区人流量出行大数据分析:技术驱动下的深度洞察
  • [Excel VBA办公]如何使用VBA批量删除空行
  • 基于微信小程序的网上商城+ssm(lw+演示+源码+运行)
  • 基于Hive和Hadoop的病例分析系统
  • Web会话跟踪+代码分析
  • 在C#中实现WebSocket的单聊和分频道聊天
  • Python 绘图艺术:解锁数据故事的三把密钥