- UID
 - 61256
 
 注册时间2009-5-1
阅读权限20
最后登录1970-1-1
以武会友 
   
 
 
 
TA的每日心情  | 开心 2016-8-30 19:17 | 
|---|
 
  签到天数: 1 天 [LV.1]初来乍到  
 | 
 
这个程序是Microsoft Visual C++ 6.0的, 
用到了strtoul函数和crc32算法。 
修改跳转后提示成功,重启后还是未注册。 
请高手帮我看看,代码如下: 
 
004098E2    BB 13000000     mov ebx,13 
004098E7    8D4424 78       lea eax,dword ptr ss:[esp+78] 
004098EB    B9 E4714900     mov ecx,gofun.004971E4 
004098F0    50              push eax 
004098F1    E8 902E0800     call <jmp.&MFC42.#858> 
004098F6    8D4C24 7C       lea ecx,dword ptr ss:[esp+7C] 
004098FA    51              push ecx 
004098FB    B9 E0714900     mov ecx,gofun.004971E0 
00409900    E8 812E0800     call <jmp.&MFC42.#858> 
00409905    8B7424 38       mov esi,dword ptr ss:[esp+38] 
00409909    8D4424 18       lea eax,dword ptr ss:[esp+18] 
0040990D    F7D8            neg eax 
0040990F    1BC0            sbb eax,eax 
00409911    23C6            and eax,esi 
00409913    50              push eax 
00409914    E8 972B0800     call <jmp.&MFC42.#825> 
00409919    8B15 E4714900   mov edx,dword ptr ds:[4971E4]    ; MFC42.6CB7A690 
  ds:[004971E4]=01BADF10, (ASCII "aaaaaa") 
  edx=0048CABC (xxxxxx.0048CABC) 
 
0040991F    6A 10           push 10                          ; 假码一:aaaaaa 
00409921    6A 00           push 0 
00409923    52              push edx              edx=01BADF10, (ASCII "aaaaaa") 
 
00409924    FFD5            call ebp 
00409926    8BF0            mov esi,eax 
00409928    A1 E0714900    v eax,dword ptr ds:[4971E0]    
ds:[004971E0]=01BAE000 
eax=00AAAAAA 
 
0040992D    6A 10           push 10 
0040992F    6A 00           push 0 
00409931    50              push eax               eax=01BAE000, (ASCII "bbbbbb") 
 
00409932    FFD5            call ebp                         ; 假码二:bbbbbb 
00409934    8B4C24 30       mov ecx,dword ptr ss:[esp+30] 
00409938    83C4 1C         add esp,1C 
0040993B    8BF8            mov edi,eax 
0040993D    56              push esi 
0040993E    E8 1DF1FFFF     call xxxxxx.00408A60             call里的代码在下面 
00409943    393D 744D4900   cmp dword ptr ds:[494D74],edi   关键比较处,edi里是“AAAAAA”,这是用edi和谁比较? 
00409949    0F84 24020000   je xxxx.00409B73                ; 没跳,跳后成功(但是重启之后还是没注册) 
0040994F    6A 00           push 0 
00409951    6A 00           push 0 
00409953    68 00484900     push xxxxxx.00494800 
00409958 >  E8 712B0800     call <jmp.&MFC42.#1200>          ; 错误提示 
 
 
call里面的代码: 
 
