首页
社区
课程
招聘
[求助]关于war3的timerstart函数如何跟踪参数
发表于: 2016-2-10 17:06 5651

[求助]关于war3的timerstart函数如何跟踪参数

2016-2-10 17:06
5651
看过《关于war3中的随机数获取http://bbs.pediy.com/showthread.php?t=125424》这篇帖子,而且根据坛友的回复信息,知道IDA能枚举出war3中game.dll的所有函数,我搜索随机数函数:GetRandomInt(注意是“GetRandomInt”而不是“GetRandomInit”哦),搜索到的地址也是0x6f3b40a0,而按照这种方法,我搜索“TimerStart”,同样搜索到的结果如下:
push    offset aHtimerRbcV ; "(Htimer;RBC)V"
mov     edx, offset aTimerstart ; "TimerStart"
mov     ecx, offset loc_6F3C1EB0

也就是“TimerStart”的地址是:6F3C1EB0,但是OD载入魔兽,Ctrl+G来到这个地址下断后,所有信息如截图:


看寄存器和堆栈,好像根本没出现周期数3(udg_t=3),自己不知道怎么处理了,所以问问坛友的思路。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 10215
活跃值: (7450)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
TimerStart
第2个参数我没记错的话float都是指针类型的。你查看下地址内容。
2016-2-11 04:49
0
雪    币: 0
活跃值: (992)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
谢谢你的回复,按照我上面的截图,是查看哪个指针呢(是用命令:dd xxxxxxxx 吧)?
2016-2-11 12:01
0
雪    币: 0
活跃值: (992)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
不知道有哪位朋友知道吗?我下timerstart硬件访问断点,然后跟踪,数据窗口跟随,也没出现时间周期的数值
call TimerStart(udg_t,3,true,function Trig_keron1Actions)
2016-2-17 10:54
0
雪    币: 6129
活跃值: (4971)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
5
jass在game.dll里面有两套的,一套是玩家用的 一套是ai用的,首先确认你搜到的是玩家用的那个至于Timerstart设置为循环计时器,本身这个函数就调用一次。接下来循环不循环和这个函数木有关系哦,你要找循环的话可以断计时器到期那个事件的敌方
2016-2-18 05:03
0
雪    币: 0
活跃值: (992)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
谢谢,我尝试下。

刚测试了下,而且看了测试地图的jass,发现使用timerstart后,不存在计时器到期事件就能循环。我尝试过下断GetExpiredTimer,发现无法断下来的,请教一下,如何跟踪到计时器到期?

上传的附件:
2016-2-18 09:33
0
游客
登录 | 注册 方可回帖
返回