03f8 add edi,eax 0057d239 8a9d 1e204000 mov bl,byte ptr ss:[ebp+40201e] ; [ebp+40201e]中保存着解密的key 0057d23f b9 0a000000 mov ecx,0a 0057d244 > ac lods byte ptr ds:[esi] ; 还原出正确的代码,加了垃圾代码的 0057d245 32c3 xor al,bl 0057d247 aa stos byte ptr es:[edi] 0057d248 ^ e2 fa loopd short <decrypt_replaced_code> 0057d24a 83ef 0a sub edi,0a 0057d24d 57 push edi 0057d24e 8db5 07184000 lea esi,dword ptr ss:[ebp+401807] 0057d254 33f7 xor esi,edi 0057d256 74 19 je short 0057d271 0057d258 90 nop 0057d259 90 nop 0057d25a 90 nop 0057d25b 90 nop 0057d25c 8b7424 24 mov esi,dword ptr ss:[esp+24] 0057d260 83ee 04 sub esi,4 0057d263 ad lods dword ptr ds:[esi] 0057d264 81ef 2e204000 sub edi,0040202e 0057d26a 2bfd sub edi,ebp 0057d26c 03c7 add eax,edi 0057d26e 8946 fc mov dword ptr ds:[esi-4],eax 0057d271 5f pop edi 0057d272 57 push edi 0057d273 33c9 xor ecx,ecx 0057d275 83f9 08 cmp ecx,8 0057d278 74 0e je short 0057d288 0057d27a 90 nop 0057d27b 90 nop 0057d27c 90 nop 0057d27d 90 nop 0057d27e 8b448c 04 mov eax,dword ptr ss:[esp+ecx*4+4] 0057d282 89048c mov dword ptr ss:[esp+ecx*4],eax 0057d285 41 inc ecx 0057d286 ^ eb ed jmp short 0057d275 0057d288 893c8c mov dword ptr ss:[esp+ecx*4],edi 0057d28b 60 pushad ; 加密代码 0057d28c e8 00000000 call 0057d291 0057d291 5e pop esi 0057d292 83ee 06 sub esi,6 0057d295 b9 b2000000 mov ecx,0b2 0057d29a 29ce sub esi,ecx 0057d29c ba 41a20adc mov edx,dc0aa241 0057d2a1 c1e9 02 shr ecx,2 0057d2a4 83e9 02 sub ecx,2 0057d2a7 83f9 00 cmp ecx,0 0057d2aa 7c 1a jl short 0057d2c6 0057d2ac 8b048e mov eax,dword ptr ds:[esi+ecx*4] 0057d2af 8b5c8e 04 mov ebx,dword ptr ds:[esi+ecx*4+4] 0057d2b3 33c3 xor eax,ebx 0057d2b5 c1c8 15 ror eax,15 0057d2b8 33c2 xor eax,edx 0057d2ba 81ea 417bcded sub edx,edcd7b41 0057d2c0 89048e mov dword ptr ds:[esi+ecx*4],eax 0057d2c3 49 dec ecx 0057d2c4 ^ eb e1 jmp short 0057d2a7