首页 > 其他分享 >28.x86游戏实战-初探XXX发包

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

时间:2024-08-02 20:53:59浏览次数:29  
标签:位置 函数 CTRL F9 XXX 然后 发包 下图 x86

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

本次游戏没法给

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

工具下载:

链接: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让线程运行起来

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

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


标签:位置,函数,CTRL,F9,XXX,然后,发包,下图,x86
From: https://blog.csdn.net/qq_36301061/article/details/140756494

相关文章

  • 数据集相关类代码回顾理解 | np.mean\transforms.Normalize\transforms.Compose\xx
    数据集相关类代码回顾理解|StratifiedShuffleSplit\transforms.ToTensor\Counter目录np.meantransforms.Normalizetransforms.Composexxx.transformnp.meanmeanRGB=[np.mean(x.numpy(),axis=(1,2))forx,_intrain_ds]计算每个样本的(RGB)均值  。NumPy库np.......
  • 在Java中利用GeoHash实现高效的‘附近xxx‘功能
    GeoHash的介绍GeoHash是一种高效的地理编码系统,它通过将地球表面划分为网格并用字母数字组合的字符串来表示每个区域。这种编码方法将二维的经纬度坐标转换为一维的字符串,使得地理位置的存储和检索变得更加简单。GeoHash的核心原理是将经纬度坐标转换为二进制,然后交替取位......
  • ld: error: /xxxx/so库路径: read: 是一个目录
    前言全局说明一、说明环境:ubuntu18.04二、问题交叉编译时,提示read是一个目录,指定的so路径是存在的ld:error:/xxxx/so库路径:read:是一个目录三、解决方法把CCLIBS里指定路径时,不需要-L参数,把-L去掉exportCCLIBS="-L${sgmw_tbox_lib_so_idps_frame}/"......
  • Windows下用CMake构建和编译第三方依赖库并向C:\Program Files\或C:\Program Files
    从CMake构建和编译第三方依赖库的步骤:1、下载第三方依赖库的源码,并解压到指定的目录中。2、在第三方依赖库的的源码所在的目录下(一般是src/目录下)创建一个文件夹build。3、打开CMakeGUI软件,按照常规步骤配置和产生针对某种编译器的解决方案文件,比如Visualstudio2019。如下如......
  • Linux平台x86_64(麒麟|统信UOS)|aarch64(飞腾)如何实现摄像头|屏幕和麦克风|扬声器采
    技术背景为什么要在Linux平台麒麟、统信、飞腾平台实现RTMP推送、RTMP|RTSP播放和轻量级RTSP服务?归根结底,还是提升信息安全与自主可控能力,促进经济发展与产业升级。以无纸化会议系统为例,由于无纸化系统涉及大量敏感信息和重要数据的传输与处理,国产化能够确保信息在传输、存储......
  • 【Python】成功解决:`FileExistsError: [Errno 17] File exists: ‘xxx’`
    【Python】成功解决:FileExistsError:[Errno17]Fileexists:‘xxx’在Python编程中,处理文件和目录是常见的任务之一。然而,当我们尝试执行某些文件操作,如创建新文件或目录时,如果目标文件或目录已经存在,就可能会遇到FileExistsError异常。这个错误通常伴随着消息[Errno1......
  • wsl docker 安装frp内网穿透出现error: dial tcp 127.0.0.1:xxxx: connect: connectio
    ​环境为win11+wsl2+dockerdesktop+frp镜像发生背景:wsl配置文件中我设置了networkingMode=mirrored所以一般情况下wsl2和主机ip一致,可互通原始配置文件为#frpc.toml配置文件端口映射部分[text]type=tcp#模式local_ip=127.0.0.1#本机iplocal_port=1234#本机端口rem......
  • 解决Windows找不到文件XXX。请确定文件名是否正确。(CSDN大多Ctrl+V,无法解决问题)
    直接进入正题,运行输入regedit,打开注册表打开之后复制下面这段路径计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\ImageFileExecutionOptions当然咯,你一个个点开也不是不行哈哈。ImageFileExecutionOptions目录下有好多好多exe,找到你运行......