00408A60    8B4424 04       mov eax,dword ptr ss:[esp+4] 
00408A64    53              push ebx 
00408A65    8BD0            mov edx,eax 
00408A67    8BC8            mov ecx,eax 
00408A69    C1EA 14         shr edx,14 
00408A6C    80E2 0F         and dl,0F 
00408A6F    8BD8            mov ebx,eax 
00408A71    8815 CA704B00   mov byte ptr ds:[4B70CA],dl 
00408A77    8BD0            mov edx,eax 
00408A79    C1EA 10         shr edx,10 
00408A7C    80E2 0F         and dl,0F 
00408A7F    56              push esi 
00408A80    8815 CB704B00   mov byte ptr ds:[4B70CB],dl 
00408A86    8BD0            mov edx,eax 
00408A88    C1EA 0C         shr edx,0C 
00408A8B    80E2 0F         and dl,0F 
00408A8E    8815 CC704B00   mov byte ptr ds:[4B70CC],dl 
00408A94    8BD0            mov edx,eax 
00408A96    C1EA 08         shr edx,8 
00408A99    80E2 0F         and dl,0F 
00408A9C    8815 CD704B00   mov byte ptr ds:[4B70CD],dl 
00408AA2    8BD0            mov edx,eax 
00408AA4    C1E9 1C         shr ecx,1C 
00408AA7    24 0F           and al,0F 
00408AA9    80E1 0F         and cl,0F 
00408AAC    C1EA 04         shr edx,4 
00408AAF    A2 CF704B00     mov byte ptr ds:[4B70CF],al 
00408AB4    80E2 0F         and dl,0F 
00408AB7    0FBEC1          movsx eax,cl 
00408ABA    8815 CE704B00   mov byte ptr ds:[4B70CE],dl 
00408AC0    880D C8704B00   mov byte ptr ds:[4B70C8],cl 
00408AC6    99              cdq 
00408AC7    B9 3C000000     mov ecx,3C 
00408ACC    F7F9            idiv ecx 
00408ACE    C1EB 18         shr ebx,18 
00408AD1    80E3 0F         and bl,0F 
00408AD4    881D C9704B00   mov byte ptr ds:[4B70C9],bl 
00408ADA    0FBE82 10724B00 movsx eax,byte ptr ds:[edx+4B721> 
00408AE1    03C2            add eax,edx 
00408AE3    99              cdq 
00408AE4    F7F9            idiv ecx 
00408AE6    8815 B0704B00   mov byte ptr ds:[4B70B0],dl 
00408AEC    0FBE82 92714B00 movsx eax,byte ptr ds:[edx+4B719> 
00408AF3    0FBE8A 11724B00 movsx ecx,byte ptr ds:[edx+4B721> 
00408AFA    8D4C08 04       lea ecx,dword ptr ds:[eax+ecx+4] 
00408AFE    81E1 0F000080   and ecx,8000000F 
00408B04    79 05           jns short gofun.00408B0B         ; 跳了 
00408B06    49              dec ecx 
00408B07    83C9 F0         or ecx,FFFFFFF0 
00408B0A    41              inc ecx 
00408B0B    0FBEC3          movsx eax,bl 
00408B0E    03C2            add eax,edx 
00408B10    BE 3C000000     mov esi,3C 
00408B15    99              cdq 
00408B16    F7FE            idiv esi 
00408B18    880D BC704B00   mov byte ptr ds:[4B70BC],cl 
00408B1E    8BC2            mov eax,edx 
00408B20    0FBE15 A9714B00 movsx edx,byte ptr ds:[4B71A9] 
00408B27    03C2            add eax,edx 
00408B29    99              cdq 
00408B2A    F7FE            idiv esi 
00408B2C    8815 B1704B00   mov byte ptr ds:[4B70B1],dl 
00408B32    0FBE82 D7704B00 movsx eax,byte ptr ds:[edx+4B70D> 
00408B39    0FBEB2 90714B00 movsx esi,byte ptr ds:[edx+4B719> 
00408B40    8D5C30 03       lea ebx,dword ptr ds:[eax+esi+3] 
00408B44    81E3 0F000080   and ebx,8000000F 
00408B4A    79 05           jns short gofun.00408B51         ; 跳了 
00408B4C    4B              dec ebx 
00408B4D    83CB F0         or ebx,FFFFFFF0 
00408B50    43              inc ebx 
00408B51    0FBE05 CA704B00 movsx eax,byte ptr ds:[4B70CA] |   
 
 
 
 |