wXgame上某游戏封包分析

wXgame上某游戏封包分析
 
号注册10多年了,某天有个hr问我你在XX论坛发了几个贴,我突然发现没有,闲来无事发一个基础贴吧。
近几年都在做android逆向,很少再关注windows
本贴不教大家做辅助,纯学习,娱乐
  
工具x64dbg
 
发包特征码8B 45 08 69 C0 D8 00 00 00 8B F9 83 BC 38 58 00 02 00 02,定位游戏发包函数
(游戏线程发包,调用wsasend发包,下断返回几层很容易找到此函数)
 Ctrl+b直接定位
 
 
 
下断发包,函数返回上层附近就是一个加密函数,有的包也不会加密
Bb7210函数有两个参数,返回调用处,注意看c17dbd,这里压入一个buffer,分析发现,这里就是明文,1047860就是加密函数
 
 
下面就自己写一个工具分析封包,之前用c++也写过,这里用lazarus也写了一个
Hook是用的微软的detours,lazarus的好处就是不用需要写裸函数,各种界面显示不用自己发消息,mfc多线程界面刷新还要自定义消息,很是麻烦。
 
这里直接hook加密函数,显示明文封包,
 
 
 
效果图是直接hook的发包函数,第3字节是01是说明这是一个加密包,为0是明文包,下面都是人物移动时所发的包
 
 
比如这个包
07060000000000200200000045000000CDE401000100000000000000000000000000000000000000000000000000000009000000
第3字节为0,是竞技模式下双方强制pk的包,字段中 01和09为竞技场玩家序列号,发此包可强制两位玩家pk,这个是个大bug,还有其它很多严重性的问题。
 
看看加密函数,一个循环,ebp+8为传进来的buffer,ebp+C为明文长度,esi数组下标
 
 
总结一下:比较简单,游戏发包,可以实现一些特殊的功能,远距离打开仓库,存放物品,强制pk等。
原文地址:https://www.cnblogs.com/fply/p/14446487.html