32位游戏逆向安全之角色及怪物分析
目录
32位游戏逆向安全之角色及怪物分析
角色对象作为一个特殊的个体,一般都是单独存放在一个基地址下的,而有些游戏则需要通过角色名字 或者ID到怪物遍历中去获取。通过CE搜索角色血量,得到2个地址,分别是当前血量和最大血量(如图)
当前血量下访问断点,改变血量后游戏断下,这里会断到几个不同的位置,所以正确的选择断下的代码 才能快速的找到结果(如图)
断到的函数里可以得到+F8和+C偏移,执行到返回后,在4C997D处的call 006EF250中可以得到+A8偏 移(如图)(如图)
继续向上分析,发现来源于004C993E处的call [edx+38](如图)
到函数内部可以得到+10偏移和二叉树遍历(如图)(如图)
在函数里可以得到+30偏移,而在外层可以得到基地址[10BC4E4](如图)
这样我们就得到了角色血量的来源,但不是来源于一个单独的基地址,而是来源于一个二叉树遍历,经 过分析可以得出这个遍历恰好是怪物和NPC的遍历,也就是说我们想取角色信息,首先要通过角色名字去 这个遍历中去获取。
帖子没看够?
添加QQ群:805981646
每晚都有免费的公开课等你来看