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等。