004A6E99 . E8 46270000 call <jmp.&MFC42.#3097> OD中断在这里
004A6E9E . 8B4C24 08 mov ecx,dword ptr ss:[esp+8]
004A6EA2 . 8379 F8 17 cmp dword ptr ds:[ecx-8],17 比较注册码是否等于17即23位
004A6EA6 . 75 24 jnz short NetWatch.004A6ECC 不对则出错
。。。。。。。。。。。。。。。。。。。。。。。。。
004A6EB6 . E8 BD260000 call <jmp.&MFC42.#3098>
004A6EBB . 8D4424 18 lea eax,dword ptr ss:[esp+18] 注册码入EAX
004A6EBF . 50 push eax
004A6EC0 . E8 2BEEFFFF call NetWatch.004A5CF0 注册算法CALL,进入
004A6EC5 . 83C4 04 add esp,4
004A6EC8 . 85C0 test eax,eax
004A6ECA . 75 1B jnz short NetWatch.004A6EE7 不跳则出错
004A6ECC > 68 00100000 push 1000
004A6ED1 . 68 105B4D00 push NetWatch.004D5B10
004A6ED6 . 68 70B64D00 push NetWatch.004DB670
004A6EDB . 8BCE mov ecx,esi
004A6EDD . E8 00260000 call <jmp.&MFC42.#4224> 出错信息
004A5CF0 /$Content$nbsp; 81EC 9C00000>sub esp,9C 进入后来到这里
004A5CF6 |. 83C9 FF or ecx,FFFFFFFF
004A5CF9 |. 33C0 xor eax,eax
004A5CFB |. 56 push esi
004A5CFC |. 8BB424 A4000>mov esi,dword ptr ss:[esp+A4]
004A5D03 |. 57 push edi
004A5D04 |. 8BFE mov edi,esi
004A5D06 |. F2:AE repne scas byte ptr es:[edi]
004A5D08 |. F7D1 not ecx
004A5D0A |. 49 dec ecx
004A5D0B |. 83F9 17 cmp ecx,17
004A5D0E |. 0F85 9201000>jnz NetWatch.004A5EA6 再次比较注册码的位数,不对则出错
004A5D14 |. 8A4E 05 mov cl,byte ptr ds:[esi+5]比较注册码第六位是否等于2D即“-”符
004A5D17 |. B0 2D mov al,2D
004A5D19 |. 3AC8 cmp cl,al
004A5D1B |. 0F85 8501000>jnz NetWatch.004A5EA6 不对则出错
004A5D21 |. 3846 0B cmp byte ptr ds:[esi+B],al 比较注册码第12位是否等于2D即“-”符
004A5D24 |. 0F85 7C01000>jnz NetWatch.004A5EA6 不对则出错
004A5D2A |. 3846 11 cmp byte ptr ds:[esi+11],al 比较注册码第18位是否等于2D即“-”符
004A5D2D |. 0F85 7301000>jnz NetWatch.004A5EA6 不对则出错
004A5D33 |. B9 08000000 mov ecx,8
004A5D38 |. 33C0 xor eax,eax
004A5D3A |. 8D7C24 2C lea edi,dword ptr ss:[esp+2C]
004A5D3E |. 6A 05 push 5 ; /maxlen = 5
004A5D40 |. F3:AB rep stos dword ptr es:[edi] ; |
004A5D42 |. 8D4424 30 lea eax,dword ptr ss:[esp+30] ; |
004A5D46 |. 56 push esi ; |src
004A5D47 |. 50 push eax ; |dest
004A5D48 |. FF15 B85C4B0>call dword ptr ds:[<&MSVCRT.strncpy>] ; /strncpy
004A5D4E |. 8B3D 385C4B0>mov edi,dword ptr ds:[<&MSVCRT.strnca>; msvcrt.strncat
004A5D54 |. 8D4E 06 lea ecx,dword ptr ds:[esi+6]
004A5D57 |. 6A 05 push 5 ; /maxlen = 5
004A5D59 |. 8D5424 3C lea edx,dword ptr ss:[esp+3C] ; |
004A5D5D |. 51 push ecx ; |src
004A5D5E |. 52 push edx ; |dest
004A5D5F |. FFD7 call edi ; /strncat
004A5D61 |. 8D46 0C lea eax,dword ptr ds:[esi+C]
004A5D64 |. 6A 05 push 5
004A5D66 |. 8D4C24 48 lea ecx,dword ptr ss:[esp+48]
004A5D6A |. 50 push eax
004A5D6B |. 51 push ecx
004A5D6C |. FFD7 call edi
004A5D6E |. 83C6 12 add esi,12
004A5D71 |. 6A 05 push 5
004A5D73 |. 8D5424 54 lea edx,dword ptr ss:[esp+54]
004A5D77 |. 56 push esi
004A5D78 |. 52 push edx
004A5D79 |. FFD7 call edi 以上是把注册码的“-”符 去掉后连起来
004A5D7B |. 83C4 30 add esp,30
004A5D7E |. 33C0 xor eax,eax
004A5D80 |> 8A4C04 2C /mov cl,byte ptr ss:[esp+eax+2C]
004A5D84 |. 80F9 41 |cmp cl,41
004A5D87 |. 0F8C 1901000>|jl NetWatch.004A5EA6
004A5D8D |. 80F9 5A |cmp cl,5A
004A5D90 |. 0F8F 1001000>|jg NetWatch.004A5EA6
004A5D96 |. 40 |inc eax
004A5D97 |. 83F8 14 |cmp eax,14
004A5D9A |.^ 7C E4 /jl short NetWatch.004A5D80 查找字符串是否是A~Z的字母,否则出错
004A5D9C |. 8A4424 2C mov al,byte ptr ss:[esp+2C] 第一位注册码入AL 记为N1
004A5DA0 |. 2C 48 sub al,48
004A5DA2 |. 3C 01 cmp al,1
004A5DA4 |. 0F85 FC00000>jnz NetWatch.004A5EA6 比较第一位注册码减48是否等于1,不等则出错
004A5DAA |. 66:0FBE4424 >movsx ax,byte ptr ss:[esp+2D]第2位注册码入AX 记为N2
004A5DB0 |. 66:0FBE5424 >movsx dx,byte ptr ss:[esp+2E]第3位注册码入DX 记为N3
004A5DB6 |. 8D0C80 lea ecx,dword ptr ds:[eax+eax*4] N2+N2*4 结果记为R1
004A5DB9 |. 8D844A 92FCF>lea eax,dword ptr ds:[edx+ecx*2-36E]
004A5DC0 |. 66:3D 0200 cmp ax,2
004A5DC4 |. 0F85 DC00000>jnz NetWatch.004A5EA6 比较 N3+R1*2-36E=2 不等于2则出错
004A5DCA |. 8D4C24 4C lea ecx,dword ptr ss:[esp+4C]
004A5DCE |. 51 push ecx
004A5DCF |. E8 7C29FCFF call NetWatch.00468750 进入
00468750 /$Content$nbsp; 8B4424 04 mov eax,dword ptr ss:[esp+4] 进入后来到这里
00468754 |. 33C9 xor ecx,ecx
00468756 |. 8948 14 mov dword ptr ds:[eax+14],ecx
00468759 |. 8948 10 mov dword ptr ds:[eax+10],ecx
0046875C |. C700 0123456>mov dword ptr ds:[eax],67452301
00468762 |. C740 04 89AB>mov dword ptr ds:[eax+4],EFCDAB89
00468769 |. C740 08 FEDC>mov dword ptr ds:[eax+8],98BADCFE
00468770 |. C740 0C 7654>mov dword ptr ds:[eax+C],10325476 呵呵,这不会是MD5的四个变量吧br>00468777 /. C3 retn 返回
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!
QQ珊瑚虫案事件背景
下一篇
2008年8月10日