| 
注册时间2005-2-5
阅读权限20
最后登录1970-1-1UID123 以武会友  
 
 该用户从未签到 | 
 
 发表于 2005-2-18 18:04:12
|
显示全部楼层 
| 我就看懂这点 004029E4   mov eax,dword ptr ss:[ebp-28]       ****这段比较注册码的长度是否为c
 004029E7   push eax
 004029E8   call dword ptr ds:[<&MSVBVM60.__vbaL>;  MSVBVM60.__vbaLenBstr  ****此call取注册码位数
 004029EE   mov ecx,dword ptr ss:[ebp-28]
 004029F1   xor ebx,ebx                         ****清0
 004029F3   cmp eax,0C                          ****比较位数是否是c
 004029F6   push ecx
 004029F7   setle bl
 004029FA   call dword ptr ds:[<&MSVBVM60.__vbaL>;  MSVBVM60.__vbaLenBstr
 00402A00   neg eax                    ****neg 取补
 00402A02   sbb eax,eax                ****带借位减法 结果FFFFFFFF
 00402A04   neg eax                    ****再取补         00000001
 00402A06   test eax,ebx
 00402A08   jnz short 2_0.00402A89       ****不等0就跳
 
 注册码应该是12位的
 后面有个逐位取注册码运算的过程
 
 [ Last edited by mask on 2005-2-18 at 06:05 PM ]
 | 
 |