【游戏漏洞】QQ西游周围数组遍历

admin 2022年7月21日19:32:48评论64 views字数 799阅读2分39秒阅读模式

致力于分享游戏安全技术,提供专业的游戏安全资讯   

使用CE扫描人物血量

首先尝试 整数型

【游戏漏洞】QQ西游周围数组遍历 

发现扫描不到,说明不是整数型

那么尝试其他类型

扫描float类型,得到结果

【游戏漏洞】QQ西游周围数组遍历 

 

拿到血量地址 od中下断追踪其来源

 

【游戏漏洞】QQ西游周围数组遍历 

断到的代码

 

【游戏漏洞】QQ西游周围数组遍历 

其中eax是变化的

不能在代码段下断,否则断到的不一定是人物血量的调用,可能是其他属性

只能直接在地址上下断,得到EAX==0BF,然后继续追踪来源

 

继续往上追

【游戏漏洞】QQ西游周围数组遍历 

esi来源于堆栈

我们在断下的情况去看 [esp+C]是什么

 

【游戏漏洞】QQ西游周围数组遍历 

发现是上一层的第二个参数

那么CTRL+F9 继续返回追踪

【游戏漏洞】QQ西游周围数组遍历 

edi 是第二个参数

表达式变成

edi+0BF*4+550

继续往上追

看到retn

应该判断是否来到了函数头部

【游戏漏洞】QQ西游周围数组遍历 

下断以后发现   堆栈的第一条并不是返回到  ,所以判定该处不是函数头部

而是其他地方跳转来的

【游戏漏洞】QQ西游周围数组遍历

搜索常量00516F33

 

发现上面的跳转

【游戏漏洞】QQ西游周围数组遍历

那么继续往上追

 

 

【游戏漏洞】QQ西游周围数组遍历

又来源于上层第三个参数

【游戏漏洞】QQ西游周围数组遍历

ebp 是上一层第三个参数

此时EBP不是堆栈地址 ,而是一个普通的寄存器

表达式变成 ebp +0BF*4+550

 

继续往上追

【游戏漏洞】QQ西游周围数组遍历

发现追到了一个数组

 

 

表达式

[[0FB5FB4]+0*4]+0BF*4+550

 

【游戏漏洞】QQ西游周围数组遍历

数组第一个成员就是我们的人物

那么说明人物在一个结构里

很可能是NPC 怪物放在一起

当然人物也应该有单独存放的位置

我们可以尝试单独去一下人物的表达式

那么就要在对象的位置  找不同的一个访问才可能找到

 

对象血量 [[0FB5FB4]+0*4]+0BF*4+550



来源:通化程序员-公众号投稿

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

近期精品文章:


【游戏漏洞】CSGO人物坐标分析

【游戏漏洞】页游逆向—摩尔庄园封包解密

【外挂分析】CSGO公众作弊ezfrags外挂分析

【游戏漏洞】《魔力宝贝》步步遇敌分析



投稿文章:[email protected]

【游戏漏洞】QQ西游周围数组遍历

原文始发于微信公众号(游戏安全实验室):【游戏漏洞】QQ西游周围数组遍历

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月21日19:32:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【游戏漏洞】QQ西游周围数组遍历http://cn-sec.com/archives/1066592.html

发表评论

匿名网友 填写信息