标签:
走路CALL 及 相关分析
(a)、分析走路状态开关
(b)、测试走路CALL
(c)、确定功能CALL及参数
ZC: 【01:50】坐标中h的值为C3B43558 【02:50】坐标中h的值为C3B3F7F1
ZC: 坐标里面的h的值是变化的,这个 h 指什么?是指距离水平面的高度吗?
【00:25】游戏 又更新了
【01:35】来到 上一节课的CALL地址,设置断点,断下来之后 堆栈窗口回溯 上一级CALL才是我们要研究的 【05:55】观察一下 堆栈的参数
【02:30】先写一个测试代码测试一下
【02:50】两次(ZC: 或者多次?)断下,ECX的值没有发生变化,于是 暂时先使用这个值。【03:03】从堆栈中取出 参数值,取的时候要快一点(ZC: 防止 游戏长时间没响应而出现断线等意外情况)
【04:05】代码注入器 来测试代码
【04:15】传参方式一: 逐个push + 设置ECX + CALL???
【04:45】传参方式二: 按照游戏中的方式,push 2 + 分配堆栈空间(SUB ESP)然后反别设置x/h/y的值 + 设置ECX + CALL???
【05:20】这里的指令“MOV EDX,ESP”是多余的,可能是起的一个 花指令/加密 的作用,干扰我们的分析(ZC: 这里扯淡了吧,明明EDX在下面设置堆栈参数时 是用到的)
【06:58】∵ 这个时候,ESI的值没有变化,∴ 可以直接这样看“dd esi+1f78”
ZC: 此时OD是没有断下的情况,为何这里的ESI会没有变化?这样看,可靠吗?
1、
2、
标签:
原文地址:http://www.cnblogs.com/debugskill/p/5500490.html