首页
社区
课程
招聘
[求助]这个VB函数谁能解释下?
发表于: 2008-4-15 11:16 6002

[求助]这个VB函数谁能解释下?

2008-4-15 11:16
6002
mov     dword ptr [ebp-58], 80020004
mov     dword ptr [ebp-60], 0A
lea     eax, dword ptr [ebp-60]
push    eax
call    dword ptr [<&MSVBVM60.#593>]     ;  MSVBVM60.rtcRandomNext

  实际发现产生的全是小数,0到1之间。但是我看到压入的参数是OAh=10,这是为什么?
  问下高手,能不能给个相同的VB代码?

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 297
活跃值: (26)
能力值: ( LV9,RANK:330 )
在线值:
发帖
回帖
粉丝
2
这个随机函数好象不用传参,所以压入的参数并不是给它用的,应该是给后面的函数用的
2008-4-15 12:12
0
雪    币: 1074
活跃值: (160)
能力值: ( LV13,RANK:760 )
在线值:
发帖
回帖
粉丝
3
rtcRandomNext       ;函数 Rnd  #593

LEA EAX,DWORD PTR SS:[EBP-34]
PUSH EAX                     ;参数1
CALL DWORD PTR DS:[<&MSVBVM60.#593>] ;  MSVBVM60.rtcRandomNext
                             ;结果在浮点栈中
这是我找到的关于这个函数的资料,说明这个函数对应的是Rnd(参数1)的函数啊!
2008-4-15 12:57
0
雪    币: 1074
活跃值: (160)
能力值: ( LV13,RANK:760 )
在线值:
发帖
回帖
粉丝
4
mov     word ptr [ebp-58], 0FF83
mov     dword ptr [ebp-60], 2
lea     eax, dword ptr [ebp-60]
push    eax
call    dword ptr [<&MSVBVM60.#593>]     ;  MSVBVM60.rtcRandomNext
fstp    st
lea     ecx, dword ptr [ebp-60]
call    dword ptr [<&MSVBVM60.__vbaFreeV>;  MSVBVM60.__vbaFreeVar
谁来解释下这几句,为什么我用 Rnd(2)产生的结果不是 0.7622755169868469238???
2008-4-15 13:30
0
雪    币: 1074
活跃值: (160)
能力值: ( LV13,RANK:760 )
在线值:
发帖
回帖
粉丝
5
没有一个人会吗?给个VB代码,本人感激不尽!
2008-4-15 17:29
0
雪    币: 1074
活跃值: (160)
能力值: ( LV13,RANK:760 )
在线值:
发帖
回帖
粉丝
6
mov     word ptr [ebp-58], 0FF83

mov     dword ptr [ebp-58], 80020004  

这两个MOV有什么作用,如果它们都分别出现在两个rtcRandomNext的前面。高手在哪里啊???
2008-4-15 20:37
0
雪    币: 1074
活跃值: (160)
能力值: ( LV13,RANK:760 )
在线值:
发帖
回帖
粉丝
7
嘿嘿,终于搞明白了,原来是这样的
  前面的一个PUSH就是用来迷惑人的,没多大用处!
2008-4-16 11:15
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
那个参数是有用的,代表要产生的随即数数据类型,不然为啥产生整数?
2009-7-7 14:29
0
游客
登录 | 注册 方可回帖
返回