致力于分享游戏安全技术,提供专业的游戏安全资讯
之前我们找的周围NPC数组遍历
发现能够遍历的数量较少,也可以说是遍历范围较小,有一些较远的NPC是无法遍历到的
那么我们找其他的代码当突破口。
例如在人物血量上下写入断而不是访问断
得到代码如下
(此处不可以CTRL+F9 原因很简单 就是此处是CALL内部 JMP来的 直接返回的位置不对)
CTRL+f9的错误位置如下:
call 的地址是 004DBD20 明显不是我们刚才断下子程序的头部地址 004E3930
那么我们回车进入CALL发现是jmp 跳过去的
所以只能点F8返回继续追
继续追ESI
esi来源于eax
eax是call的返回值
我们进入call追eax的来源
发现是一个数组套链表结构
返回继续追到基地址
公式
[[[8DAC28]+2142c]+n*4] 数组对象
数组对象套 +8链表 新对象==0 停止遍历
[对象+4]+0BF*4+550 血量
来源:通化程序员-公众号投稿
*转载请注明来自游戏安全实验室(GSLAB.QQ.COM)
近期精品文章:
∨
投稿文章:[email protected]
原文始发于微信公众号(游戏安全实验室):【游戏漏洞】RPG游戏NPC数组链表嵌套结构
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论