游戏安全实验室 首页 外挂分析 查看内容

【外挂分析】《QQ仙侠传》《疾风之刃》秒分解

发布于:2017-11-14 10:30   |    152410次阅读 作者: 管理员    |   原作者: 外部投稿

不知道大家是否知道这样一种外挂

分解大量的商店装备,获得分解材料,然后拍卖行出售,赚取成本装备和材料的差价。

如果产量很高会对游戏平衡系统产生影响。

然后有玩家会去计算,10秒分解一件得多少金币,然后减去成本赚几金币,一天下来赚多少多少,可是无论怎么计算貌似一天也就几块钱好像连电费都不够哦... ...

外挂当然不只是人力手动的重复,他是有快速方法才导致的这种外挂存在

我所知道的存在过这种外挂的游戏最典型的就是《QQ仙侠传》和《疾风之刃》

那他是怎么实现快速分解的呢?

其实很简单

分解函数内层是有读条函数和更内层分解函数或则调用发包函数的

如果我们跳过读条函数又或则是直接调用更内层函数

就可以不用读条不用等待,瞬间分解全包装备了。

但是这都是建立在读条函数在本地客户端的

而不是在服务端的

如果读条函数在服务端,那么客户端向服务器发送分解请求,服务器进行读秒,然后返回分解结果给客户端,那么客户端就不能达到秒分解的效果了,这也是游戏设计导致的。

 

我们来看一下QQXXZ实例

通过send 很容易能够返回到 分解的功能CALL

 

005F0BCF    DD05 F0AFAA00   fld     qword ptr [AAAFF0]

005F0BD5    83C4 08         add     esp, 8

005F0BD8    DD1C24          fstp    qword ptr [esp]

005F0BDB    6A 05           push    5

005F0BDD    56              push    esi

005F0BDE    894424 24       mov     dword ptr [esp+24], eax

005F0BE2    E8 890F1D00     call    007C1B70

005F0BE7    E8 287E1000     call    006F8A14

005F0BEC    DD05 F0AFAA00   fld     qword ptr [AAAFF0]

005F0BF2    83C4 08         add     esp, 8

005F0BF5    DD1C24          fstp    qword ptr [esp]

005F0BF8    6A 06           push    6

005F0BFA    56              push    esi

005F0BFB    894424 20       mov     dword ptr [esp+20], eax

005F0BFF    E8 6C0F1D00     call    007C1B70

005F0C04    E8 0B7E1000     call    006F8A14

005F0C09    8B4C24 20       mov     ecx, dword ptr [esp+20]

005F0C0D    8B5424 24       mov     edx, dword ptr [esp+24]

005F0C11    50              push    eax

005F0C12    8B4424 2C       mov     eax, dword ptr [esp+2C]

005F0C16    51              push    ecx

005F0C17    52              push    edx

005F0C18    50              push    eax

005F0C19    53              push    ebx

005F0C1A    57              push    edi

005F0C1B    E8 F07E0D00     call    006C8B10-------------------------------------------分解CALL

005F0C20    83C4 28         add     esp, 28

005F0C23    33C0            xor     eax, eax

005F0C25    5F              pop     edi

005F0C26    5E              pop     esi

005F0C27    5B              pop     ebx

005F0C28    8BE5            mov     esp, ebp

005F0C2A    5D              pop     ebp

005F0C2B    C3              retn

005F0C2C    8D4C24 1C       lea     ecx, dword ptr [esp+1C]

005F0C30    51              push    ecx

005F0C31    68 5492AC00     push    00AC9254                         ; ASCII "#ferror in function 'OnItemSplit'."

005F0C36    56              push    esi

005F0C37    E8 B4121D00     call    007C1EF0

005F0C3C    83C4 0C         add     esp, 0C

005F0C3F    5F              pop     edi

005F0C40    5E              pop     esi

005F0C41    33C0            xor     eax, eax

005F0C43    5B              pop     ebx

005F0C44    8BE5            mov     esp, ebp

005F0C46    5D              pop     ebp

005F0C47    C3              retn

 

如上面代码

这层CALL再返回的CALL 分解就会读秒了

这层和更内层的都不读秒

那么说明本层就存在着读秒CALL  可以直接NOP掉

或则直接调用里层函数  或则直接发包实现 即可达到秒分解效果



来源:外部投稿

*转载请注明来自游戏安全实验室(GSLAB.QQ.COM)

分享到:
踩0 赞0

收藏

上一篇:【外挂分析】《天涯明月刀》按键功能分析

下一篇:【外挂分析】《QQ西游》外挂背包分析

相关阅读
最新评论
B Color Image Link Quote Code Smilies

发表评论

top 问题反馈

返回顶部