发布于:2018-6-22 18:09 | 253413次阅读 作者: 外部投稿 | 原作者: 通化程序员
之前我们找的周围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网站投稿文章仅代表作者本人的观点,与本网站立场无关。 *转载请注明来自游戏安全实验室(GSLAB.QQ.COM) |
最新评论
发表评论