28.x86游戏实战-初探XXX发包

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

本次游戏没法给

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

工具下载:

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

提取码:6tw3

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

上一个内容:27.x86游戏实战-线程发包的找法

这个游戏它有很多vm(现在把它理解成核心代码隐藏功能)阻止我们逆向分析,它也有很多检测,vm没办法,这个检测的东西后面会写怎么过掉

打开OD并附加到游戏

首先按CTRL+G跳转到ws2_32.send位置打断点,然后会发现断点不会触发

然后再跳转到ws2_32.sendto函数打断点,断点也是没反应

然后再跳转到ws2_32.WSASend函数打断点,看到它可以断下来,这里断的很频繁

然后再看WEPSend,WEP找出方式在send或sendto或WSASend函数里往下滑就可以看到下图红框的两行代码,这就是调用WEPSend函数的特征码,这个特征码要记住(记不住没关系,后面多分析几次记不住也能记住了)

接下来在WEP里打断点,然后按CTRL+F9,看看它能反到什么位置,进入WEP函数的方式,在下图红框位置打断点

断点住之后按F7,按F7之前别忘了取消断点(不取消可能会乱跳)

按完F7就会进入到WSPSend函数里了,如下图

接下来看看次游戏自己实现的send函数在哪,然后在WSPSend函数头部,也就是下图红框位置打断点,然后按CTRL+F9,按CTRL+F9之前别忘了取消断点(不取消可能会乱跳)

第一次按CTRL+F9来到了下图红框位置

然后按F9让代码运行起来,然后按-(减号键盘p上方的减号),按了-之后会来到下图红框位置,也就是会来到按CTRL+F9之前的代码上(这里就会来到WSPSend函数头部)

然后再次给WSPSend函数头部打断点,再次按CTRL+F9,多重复几次,每按一次CTRL+F9就写一个备注然后按-,然后再次在WSPSend函数头部打断点,再次按CTRL+F9,这样多重复主要是观察SWPSend按了CTRL+F9之后会返回到什么位置,这些位置都是游戏发送数据包的函数,需要记录下来

然后经过多次上方说的操作,WSPSend还会CTRL+F9返回到下图位置,并在下图位置写了备注22222,然后继续重复,看看还会不会返回到新的函数里

经过多次在WSPSend函数里CTRL+F9,发现就上方两处,接下来看一看这俩函数,首先是111,这里还是通过在WSPSend函数里按CTRL+F9以断点的方式看

如下图来到111位置

然后再次按CTRL+F9发现111是WSASend函数,WSASend函数是微软(Windows操作系统)提供的,这里先不细看它

然后接下来看2222,来到下图位置,然后按CTRL+F9

然后会来到下图红框位置,这里就发现它跳到了一个叫xxdl的模块里,微软没有提供叫xxdl的模块(我怎么知道的?我不知道都是老师说的) ,它就是自己(游戏公司自己)实现的发送数据包函数,本次先大体看一遍,然后按CTRL+F9

然后来到下图位置,然后按CTRL+F9

然后来到下图位置,然后按CTRL+F9

然后来到下图位置,然后按CTRL+F9

按完CTRL+F9会卡死,然后来到下图位置发现游戏线程全部是暂停状态

然后点击Resume All Threads让线程运行起来

然后会发现游戏弹出了这个弹框,点击确定之后游戏闪退,然后这个问题后面就写怎样跳过它

到这已经大体过了一遍此游戏的发包函数,也有了一个初步的了解,接下来就在本次分析的经验上开始细化


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

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

相关文章

GPT-4o mini小型模型具备卓越的文本智能和多模态推理能力

GPT-4o mini 是首个应用OpenAI 指令层次结构方法的模型,这有助于增强模型抵抗越狱、提示注入和系统提示提取的能力。这使得模型的响应更加可靠,并有助于在大规模应用中更安全地使用。 GPT-4o mini 在学术基准测试中,无论是在文本智能还是多模…

微信小游戏之三消(二)主要游戏控制方法

设计一个 game class。负责了游戏的核心控制逻辑,包括游戏状态管理、方块和道具的生成与效果处理,以及游戏的重新开始和复活流程。通过这些方法,脚本实现了游戏的基本玩法和用户交互。 主要游戏控制方法 gameStart():开始游戏&am…

Java学习Day16:基础篇6

1.静态和非静态 2.调用静态和非静态的过程 注:在Java中,同类中,确实可以使用类的对象来调用静态方法,尽管这不是推荐的做法。静态方法属于类本身,而不是类的任何特定实例。因此,理论上讲,你应该…

设备树作业7月29日

demo.c #include <linux/init.h> #include <linux/module.h> #include <linux/of.h>struct device_node* node; struct property* property; /* mynode0x12345678{ //mynode节点名字mystring "hello DC24031";//字符串属性myint <0x12 0x34 …

【iOS】—— KVO与KVC

KVO与KVC 1. KVOKVO底层实现分析如何验证上面的说法&#xff1a;NSKVONotifyin_Person内部结构didChangeValueForKey:内部会调用observer的observeValueForKeyPath:ofObject:change:context:方法 回答问题&#xff1a; 2. KVC简介&#xff1a;key和keyPath的区别key&#xff1a…

“支付”到“智付” 数字人民币场景加速落地

