17.第二阶段x86游戏实战2-线程发包和明文包

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

本次游戏没法给

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

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

工具下载:

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

提取码:6tw3

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

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

上一个内容中写了send、sendto、WSASend、WSPSend发包函数和逆向的时候怎么找它们,本次就开始找此游戏明文发包位置

打开游戏打开OD,OD并附加到游戏

OD附加到游戏之后按CTRL+G,输入下图红框的内容 ws2_32.send,然后点OK跳转到send函数中,OD第一个打开需要CTRL+G两次

然后就跳转到了下图位置,send函数开始的位置

然后在游戏聊天框里输入一段内容

然后单击下图红框位置,也就是send函数的第一行

然后游戏中会有很多数据包,为了避免被干扰,有一个技巧,鼠标移动到游戏中发送消息的按钮上,然后按F2,F2是OD的打断点快捷键,按了F2打了断点之后鼠标快速点击游戏中发送消息按钮,这样可以0失误的通过发送聊天数据断在send函数上,如下图,下图红框是聊天内容数据,31是Unicode编码它表示数字1,可以看到这个游戏给服务器发送的数据没有加密(调用了send函数数据就会通过网络发送出去所以一般加密是在调用send函数之前)

然后使用Send函数一般会配合多线程使用,不要管什么意思记着就行,使用了多线程在send函数中打断点按CTRL+F9是无法找到功能的,比如上方是通过发送聊天数据触发的断点,在send函数中打断点然后按CTRL+F9是无法找到发送聊天数据的这个功能的代码的

然后下图红框位置是send函数要发送的数据,也就是数据包(封包),它是一个内存地址,可以看到不管怎么运行这个内存地址都不会变,这是因为它有两个线程,一个线程用来给这个内存地址里写数据,一个线程用来从这个内存地址里读数据发送数据,所以我们找的应该是给内存地址写数据的那个线程里的代码

然后选择数据窗口跟随

然后下一个硬件写入断点

然后它就会断下来,现在断下来的位置就是给内存地址写数据的地方

然后点击下图红框位置删除断点,如果下了硬件写入断点没有反应那就检查下图绿框里的地址是否正确,如果不正确删除断点重新打硬件写入断点

删除之后按CTRL+F9,如下图第一层

CTRL+F9,如下图第二层

CTRL+F9,如下图第三层

CTRL+F9,如下图第四层

CTRL+F9,如下图第五层

CTRL+F9,如下图第六层,按六层左右或按到CTRL+F9没反应了位置就不要按了

然后来到第三层,按键盘上的-(减号)就可以恢复按CTRL+F9之前的位置,来到第三层

来到第三层之后打断点,打了断点之后回到游戏做一个会发送数据包的事,比如走路、发送聊天数据,然后发现下图断点位置不管走路还是发送聊天数据都会断下来,所以再来到第四层

怎么回到第四层?如下图红框,如果写了内容

选择用户自定义的注释

然后根据注释列选择,找到那一行直接用鼠标双击就可以跳转过去了

在第四层打断点,然后会发现走路、发送聊天数据不会断下来了,所以0x00CA8B90函数是游戏写数据包内容的函数,也就是第三层才是我们要找的游戏发送数据包函数

然后这个游戏重启内存地址会变化,所以这里要计算一下偏移,这个函数在Game模块中

它的偏移,公式 Game模块基址+0x288B90的位置是发送数据包函数


img

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

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

相关文章

kubernetes的网络

kubernetes网络模型 Kubernetes采用的是基于扁平地址空间的网络模型,集群中的每个Pod都有自己的IP地址,Pod之间不需要配置NAT就能直接通信,同一个Pod中的容器共享Pod的IP,能够通过localhost通信Pod容器内的通信 当Pod被调度到某个…

车辆重识别(去噪扩散概率模型)论文阅读2024/9/27

