7.网络游戏逆向分析与漏洞攻防-游戏网络架构逆向分析-通过逆向分析确定游戏明文接收数据过程

news2024/11/13 15:20:12

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

上一个内容:通过逆向分析确定游戏明文发送数据过程

上一个内容中得出它是使用的send函数发送的数据包,所以接收数据它指定用的是recv函数接收的数据

然后在跳转recv函数分析时发现跳转到了wsock32.dll里的recv,recv是Windows api,应该是跳进 Ws2_32.dll里才对

微软文档写的recv函数:recv 函数 (winsock2.h) - Win32 apps | Microsoft Learn

通过百度wsock32.dll和ws2_32.dll区别,发现:http://t.csdnimg.cn/U7Dgl

如果上方我百度的东西看不懂,自行百度 wsock32.dll和ws2_32.dll区别 这个关键字找

然后x96dbg按ctrl+g跳转时,可以加模块名,如下图

然后它就断下来了

然后按ctrl+f9,再按f8,来到下图位置,然后下图中call的函数时0Rdinal#16它没有写调用的recv,这个原因是没有fxnet2.dll的符号表,这个符号表是游戏的,我们没法下载,自己备注一下这个函数名也一样

recv函数的返回值是长度,下图中可以看出它返回了800个字节,这说明,不只有一个数据包,一个数据包不可能这么哒

然后它的入参有一个0x800,这个应该是接收数据的内存大小

然后往下滑,看到esp+edi+0x37C,也就是esp+0x37C位置就是接收数据的内存空间,它有800个大小

然后函数头部,进行了压栈B78

然后b78-37c=7FC,7FC+4=800,正好是内存大小

然后往下滑可以看到,现在处于循环中,就是遍历的接收的数据包

然后当数据循环到0xEE位置,就来到了下图函数里,这说明,这个函数是处理一个数据包的函数

然后按f7进入函数,看到下图红框位置的函数是一个俩参数的函数,然后从栈里可以看出它的一个参数满足数据长度条件

现在的数据包我们不知道是什么,所以接下来我们发送一个聊天数据,看看它的数据包结构,然后还由于此处函数干扰很重,就是会频繁断下来,所以要下一个条件断点,发送一个很长的数据,然后用esi>0x50这样的条件,就可以断到我们认识的数据上了

输入条件:然后发现0x50还是干扰很大,我所在的地图有很多npc与怪物,所以搞这个的时候要找一个无人的地方,最终加到0x70(esi>0x70)还有所好转

然后断下来了

然后把下图的位置由原本的4改成9

然后把我名字改了,所以它就是明文数据包所在位置

现在记录关键点0x10617FD7,然后现在查看它与发送数据的位置用的是不是一个连接,接收数据的ebx是0x3687B658

发送数据的位置是0x106180A5,然后它的值也是0x3687B658

所以现在已经清楚知道,游戏在建立网络连接的时候会创建一个结构体一个类,它的指针在网络连接的时候就能够截取到,截取到以后发送数据接收数据就能用得到,然后现在之所以分析的过程很简单是因为要少逆向找功能,要利用封包把功能做起来,尽量往脱机的角度走。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Git diff Word 文档

前言 前段时间用 nodeJS 写了一个提交代码的工具,开发过程中在认证部分遇到了一些小问题,于是就想看看官方的文档中有没有什么说明之类的,没想到文档中的内容十分丰富,除了解释了 git 相关的原理外,还学到了很多有用的…

TensorRT及CUDA自学笔记005 GPU架构和线程束

TensorRT及CUDA自学笔记005 GPU架构和线程束 GPU架构 流处理器streaming multiprocessor (SM) 每一个SM包含整数个CUDA core、共享内存\L1缓存(shared memory\L1cache)、注册文件(Register File)、加载和…

剪辑视频调色怎么让画质变得清晰 视频剪辑调色技巧有哪些方面 剪辑视频免费的软件有哪些 会声会影调色在哪里 会声会影模板素材

视频调色的作用有很多,除了进行风格化剪辑以外,还可以让作品的画质变得清晰。通过调色来增强画面的清晰度,在观感上也会显得十分自然。视频调色的技巧有很多,并且原理大都十分简单。有关剪辑视频调色怎么让画质变得清晰&#xff0…

旅游组团自驾游拼团系统 微信小程序python+java+node.js+php

随着社会的发展,旅游业已成为全球经济中发展势头最强劲和规模最大的产业之一。为方便驴友出行,寻找旅游伙伴,更好的规划旅游计划,开发一款自驾游拼团小程序,通过微信小程序发起自驾游拼团,吸收有车或无车驴…

iptables和五链四表相关规则说明

文章目录 1. iptables的作用2. iptables和netfilter的联系和区别3. 四表五链说明3.1 四表3.2 五链3.3 表与链之间的包含关系 4. iptables规则的常用命令和使用方法4.1 iptables规则组成4.2 规则数据管理 5. 常用的iptables场景5.1 禁止外部主机ping内部主机5.2 禁止某些端口访问…

Node.js+vue校内二手物品交易系统tdv06-vscode前后端分离

二手物品交易系统采用B/S架构,数据库是MySQL。网站的搭建与开发采用了先进的nodejs进行编写,使用了vue框架。该系统从三个对象:由管理员和用户、店铺来对系统进行设计构建。主要功能包括:个人信息修改,对用户、店铺、二…