在全球化浪潮的推动下&#xff0c;跨境电商如雨后春笋般涌现&#xff0c;它们跨越国界&#xff0c;将商品和服务直接送达消费者手中。然而&#xff0c;当外国的跨境电商希望进入中国市场时&#xff0c;他们面临着一个共同的挑战&#xff1a;如何合法合规地从中国用户手中收取款…

探索 Electron:如何进行网址收藏并无缝收录网页图片内容?

Electron是一个开源的桌面应用程序开发框架&#xff0c;它允许开发者使用Web技术&#xff08;如 HTML、CSS 和 JavaScript&#xff09;构建跨平台的桌面应用程序&#xff0c;它的出现极大地简化了桌面应用程序的开发流程&#xff0c;让更多的开发者能够利用已有的 Web 开发技能…

EtherNet/IP转CAN协议转化网关(功能与配置)

怎么样把EtherNet/IP和CAN两个协议连接起来?有很多朋友想要了解这个问题&#xff0c;那么作者在这里统一说明一下。其实有一个不错的设备产品可以很轻易地解决这个问题&#xff0c;名为JM-EIP-ECAT网关。接下来作者就从该设备的功能及配置详细说明一下。 一&#xff0c;设备主…

Angular 遍历列表时的key

在Angular中&#xff0c;你可以使用keyvalue管道来遍历对象的键。这里是一个简单的例子&#xff0c;展示了如何在Angular模板中使用它&#xff1a; <div *ngFor"let key of myObject | keyvalue:key">Key: {{ key }} - Value: {{ myObject[key] }} </div&g…

springboot中hutool-core依赖的使用

springboot中hutool-core依赖的使用 依赖安装1、StrUtil.isBlank() 依赖安装 <!-- https://mvnrepository.com/artifact/cn.hutool/hutool-core --><dependency><groupId>cn.hutool</groupId><artifactId>hutool-core</artifactId><ver…

在Android开发中,如何优化onCreate()和onResume()方法以提高应用性能?

在Android开发中&#xff0c;onCreate()和onResume()方法是活动生命周期中非常重要的两个回调方法&#xff0c;它们分别在活动创建和重新获得焦点时被调用。为了提高应用的性能&#xff0c;以下是一些优化这两个方法的策略&#xff1a; 对于onCreate()方法的优化&#xff1a; …

聊聊基于Alink库的主成分分析(PCA)

概述 主成分分析&#xff08;Principal Component Analysis&#xff0c;PCA&#xff09;是一种常用的数据降维和特征提取技术&#xff0c;用于将高维数据转换为低维的特征空间。其目标是通过线性变换将原始特征转化为一组新的互相无关的变量&#xff0c;这些新变量称为主成分&…

TinyMCE一些问题

1.element 在el-dialog中使用tinymce导致富文本弹窗在el-dialog后面的问题 原因是富文本的弹窗层级太低了 在APP.vue中添加样式即可解决 /* 富文本菜单 */ .tox-tinymce-aux {z-index: 9999 !important; }2.element 在el-dialog中点击富文本的功能栏报错 由于 aria-hidden 属…

Midjourney、Sora和硅谷机密-《分析模式》漫谈15

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 “Analysis Patterns”的Preface&#xff08;前言&#xff09;有这么一句&#xff1a; Kent Beck, Ward Cunningham, and Jim Coplein encouraged me to get involved with the commu…

虚假的互联网信息?不妨从IT的角度理解【景观社会】

博主前言&#xff1a;“我思故我在”&#xff0c;笛卡尔的这一哲学命题&#xff0c;大抵上次还比较熟络的时光还是高中亦或复习考研政治的岁月里。这是一个光怪陆离的社会——或者说网络社会&#xff0c;形形色色的消息充斥在脑海之时&#xff0c;你是否还能认识真正的自己&…

YOLOV8-源码解读-SPP-SPPF

先给出YOLOV8中一键三连卷积模块 def autopad(k, pNone, d1): # kernel, padding, dilation"""Pad to same shape outputs."""if d > 1:k d * (k - 1) 1 if isinstance(k, int) else [d * (x - 1) 1 for x in k] # actual kernel-sizeif…

全国区块链职业技能大赛样题第9套智能合约+数据库表设计

后端源码地址:https://blog.csdn.net/Qhx20040819/article/details/140746050 前端源码地址:https://blog.csdn.net/Qhx20040819/article/details/140746216 智能合约+数据库表设计:https://blog.csdn.net/Qhx20040819/article/details/140746646 nice.sql /* Navicat MySQ…

分布式事务解决方案(一) 2PC、3PC、TCC、Sega

目录 1.绪论 2.2PC 2.1 基本原理 2.1.1 组成 2.1.2 步骤 1.prepare阶段 2.commit阶段 2.2 2PC 存在的问题 2.2.1 阻塞问题 2.2.2 单点故障问题 1. 事务协调器宕机 2.部分数据不一致问题 2.资源管理器宕机 3. 事务协调器和资源管理管理器同时宕机 2.2 实现 2.2.1…

怎么将几个pdf合成为一个pdf?pdf合成为一个的常用方法

在现代的职场和学术环境中&#xff0c;如何将多个独立的PDF文档合并成一个统一的文件已经成为提高工作效率、优化文档管理和促进信息共享的重要手段。PDF格式以其卓越的跨平台兼容性、强大的数据保护能力以及清晰易读的版面设计&#xff0c;在全球范围内得到了广泛的应用和认可…