00524C50 /$ 6A FF push -1
00524C52 |. 68 90706600 push 00667090
00524C57 |. 64:A1 0000000>mov eax, dword ptr fs:[0]
00524C5D |. 50 push eax
00524C5E |. 83EC 3C sub esp, 3C
00524C61 |. A1 70E67300 mov eax, dword ptr [73E670]
00524C66 |. 33C4 xor eax, esp
00524C68 |. 894424 38 mov dword ptr [esp+38], eax
00524C6C |. 53 push ebx
00524C6D |. 55 push ebp
00524C6E |. 56 push esi
00524C6F |. 57 push edi
00524C70 |. A1 70E67300 mov eax, dword ptr [73E670]
00524C75 |. 33C4 xor eax, esp
00524C77 |. 50 push eax
00524C78 |. 8D4424 50 lea eax, dword ptr [esp+50] ; !!!
00524C7C |. 64:A3 0000000>mov dword ptr fs:[0], eax
00524C82 |. 8B7C24 64 mov edi, dword ptr [esp+64] ; *
00524C86 |. 8BE9 mov ebp, ecx ; .
00524C88 |. 8B4C24 60 mov ecx, dword ptr [esp+60]
00524C8C |. 33DB xor ebx, ebx
00524C8E |. 3BCB cmp ecx, ebx
00524C90 |. 75 0A jnz short 00524C9C
00524C92 |. B8 B86F6800 mov eax, 00686FB8
00524C97 |. E9 C3000000 jmp 00524D5F
00524C9C |> 8BC1 mov eax, ecx
00524C9E |. C74424 48 0F0>mov dword ptr [esp+48], 0F
00524CA6 |. 895C24 44 mov dword ptr [esp+44], ebx
00524CAA |. 885C24 34 mov byte ptr [esp+34], bl
00524CAE |. 8D70 01 lea esi, dword ptr [eax+1]
00524CB1 |> 8A10 /mov dl, byte ptr [eax]
00524CB3 |. 83C0 01 |add eax, 1
00524CB6 |. 3AD3 |cmp dl, bl
00524CB8 |.^ 75 F7 \jnz short 00524CB1
00524CBA |. 2BC6 sub eax, esi
00524CBC |. 50 push eax ; 0012F554
00524CBD |. 51 push ecx
00524CBE |. 8D4C24 38 lea ecx, dword ptr [esp+38]
00524CC2 |. E8 C9CFEDFF call 00401C90
00524CC7 |. 837C24 48 10 cmp dword ptr [esp+48], 10
00524CCC |. 8B4C24 34 mov ecx, dword ptr [esp+34]
00524CD0 |. 895C24 58 mov dword ptr [esp+58], ebx
00524CD4 |. 73 04 jnb short 00524CDA
00524CD6 |. 8D4C24 34 lea ecx, dword ptr [esp+34]
00524CDA |> 8BC1 mov eax, ecx
00524CDC |. C74424 2C 0F0>mov dword ptr [esp+2C], 0F
00524CE4 |. 895C24 28 mov dword ptr [esp+28], ebx
00524CE8 |. 885C24 18 mov byte ptr [esp+18], bl
00524CEC |. 8D70 01 lea esi, dword ptr [eax+1]
00524CEF |. 90 nop
00524CF0 |> 8A10 /mov dl, byte ptr [eax]
00524CF2 |. 83C0 01 |add eax, 1
00524CF5 |. 3AD3 |cmp dl, bl
00524CF7 |.^ 75 F7 \jnz short 00524CF0
00524CF9 |. 2BC6 sub eax, esi
00524CFB |. 50 push eax
00524CFC |. 51 push ecx
00524CFD |. 8D4C24 1C lea ecx, dword ptr [esp+1C]
00524D01 |. E8 8ACFEDFF call 00401C90
00524D06 |. 8D4424 14 lea eax, dword ptr [esp+14]
问题就是出现在这里
00524D06 |. 8D4424 14 lea eax, dword ptr [esp+14]
这里的esp+14,应该是
00524C6C |. 53 push ebx
这个上一个的push,可是却用了一个
sub esp, 3C
这样开出一个3C的空间,里面的数据应该怎么确定呢?
这个esp+14怎么计算呢?
[课程]FART 脱壳王!加量不加价!FART作者讲授!