00402409 > \8B95 50FFFFFF mov edx, dword ptr [ebp-B0]
0040240F . 8B45 E4 mov eax, dword ptr [ebp-1C] ; 用户名
00402412 . 50 push eax ; /String
00402413 . 8B1A mov ebx, dword ptr [edx] ; |
00402415 . FF15 E4404000 call dword ptr [<&MSVBVM50.__vbaLenBs>; \__vbaLenBstr //取用户名长度
0040241B . 8BF8 mov edi, eax //长度赋给edi
0040241D . 8B4D E8 mov ecx, dword ptr [ebp-18]
00402420 . 69FF FB7C0100 imul edi, edi, 17CFB //edi*=0x17cfb
00402426 . 51 push ecx ; /String
00402427 . 0F80 91020000 jo 004026BE ; |
0040242D . FF15 F8404000 call dword ptr [<&MSVBVM50.#516>] ; \rtcAnsiValueBstr //取用户名第一个字符16进制值
00402433 . 0FBFD0 movsx edx, ax
00402436 . 03FA add edi, edx ; // edi+=edx 相加得到注册码数字部分
00402438 . 0F80 80020000 jo 004026BE
0040243E . 57 push edi
0040243F . FF15 E0404000 call dword ptr [<&MSVBVM50.__vbaStrI4>; MSVBVM50.__vbaStrI4 //转十进制
00402445 . 8BD0 mov edx, eax
00402447 . 8D4D E0 lea ecx, dword ptr [ebp-20]
0040244A . FF15 70414000 call dword ptr [<&MSVBVM50.__vbaStrMo>; MSVBVM50.__vbaStrMove
第二个算不出来。。。数学不好。。。
[ 本帖最后由 creantan 于 2009-1-30 23:26 编辑 ] |