[2] Denoising Diffusion Probabilistic Models 作者:Jonathan Ho Ajay Jain Pieter Abbeel 单位:加州大学伯克利分校 摘要: 我们提出了高质量的图像合成结果使用扩散概率模型,一类潜变量模型从非平衡热力学的考虑启发。我们的最…

【hot100-java】【零钱兑换】

R9-dp篇 class Solution {public int coinChange(int[] coins, int amount) {int ncoins.length;int [][] fnew int[n1][amount1];//除2防止下面1溢出Arrays.fill(f[0],Integer.MAX_VALUE/2);f[0][0]0;for (int i0;i<n;i){for (int c0;c<amount;c){if(c<coins[i]) f[i…

5G NR 协议规范表(对应3GPP 协议编号)

文章目录 5G NR 协议规范表&#xff08;对应3GPP 协议编号&#xff09;5G 架构相关协议5G 新空口相关协议无线接入网相关协议终端相关协议 5G NR 协议规范表&#xff08;对应3GPP 协议编号&#xff09; 5G 架构相关协议 5G 新空口相关协议 无线接入网相关协议 终端相关协议

网页设计html心得

一&#xff0c;认识网页 说到网页&#xff0c;其实大家并不陌生 1.1网页究竟是什么&#xff1f; 网页主要由文字、图像和超链接等元素构成。当然&#xff0c;除了这些元素&#xff0c;网页中还可以包含音频、视频以及Flash等。 1.2网页是如何形成的呢&#xff1f; 1.特殊的…

uni-app在线预览pdf

这里推荐下载pdf.js 插件 PDF.js - Browse Files at SourceForge.net 特此注意 如果报 Promise.withResolvers is not a function 请去查看版本兼容问题 降低pdf.js版本提高node版本 下载完成后 在 static 文件夹下新建 pdf 文件夹&#xff0c;将解压文件放进 pdf 文件…

从0新建一个微信小程序实现一个简单跳转

首先 1.从这里下载开发工具 https://developers.weixin.qq.com/miniprogram/dev/framework/quickstart/getstart.htm 2. 等下载完毕后 创建一个空白项目 在pages目录下右键创建一个page : testUI,这时候会生成四个文件 新建一个文件夹 testUI 给他们放一起 3.增加一个按钮 …

尚品汇-自动化部署-Jenkins的安装与环境配置(五十六)

目录&#xff1a; 自动化持续集成 &#xff08;1&#xff09;环境准备 &#xff08;2&#xff09;初始化 Jenkins 插件和管理员用户 &#xff08;3&#xff09;工作流程 &#xff08;4&#xff09;配置 Jenkins 构建工具 自动化持续集成 互联网软件的开发和发布&#xf…

【AI基础】pytorch lightning 基础学习

传统pytorch工作流是首先定义模型框架&#xff0c;然后写训练和验证&#xff0c;测试循环代码。训练&#xff0c;验证&#xff0c;测试代码写起来比较繁琐。这里介绍使用pytorch lightning 部署模型&#xff0c;加速模型训练和验证&#xff0c;记录。 准备工作 1 安装pytorch…

JAVA红娘婚恋相亲交友系统源码全面解析

在数字化时代&#xff0c;红娘婚恋相亲交友系统成为了连接单身男女的重要桥梁。JAVA作为一种流行的编程语言&#xff0c;为开发这样的系统提供了强大的支持。编辑h17711347205以下是对JAVA红娘婚恋相亲交友系统源码的全面解析&#xff0c;以及三段示例代码的展示。 系统概述 …

[产品管理-33]:实验室技术与商业化产品的距离,实验室技术在商业化过程中要越过多少道“坎”?

目录 一、实验室技术 1.1 实验室研究性技术 1.2 技术发展的S曲线 技术发展S曲线的主要阶段和特点 技术发展S曲线的意义和应用 二、实验室技术商业化的路径 2.1 实验室技术与商业化产品的距离 1、技术成熟度与稳定性 - 技术自身 2、市场需求与适应性 - 技术是满足需求 …

ArcEngine C#二次开发图层处理:根据属性分割图层(Split)

需求&#xff1a;仅根据某一属性&#xff0c;分割图层&#xff0c;并以属性值命名图层名保存。 众所周知&#xff0c;ArcGIS ArcToolbox中通过Split可以实现图形分割一个图层&#xff0c;以属性值命名图层&#xff0c;如下图所示。 本功能仅依据属性值&#xff0c;将一个shp图…

转行大模型的必要性与未来前景:迎接智能时代的浪潮

随着人工智能&#xff08;AI&#xff09;技术的迅猛发展&#xff0c;特别是大型语言模型&#xff08;LLM, Large Language Models&#xff09;的崛起&#xff0c;各行各业正迎来一场前所未有的技术革命。对于普通程序员而言&#xff0c;转行进入大模型领域不仅是对个人职业发展…

【第十五章:Sentosa_DSML社区版-机器学习之关联规则】

目录 15.1 频繁模式增长 15.2 PrefixSpan 【第十五章&#xff1a;Sentosa_DSML社区版-机器学习之关联规则】 机器学习关联规则是一种用于发现数据集中项之间有趣关系的方法。它基于统计和概率理论&#xff0c;通过分析大量数据来识别项之间的频繁共现模式。 15.1 频繁模式增…

Python 爬虫 根据ID获得UP视频信息

思路&#xff1a; 用selenium库对网页进行获取&#xff0c;然后用bs4进行分析&#xff0c;拿到bv号&#xff0c;标题&#xff0c;封面&#xff0c;时长&#xff0c;播放量&#xff0c;发布时间 先启动webdriver.&#xff0c;进入网页之后&#xff0c;先等几秒&#xff0c;等加…

Unity 的Event的Use()方法

对于Event的Use方法&#xff0c;其在调用后将不会再判断同类型的事件 这种情况下&#xff0c;第二个MosueDown不会进入&#xff0c;因为已经Use 如果把Use注释掉 依旧能进入第二个MosueDown 也就是说当使用了Use方法&#xff0c;相同的事件类型不会进第二遍

【反素数】

题目 思路 首先分析 的性质 一定是 中约数最大的一定是约数同是最大的数字中值中最小的进一步挖掘性质&#xff0c;紧贴枚举的做法 约数最大值最小&#xff08;也决定了层数、其它约束&#xff09;&#xff0c;是枚举的比较条件实现上述目的&#xff0c;枚举的质数种类在大小…

Tensorflow 2.0 cnn训练cifar10 准确率只有0.1 [已解决]

cifar10 准确率只有0.1 问题描述踩坑解决办法 问题描述 如果你看的是北京大学曹健老师的tensorflow2.0,你在class5的部分可能会遇见这个问题 import matplotlib.pyplot as plt import tensorflow as tf from tensorflow.keras.layers import Dense, Dropout,MaxPooling2D,Fla…

VS Code breadcrumbs view 是什么

VS Code breadcrumbs view 是什么 正文 正文 breadcrumbs view&#xff1a;中文翻译&#xff0c;面包屑视图&#xff0c;乍听起来感觉十分抽象。这里我们来解释一下这个视图的含义&#xff1f; 如下图所示&#xff0c;红色框标记的部分就是 这个视图可以显示出当前打卡文件所…

新手答疑 | 零基础该怎么学习嵌入式?嵌入式Linux学习路线是什么?嵌入式开发板推荐?

很多初学者想要涉足嵌入式Linux开发领域&#xff0c;但往往在刚入门阶段&#xff0c;会因为初次接触到大量复杂的概念术语和深奥的技术文档感到压力重重&#xff0c;面对这些内容不知从何下手&#xff0c;感到十分迷茫&#xff0c;网上的内容也纷繁复杂&#xff0c;没有清晰的学…