145.二叉树的后序遍历

// 定义一个名为Solution的类&#xff0c;用于解决二叉树的后序遍历问题 class Solution { // 定义一个公共方法&#xff0c;输入是一个二叉树的根节点&#xff0c;返回一个包含后序遍历结果的整数列表 public List<Integer> postorderTraversal(TreeNode root) { /…

什么是飞行时间传感器以及 ToF 传感器如何工作?

译自https://www.seeedstudio.com/blog/2020/01/08/what-is-a-time-of-flight-sensor-and-how-does-a-tof-sensor-work/ 作者:亿达 您是否听说过飞行时间(也称为 ToF)用于您的手机、相机等,但不知道它们的用途及其工作原理? 通过本指南,您将了解有关 ToF 传感器和相机的…

Mac怎么运行赛博朋克2077,使用Game Porting Toolkit

Game Porting Toolkit通过转译的方式&#xff0c;将Direct3D指令翻译成Metal指令&#xff0c;让不少Windows游戏都能够在Apple Silicon Mac上成功运行。作为一款开发者工具&#xff0c;运行起来自然有不少的坑&#xff0c;本文手把手带你在M芯片Mac上运行赛博朋克2077。 CrossO…

Stable Diffusion 绘画入门教程(webui)-ControlNet(Tile/Blur)

上篇文章介绍了y语义分割Seg&#xff0c;这篇文章介绍下Tile/Blur&#xff08;增加/减少细节&#xff09; Tile用于增加图片细节&#xff0c;一般用于高清修复&#xff0c;Blur用于减少图片细节&#xff08;图片模糊&#xff09;&#xff0c;如下图&#xff0c;用Tile做修复&a…

springboot+vue项目部署配置开机自启动

1.前端部属 下载nginx解压&#xff0c;在nginx\conf下找到nginx.conf 添加如下代码 server {listen 8081;server_name localhost;charset utf-8;location / {root F:/1ceshi/dist; #前端打包路径try_files $uri $uri/ /index.html;index index.html index.htm;}l…

Samba文件夹有的能访问,有的不能解决办法(samba无法访问、samba文件夹打不开)需要把selinux设置为Permissive宽容模式

文章目录 如果有的目录能访问有的不能访问大概率是selinux设置了Enforcing强制模式需要把selinux设置为Permissive宽容模式或者Disabled禁用参考文章 如果有的目录能访问 有的不能访问 大概率是selinux设置了Enforcing强制模式 需要把selinux设置为Permissive宽容模式或者Di…

Linux修改shell工具连接端口

nano /etc/ssh/sshd_config 或者 vi /etc/ssh/sshd_config 或者 vim /etc/ssh/sshd_config

【论文精读】Diffusion Transformer(DiT)

摘要 以往的Diffusion模型主要以卷积UNet作为主干网络&#xff0c;本文发现U-Net的归纳偏差对Diffusion模型的性能并不是至关重要的&#xff0c;可以用Transformer等取代。通过利用其他视觉方向成熟的Transformer方案和训练方法&#xff0c;Diffusion模型可以从这些架构中获益&…

如何对表格中的文字进行自动识别并录入?

随着人工智能技术的不断发展&#xff0c;越来越多的领域开始应用自动化技术来提高工作效率和减少人工干预。对于表格中的文字识别和录入&#xff0c;目前已经有一些技术可以实现自动化&#xff0c;下面是一些可能的方法&#xff1a; 一、图片类表格文字自动识别并录入解决方案…

【踩坑】 修复报错 No module named ‘Crypto‘

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhang.cn] 这个直接使用pip安装Crypto是没有用的&#xff0c;网上说的装pycrypto实际上也没有用。 真正需要这样装&#xff1a; pip uninstall crypto pip uninstall pycrypto pip install pycryptodome 再运行就可以用…

Stable Diffusion WebUI 常用命令行参数

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里。 大家好&#xff0c;我是水滴~~ 本文主要讲解 Stable Diffusion WebUI 的一些常用命令行参数&#xff0c;内容详细的介绍了每一种参数的使用&#xff0c;并配有截图&#xff0c;非常适合初学者…

51单片机学习(4)-----独立按键进一步控制LED灯

前言&#xff1a;感谢您的关注哦&#xff0c;我会持续更新编程相关知识&#xff0c;愿您在这里有所收获。如果有任何问题&#xff0c;欢迎沟通交流&#xff01;期待与您在学习编程的道路上共同进步。 目录 一. 独立按键灵活控制LED 程序一&#xff1a;单个独立按键控制多个…

P6354 [COCI2007-2008#3] TAJNA

题目传送门 题目描述 使用一种加密算法。 设字符串的长度为 n&#xff0c;则构造一个矩阵&#xff0c;使得 rcn 且在 r≤c 的情况下使得 r 尽量大。 然后把给定的明文按照由上到下&#xff0c;从左到右的顺序填充这个 rc 的矩阵。 得到的密文就是把矩阵按照从左到右&#…

链表和顺序表的优劣分析及其时间、空间复杂度分析

链表和顺序表的优劣分析及其时间、空间复杂度分析 一、链表和顺序表的优劣分析二、算法复杂度<font face "楷体" size 5 color blue>//上面算法的执行次数大致为&#xff1a;F&#xff08;N&#xff09; N^22*N10;   N 10,F(10) 1002010 130次   N 1…