大牛帮我看下,这里有关键跳么,我每次都只能断在这里,只要告诉我有没有就好了,剩下的我自己研究,能告诉我有没有已经很好了。。。。
00401298 /. 55 push ebp
00401299 |. 8BEC mov ebp, esp
0040129B |. 56 push esi
0040129C |. FF75 20 push dword ptr [ebp+20] ; /hTemplateFile
0040129F |. FF75 1C push dword ptr [ebp+1C] ; |Attributes
004012A2 |. FF75 18 push dword ptr [ebp+18] ; |Mode
004012A5 |. FF75 14 push dword ptr [ebp+14] ; |pSecurity
004012A8 |. FF75 10 push dword ptr [ebp+10] ; |ShareMode
004012AB |. FF75 0C push dword ptr [ebp+C] ; |Access
004012AE |. FF75 08 push dword ptr [ebp+8] ; |FileName
004012B1 |. FF15 10204000 call dword ptr [<&KERNEL32.CreateFile>; \CreateFileA
004012B7 |. 68 A0314000 push 004031A0 ; /c:\program files\fzzulin\fzzulin.exe
004012BC |. 8BF0 mov esi, eax ; |
004012BE |. E8 B3020000 call <jmp.&MSVCRT._strlwr> ; \_strlwr
004012C3 |. 59 pop ecx
004012C4 |. 50 push eax
004012C5 |. FF75 08 push dword ptr [ebp+8] ; /s
004012C8 |. E8 A9020000 call <jmp.&MSVCRT._strlwr> ; \_strlwr
004012CD |. 59 pop ecx ; |
004012CE |. 50 push eax ; |s1
004012CF E8 9C020000 call <jmp.&MSVCRT.strcmp>
004012D4 |. 59 pop ecx
004012D5 |. 85C0 test eax, eax 这里检测的是什么?
004012D7 |. 59 pop ecx
004012D8 75 0F jnz short 004012E9
004012DA |. 833D 54304000>cmp dword ptr [403054], -1 这里是检测密码长度的么?(不够长度则提示注册错误?)
004012E1 75 06 jnz short 004012E9
004012E3 |. 8935 54304000 mov dword ptr [403054], esi
004012E9 |> 8BC6 mov eax, esi
004012EB |. 5E pop esi
004012EC |. 5D pop ebp
004012ED \. C2 1C00 retn 1C
004012F0 /. 55 push ebp
004012F1 |. 8BEC mov ebp, esp
004012F3 |. 8B45 08 mov eax, dword ptr [ebp+8]
004012F6 |. 3B05 54304000 cmp eax, dword ptr [403054]
004012FC |. 75 3A jnz short 00401338
004012FE |. 837D 14 00 cmp dword ptr [ebp+14], 0
00401302 |. 8B0D 3C304000 mov ecx, dword ptr [40303C]
00401308 |. 74 1E je short 00401328
0040130A |. 837D 14 02 cmp dword ptr [ebp+14], 2
0040130E |. 75 07 jnz short 00401317
00401310 |. 8BC1 mov eax, ecx
00401312 |. 2B45 0C sub eax, dword ptr [ebp+C]
00401315 |. EB 14 jmp short 0040132B
00401317 |> 837D 14 01 cmp dword ptr [ebp+14], 1
0040131B |. 75 0B jnz short 00401328
0040131D |. 8B45 0C mov eax, dword ptr [ebp+C]
00401320 |. 0305 30304000 add eax, dword ptr [403030]
00401326 |. EB 03 jmp short 0040132B
00401328 |> 8B45 0C mov eax, dword ptr [ebp+C]
0040132B |> 3BC1 cmp eax, ecx
0040132D |. 76 02 jbe short 00401331
0040132F |. 8BC1 mov eax, ecx
00401331 |> A3 30304000 mov dword ptr [403030], eax
00401336 EB 10 jmp short 00401348
00401338 |> FF75 14 push dword ptr [ebp+14] ; /Origin
0040133B |. FF75 10 push dword ptr [ebp+10] ; |pOffsetHi
0040133E |. FF75 0C push dword ptr [ebp+C] ; |OffsetLo
00401341 |. 50 push eax ; |hFile
00401342 |. FF15 0C204000 call dword ptr [<&KERNEL32.SetFilePoi>; \SetFilePointer
00401348 |> 5D pop ebp
00401349 \. C2 1000 retn 10
0040134C /$ 55 push ebp
0040134D |. 8BEC mov ebp, esp
0040134F |. 83EC 14 sub esp, 14
00401352 |. 33C9 xor ecx, ecx
00401354 |. 56 push esi
00401355 |. 394D 0C cmp dword ptr [ebp+C], ecx
00401358 |. 7E 29 jle short 00401383
0040135A |> 8B45 08 /mov eax, dword ptr [ebp+8]
0040135D |. 8D3401 |lea esi, dword ptr [ecx+eax]
00401360 |. 0FB60401 |movzx eax, byte ptr [ecx+eax]
00401364 |. 8BD0 |mov edx, eax
00401366 |. 83E2 0F |and edx, 0F
00401369 |. C1E8 04 |shr eax, 4
0040136C |. 8A92 44304000 |mov dl, byte ptr [edx+403044]
00401372 |. C0E2 04 |shl dl, 4
00401375 |. 0A90 44304000 |or dl, byte ptr [eax+403044]
0040137B |. 41 |inc ecx
0040137C |. 3B4D 0C |cmp ecx, dword ptr [ebp+C]
0040137F |. 8816 |mov byte ptr [esi], dl
00401381 |.^ 7C D7 \jl short 0040135A
00401383 |> A1 34304000 mov eax, dword ptr [403034]
00401388 |. 33F6 xor esi, esi
0040138A |. 3975 0C cmp dword ptr [ebp+C], esi
0040138D |. 8945 F0 mov dword ptr [ebp-10], eax
00401390 |. 7E 64 jle short 004013F6
00401392 |. 53 push ebx
00401393 |. 57 push edi
00401394 |> 8065 FF 00 /and byte ptr [ebp-1], 0
00401398 |. 33FF |xor edi, edi
0040139A |> 8BDF |/mov ebx, edi
0040139C |. 8D143F ||lea edx, dword ptr [edi+edi]
0040139F |. 897D F8 ||mov dword ptr [ebp-8], edi
004013A2 |. C745 F4 02000>||mov dword ptr [ebp-C], 2
004013A9 |. C1E3 02 ||shl ebx, 2
004013AC |> 8B45 F0 ||/mov eax, dword ptr [ebp-10]
004013AF |. 8BCB |||mov ecx, ebx
004013B1 |. D3F8 |||sar eax, cl
004013B3 |. 8BCA |||mov ecx, edx
004013B5 |. 83C3 10 |||add ebx, 10
004013B8 |. 24 01 |||and al, 1
004013BA |. D2E0 |||shl al, cl
004013BC |. 8BC8 |||mov ecx, eax
004013BE |. 8B45 08 |||mov eax, dword ptr [ebp+8]
004013C1 |. 300C06 |||xor byte ptr [esi+eax], cl
004013C4 |. 8A0406 |||mov al, byte ptr [esi+eax]
004013C7 |. 8ACA |||mov cl, dl
004013C9 |. D2E8 |||shr al, cl
004013CB |. 8B4D F8 |||mov ecx, dword ptr [ebp-8]
004013CE |. 8345 F8 04 |||add dword ptr [ebp-8], 4
004013D2 |. 24 01 |||and al, 1
004013D4 |. D2E0 |||shl al, cl
004013D6 |. 0845 FF |||or byte ptr [ebp-1], al
004013D9 |. 42 |||inc edx
004013DA |. FF4D F4 |||dec dword ptr [ebp-C]
004013DD |.^ 75 CD ||\jnz short 004013AC
004013DF |. 47 ||inc edi
004013E0 |. 83FF 04 ||cmp edi, 4
004013E3 |.^ 7C B5 |\jl short 0040139A
004013E5 |. 8B4D 08 |mov ecx, dword ptr [ebp+8]
004013E8 |. 8A45 FF |mov al, byte ptr [ebp-1]
004013EB |. 88040E |mov byte ptr [esi+ecx], al
004013EE |. 46 |inc esi
004013EF |. 3B75 0C |cmp esi, dword ptr [ebp+C]
004013F2 |.^ 7C A0 \jl short 00401394
004013F4 |. 5F pop edi
004013F5 |. 5B pop ebx
004013F6 |> 8BC6 /mov eax, esi
004013F8 |. 4E |dec esi
004013F9 |. 85C0 |test eax, eax
004013FB |. 74 11 |je short 0040140E
004013FD |. 8B45 08 |mov eax, dword ptr [ebp+8]
00401400 |. 03C6 |add eax, esi
00401402 |. 8A08 |mov cl, byte ptr [eax]
00401404 |. 80F1 5D |xor cl, 5D
00401407 |. 80C1 2D |add cl, 2D
0040140A |. 8808 |mov byte ptr [eax], cl
0040140C |.^ EB E8 \jmp short 004013F6
0040140E |> 33C0 xor eax, eax
00401410 |. 85F6 test esi, esi
00401412 |. 0F95C0 setne al
00401415 |. 48 dec eax
00401416 |. 5E pop esi
00401417 |. C9 leave
00401418 \. C2 0800 retn 8
0040141B /$ 56 push esi
0040141C |. 8B7424 08 mov esi, dword ptr [esp+8]
00401420 |. 8935 9C314000 mov dword ptr [40319C], esi
00401426 |. 57 push edi
00401427 |. 8B46 3C mov eax, dword ptr [esi+3C]
0040142A |. 03C6 add eax, esi
0040142C |. A3 78314000 mov dword ptr [403178], eax
00401431 |. 8B80 80000000 mov eax, dword ptr [eax+80]
00401437 |. 85C0 test eax, eax
00401439 |. A3 74314000 mov dword ptr [403174], eax
0040143E |. 0F84 15010000 je 00401559
00401444 |. 03C6 add eax, esi
00401446 |> A3 88314000 /mov dword ptr [403188], eax
0040144B |. 8378 10 00 |cmp dword ptr [eax+10], 0
0040144F |. 0F84 04010000 |je 00401559
00401455 |. 8B40 0C |mov eax, dword ptr [eax+C]
00401458 |. 85C0 |test eax, eax
0040145A |. 0F84 F9000000 |je 00401559
00401460 |. 03C6 |add eax, esi
00401462 |. 50 |push eax ; /s2
00401463 |. A3 8C314000 |mov dword ptr [40318C], eax ; |
00401468 |. FF7424 14 |push dword ptr [esp+14] ; |s1
0040146C |. E8 FF030000 |call <jmp.&MSVCRT._stricmp> ; \_stricmp
00401471 |. 59 |pop ecx
00401472 |. 85C0 |test eax, eax
00401474 |. 59 |pop ecx
00401475 |. 74 0A |je short 00401481
00401477 |. A1 88314000 |mov eax, dword ptr [403188]
0040147C |. 83C0 14 |add eax, 14
0040147F |.^ EB C5 \jmp short 00401446
00401481 |> 8B0D 88314000 mov ecx, dword ptr [403188]
00401487 |. 33FF xor edi, edi
00401489 |. 8B01 mov eax, dword ptr [ecx]
0040148B |. 03C6 add eax, esi
0040148D |. A3 80314000 mov dword ptr [403180], eax
00401492 |. 8B49 10 mov ecx, dword ptr [ecx+10]
00401495 |. 8325 50314000>and dword ptr [403150], 0
0040149C |. 03CE add ecx, esi
0040149E |. 890D 94314000 mov dword ptr [403194], ecx
004014A4 |. 8B00 mov eax, dword ptr [eax]
004014A6 |. 85C0 test eax, eax
004014A8 |. 0F84 AB000000 je 00401559
004014AE |> 68 04010000 /push 104 ; /maxlen = 104 (260.)
004014B3 |. 8D4430 02 |lea eax, dword ptr [eax+esi+2] ; |
004014B7 |. FF7424 18 |push dword ptr [esp+18] ; |s2
004014BB |. A3 90314000 |mov dword ptr [403190], eax ; |
004014C0 |. 50 |push eax ; |s1
004014C1 |. E8 B6000000 |call <jmp.&MSVCRT.strncmp> ; \strncmp
004014C6 |. 83C4 0C |add esp, 0C
004014C9 |. 85C0 |test eax, eax
004014CB |. 74 15 |je short 004014E2
004014CD |. 8305 80314000>|add dword ptr [403180], 4
004014D4 |. A1 80314000 |mov eax, dword ptr [403180]
004014D9 |. 47 |inc edi
004014DA |. 8B00 |mov eax, dword ptr [eax]
004014DC |. 85C0 |test eax, eax
004014DE |.^ 75 CE \jnz short 004014AE
004014E0 |. EB 0A jmp short 004014EC
004014E2 |> C705 50314000>mov dword ptr [403150], 1
004014EC |> 833D 50314000>cmp dword ptr [403150], 0
004014F3 |. 74 64 je short 00401559
004014F5 |. A1 94314000 mov eax, dword ptr [403194]
004014FA |. 6A 1C push 1C ; /BufSize = 1C (28.)
004014FC |. 68 58314000 push 00403158 ; |Buffer = fzzulin.00403158
00401501 |. 8D04B8 lea eax, dword ptr [eax+edi*4] ; |
00401504 |. 50 push eax ; |Address
00401505 |. A3 98314000 mov dword ptr [403198], eax ; |
0040150A |. FF15 04204000 call dword ptr [<&KERNEL32.VirtualQue>; \VirtualQuery
00401510 |. 8B35 08204000 mov esi, dword ptr [<&KERNEL32.Virtu>; kernel32.VirtualProtect
00401516 |. 68 6C314000 push 0040316C ; /pOldProtect = fzzulin.0040316C
0040151B |. 6A 04 push 4 ; |NewProtect = PAGE_READWRITE
0040151D |. FF35 64314000 push dword ptr [403164] ; |Size = 0
00401523 |. FF35 58314000 push dword ptr [403158] ; |Address = NULL
00401529 |. FFD6 call esi ; \VirtualProtect
0040152B |. 85C0 test eax, eax
0040152D 74 2A je short 00401559
0040152F |. 8B0D 98314000 mov ecx, dword ptr [403198]
00401535 |. 8B4424 18 mov eax, dword ptr [esp+18]
00401539 |. 68 7C314000 push 0040317C ; /pOldProtect = fzzulin.0040317C
0040153E |. 8901 mov dword ptr [ecx], eax ; |
00401540 |. FF35 6C314000 push dword ptr [40316C] ; |NewProtect = 0
00401546 |. FF35 64314000 push dword ptr [403164] ; |Size = 0
0040154C |. FF35 58314000 push dword ptr [403158] ; |Address = NULL
00401552 |. FFD6 call esi ; \VirtualProtect
00401554 |. 6A 01 push 1
00401556 |. 58 pop eax
00401557 |. EB 02 jmp short 0040155B
00401559 |> 33C0 xor eax, eax
0040155B |> 5F pop edi
0040155C |. 5E pop esi
0040155D \. C3 retn