【游戏漏洞】《星辰传说》角色信息分析

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

角色信息往往数据分析的开始,也是关键,在这样一个看似最简单的数据里,往往能反映出这个游戏的很多数据特点和结构。

《星辰传说》的角色信息公式很简单,但是对于初学者来说往往会误入歧途,浪费很多的时间。

首先通过改变角色的血量,搜索到两个地址(如图)

 

让怪物攻击使角色的血量减少,可以得出第一个地址是当前血量,第二个是最大血量,通过OD对当前血量下访问断点,游戏断下(如图)

向上分析可以得到20偏移,然后到call    004C0F80中继续分析,可以得到+C和+4偏移,然而我们继续分析时发现继续分析的esi来源于一个堆栈地址,也就是说这个esi里的值是被临时写入的,那么我们就没有办法继续向上分析。

这种情况下我们首先考虑的是0x61A564处写入的ecx是否是真正的血量来源,于是我们简单的分析下,发现也无法得到一个合理的公式。这样我们就需要考虑第三种情况,会不会有其他的代码访问这个血量。我们再次下访问断点,并F9运行,游戏断下(如图)

这里我们得到了一个45C偏移,这个偏移看起来很不错,返回上一层继续分析,需要注意的是不要用ctrl+F9去返回,不然会返回两次,因为当前代码已经在retn处。F8单步返回后,得到+64偏移(如图)

继续向上分析,很容易得到基地址[90560C](如图)

这样我们就得到角色血量的公式

[[90560C]+64]+45c

在周围进行分析,还可以得到一些其他的属性

[[90560C]+64]+460   当前蓝

[[90560C]+64]+61C  最大血

[[90560C]+64]+620  最大蓝

[[90560C]+64]+274  X坐标

[[90560C]+64]+278  Y坐标

[[90560C]+64]+24  角色名字ASCII

 


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

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

近期精品文章:


【游戏漏洞】CSGO人物结构分析

【游戏漏洞】《幻想神域》线程发包分析

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

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



投稿文章:gslab@tengcent.com