首页
社区
课程
招聘
我的注册机为什么不行?[求助]
2006-9-12 12:23 4369

我的注册机为什么不行?[求助]

2006-9-12 12:23
4369
有个软件的注册算法中的一部分如下面所示:写注册机怎么和调试的结果不一致?关键是MSVBVM60.rtcRandomNext这里,我写注册机的代码是Int(Rnd*96)
我得到的返回结果是67,调试他的程序时返回的结果是21,真不知道他原来的代码是怎么写的,请各位高手相助,谢谢了!

0043EC5C   .  FF15 4C104000 CALL DWORD PTR DS:[<&MSVBVM60.#516>]     ;  MSVBVM60.rtcAnsiValueBstr
0043EC62   .  8D4D C0       LEA ECX,DWORD PTR SS:[EBP-40]
0043EC65   .  8945 D4       MOV DWORD PTR SS:[EBP-2C],EAX
0043EC68   .  FFD3          CALL EBX          ;MSVBVM60.__vbaFreeStr
0043EC6A   .  8D4D B0       LEA ECX,DWORD PTR SS:[EBP-50]
0043EC6D   .  FFD7          CALL EDI          ;MSVBVM60.__vbaFreeVar
0043EC6F   .  8B45 D4       MOV EAX,DWORD PTR SS:[EBP-2C]
0043EC72   .  66:3D 2000    CMP AX,20
0043EC76   .  0F8C B2000000 JL 客户端2.0043ED2E
0043EC7C   .  66:3D 7E00    CMP AX,7E
0043EC80   .  0F8F A8000000 JG 客户端2.0043ED2E
0043EC86   .  66:2D 2000    SUB AX,20
0043EC8A   .  8D55 B0       LEA EDX,DWORD PTR SS:[EBP-50]
0043EC8D   .  0F80 1D010000 JO 客户端2.0043EDB0
0043EC93   .  52            PUSH EDX
0043EC94   .  8945 D4       MOV DWORD PTR SS:[EBP-2C],EAX
0043EC97   .  C745 B8 04000>MOV DWORD PTR SS:[EBP-48],80020004
0043EC9E   .  C745 B0 0A000>MOV DWORD PTR SS:[EBP-50],0A
0043ECA5   .  FF15 84104000 CALL DWORD PTR DS:[<&MSVBVM60.#593>]     ;  MSVBVM60.rtcRandomNext       ;后面21的结果是第一次执行rnd的结果,再次执行后结果不同,看来Rnd参数不应该是-1
0043ECAB   .  D95D 9C       FSTP DWORD PTR SS:[EBP-64]
0043ECAE   .  D945 9C       FLD DWORD PTR SS:[EBP-64]
0043ECB1   .  D80D 281A4000 FMUL DWORD PTR DS:[401A28] ;这里DS是96
0043ECB7   .  DFE0          FSTSW AX                   ;乘后取整的结果是21
0043ECB9   .  A8 0D         TEST AL,0D
0043ECBB   .  0F85 EA000000 JNZ 客户端2.0043EDAB
0043ECC1   .  FF15 7C124000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaR8Int>;  MSVBVM60.__vbaR8IntI4
0043ECC7   .  8D4D B0       LEA ECX,DWORD PTR SS:[EBP-50]
0043ECCA   .  8945 E0       MOV DWORD PTR SS:[EBP-20],EAX
0043ECCD   .  FFD7          CALL EDI
0043ECCF   .  0FBF45 D4     MOVSX EAX,WORD PTR SS:[EBP-2C]
0043ECD3   .  8B4D E0       MOV ECX,DWORD PTR SS:[EBP-20]
0043ECD6   .  03C1          ADD EAX,ECX
0043ECD8   .  B9 5F000000   MOV ECX,5F
0043ECDD   .  0F80 CD000000 JO 客户端2.0043EDB0
0043ECE3   .  99            CDQ
0043ECE4   .  F7F9          IDIV ECX
0043ECE6   .  8BCA          MOV ECX,EDX
0043ECE8   .  FF15 14114000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaI2I4>>;  MSVBVM60.__vbaI2I4
0043ECEE   .  8B55 14       MOV EDX,DWORD PTR SS:[EBP+14]
0043ECF1   .  66:05 2000    ADD AX,20

这个是个VB做的程序,反编译后的结果,我同样用VB写了个简单的程序,反编译的结果无论如何也跟这个不一样,好晕!

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

收藏
免费 0
打赏
分享
最新回复 (2)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jinhf 2006-9-14 09:47
2
0
急盼回复,自己帮顶
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
moyer 2006-9-18 18:02
3
0
这怎么好回复呢,说得不是很清楚啊,你那段代码也不太好看明白...把原程序发上来试度吧
游客
登录 | 注册 方可回帖
返回