代码:
0041A060 /$ 51 push ecx ; 核心算法
0041A061 |. 8B4C24 08 mov ecx,dword ptr ss:[esp+0x8]
0041A065 |. 8B01 mov eax,dword ptr ds:[ecx]
0041A067 |. 53 push ebx
0041A068 |. 55 push ebp
0041A069 |. 56 push esi
0041A06A |. 8B71 04 mov esi,dword ptr ds:[ecx+0x4]
0041A06D |. 8BC8 mov ecx,eax
0041A06F |. C1E9 04 shr ecx,0x4
0041A072 |. 33CE xor ecx,esi
0041A074 |. 81E1 0F0F0F0F and ecx,0xF0F0F0F
0041A07A |. 33F1 xor esi,ecx
0041A07C |. C1E1 04 shl ecx,0x4
0041A07F |. 33C1 xor eax,ecx
0041A081 |. 8BC8 mov ecx,eax
0041A083 |. C1E9 10 shr ecx,0x10
0041A086 |. 33CE xor ecx,esi
0041A088 |. 81E1 FFFF0000 and ecx,0xFFFF
0041A08E |. 33F1 xor esi,ecx
0041A090 |. C1E1 10 shl ecx,0x10
0041A093 |. 33C1 xor eax,ecx
0041A095 |. 8BCE mov ecx,esi
0041A097 |. C1E9 02 shr ecx,0x2
0041A09A |. 33C8 xor ecx,eax
0041A09C |. 81E1 33333333 and ecx,0x33333333
0041A0A2 |. 33C1 xor eax,ecx
0041A0A4 |. 03C9 add ecx,ecx
0041A0A6 |. 03C9 add ecx,ecx
0041A0A8 |. 33F1 xor esi,ecx
0041A0AA |. 8BCE mov ecx,esi
0041A0AC |. C1E9 08 shr ecx,0x8
0041A0AF |. 33C8 xor ecx,eax
0041A0B1 |. 81E1 FF00FF00 and ecx,0xFF00FF
0041A0B7 |. 33C1 xor eax,ecx
0041A0B9 |. C1E1 08 shl ecx,0x8
0041A0BC |. 33CE xor ecx,esi
0041A0BE |. D1C1 rol ecx,1
0041A0C0 |. 8BF1 mov esi,ecx
0041A0C2 |. 33C8 xor ecx,eax
0041A0C4 |. 81E1 AAAAAAAA and ecx,0xAAAAAAAA
0041A0CA |. 33F1 xor esi,ecx
0041A0CC |. 33C8 xor ecx,eax
0041A0CE |. D1C1 rol ecx,1
0041A0D0 |. 57 push edi
0041A0D1 |. 8BF9 mov edi,ecx
0041A0D3 |. C74424 10 080>mov dword ptr ss:[esp+0x10],0x8
0041A0DB |. EB 03 jmp short AutoUpda.0041A0E0
0041A0DD | 8D49 00 lea ecx,dword ptr ds:[ecx]
0041A0E0 |> 8BC6 /mov eax,esi
0041A0E2 |. C1C8 04 |ror eax,0x4
0041A0E5 |. 3302 |xor eax,dword ptr ds:[edx]
0041A0E7 |. 83C2 04 |add edx,0x4 ; edx初始化值:435680
0041A0EA |. 8BC8 |mov ecx,eax
0041A0EC |. C1E9 18 |shr ecx,0x18
0041A0EF |. 8BD8 |mov ebx,eax
0041A0F1 |. C1EB 10 |shr ebx,0x10
0041A0F4 |. 83E3 3F |and ebx,0x3F
0041A0F7 |. 83E1 3F |and ecx,0x3F
0041A0FA |. 8B0C8D 500543>|mov ecx,dword ptr ds:[ecx*4+0x430550]
0041A101 |. 0B0C9D 500743>|or ecx,dword ptr ds:[ebx*4+0x430750]
0041A108 |. 8BD8 |mov ebx,eax
0041A10A |. C1EB 08 |shr ebx,0x8
0041A10D |. 83E3 3F |and ebx,0x3F
0041A110 |. 0B0C9D 500943>|or ecx,dword ptr ds:[ebx*4+0x430950]
0041A117 |. 83E0 3F |and eax,0x3F
0041A11A |. 0B0C85 500B43>|or ecx,dword ptr ds:[eax*4+0x430B50]
0041A121 |. 8B02 |mov eax,dword ptr ds:[edx]
0041A123 |. 33C6 |xor eax,esi
0041A125 |. 8BD8 |mov ebx,eax
0041A127 |. C1EB 18 |shr ebx,0x18
0041A12A |. 83E3 3F |and ebx,0x3F
0041A12D |. 8B1C9D 500643>|mov ebx,dword ptr ds:[ebx*4+0x430650]
0041A134 |. 8BE8 |mov ebp,eax
0041A136 |. C1ED 10 |shr ebp,0x10
0041A139 |. 83E5 3F |and ebp,0x3F
0041A13C |. 0B1CAD 500843>|or ebx,dword ptr ds:[ebp*4+0x430850]
0041A143 |. 8BE8 |mov ebp,eax
0041A145 |. C1ED 08 |shr ebp,0x8
0041A148 |. 83E5 3F |and ebp,0x3F
0041A14B |. 0B1CAD 500A43>|or ebx,dword ptr ds:[ebp*4+0x430A50]
0041A152 |. 83E0 3F |and eax,0x3F
0041A155 |. 0B1C85 500C43>|or ebx,dword ptr ds:[eax*4+0x430C50]
0041A15C |. 83C2 04 |add edx,0x4
0041A15F |. 0BD9 |or ebx,ecx
0041A161 |. 33FB |xor edi,ebx
0041A163 |. 8BC7 |mov eax,edi
0041A165 |. C1C8 04 |ror eax,0x4
0041A168 |. 3302 |xor eax,dword ptr ds:[edx]
0041A16A |. 83C2 04 |add edx,0x4
0041A16D |. 8BC8 |mov ecx,eax
0041A16F |. C1E9 18 |shr ecx,0x18
0041A172 |. 8BD8 |mov ebx,eax
0041A174 |. C1EB 10 |shr ebx,0x10
0041A177 |. 83E3 3F |and ebx,0x3F
0041A17A |. 83E1 3F |and ecx,0x3F
0041A17D |. 8B0C8D 500543>|mov ecx,dword ptr ds:[ecx*4+0x430550]
0041A184 |. 0B0C9D 500743>|or ecx,dword ptr ds:[ebx*4+0x430750]
0041A18B |. 8BD8 |mov ebx,eax
0041A18D |. C1EB 08 |shr ebx,0x8
0041A190 |. 83E3 3F |and ebx,0x3F
0041A193 |. 0B0C9D 500943>|or ecx,dword ptr ds:[ebx*4+0x430950]
0041A19A |. 83E0 3F |and eax,0x3F
0041A19D |. 0B0C85 500B43>|or ecx,dword ptr ds:[eax*4+0x430B50]
0041A1A4 |. 8B02 |mov eax,dword ptr ds:[edx]
0041A1A6 |. 33C7 |xor eax,edi
0041A1A8 |. 8BD8 |mov ebx,eax
0041A1AA |. C1EB 18 |shr ebx,0x18
0041A1AD |. 83E3 3F |and ebx,0x3F
0041A1B0 |. 8B1C9D 500643>|mov ebx,dword ptr ds:[ebx*4+0x430650]
0041A1B7 |. 8BE8 |mov ebp,eax
0041A1B9 |. C1ED 10 |shr ebp,0x10
0041A1BC |. 83E5 3F |and ebp,0x3F
0041A1BF |. 0B1CAD 500843>|or ebx,dword ptr ds:[ebp*4+0x430850]
0041A1C6 |. 8BE8 |mov ebp,eax
0041A1C8 |. C1ED 08 |shr ebp,0x8
0041A1CB |. 83E5 3F |and ebp,0x3F
0041A1CE |. 0B1CAD 500A43>|or ebx,dword ptr ds:[ebp*4+0x430A50]
0041A1D5 |. 83E0 3F |and eax,0x3F
0041A1D8 |. 0B1C85 500C43>|or ebx,dword ptr ds:[eax*4+0x430C50]
0041A1DF |. 83C2 04 |add edx,0x4
0041A1E2 |. 0BD9 |or ebx,ecx
0041A1E4 |. 33F3 |xor esi,ebx
0041A1E6 |. 836C24 10 01 |sub dword ptr ss:[esp+0x10],0x1
0041A1EB |.^ 0F85 EFFEFFFF \jnz AutoUpda.0041A0E0
0041A1F1 |. D1CE ror esi,1
0041A1F3 |. 8BC6 mov eax,esi
0041A1F5 |. 33C7 xor eax,edi
0041A1F7 |. 25 AAAAAAAA and eax,0xAAAAAAAA
0041A1FC |. 33F0 xor esi,eax
0041A1FE |. 33C7 xor eax,edi
0041A200 |. D1C8 ror eax,1
0041A202 |. 8BC8 mov ecx,eax
0041A204 |. C1E9 08 shr ecx,0x8
0041A207 |. 33CE xor ecx,esi
0041A209 |. 81E1 FF00FF00 and ecx,0xFF00FF
0041A20F |. 33F1 xor esi,ecx
0041A211 |. C1E1 08 shl ecx,0x8
0041A214 |. 33C1 xor eax,ecx
0041A216 |. 8BC8 mov ecx,eax
0041A218 |. C1E9 02 shr ecx,0x2
0041A21B |. 33CE xor ecx,esi
0041A21D |. 81E1 33333333 and ecx,0x33333333
0041A223 |. 33F1 xor esi,ecx
0041A225 |. 8D148D 000000>lea edx,dword ptr ds:[ecx*4]
0041A22C |. 8BCE mov ecx,esi
0041A22E |. C1E9 10 shr ecx,0x10
0041A231 |. 33C2 xor eax,edx
0041A233 |. 8B5424 18 mov edx,dword ptr ss:[esp+0x18]
0041A237 |. 33C8 xor ecx,eax
0041A239 |. 81E1 FFFF0000 and ecx,0xFFFF
0041A23F |. 33C1 xor eax,ecx
0041A241 |. C1E1 10 shl ecx,0x10
0041A244 |. 33F1 xor esi,ecx
0041A246 |. 8BCE mov ecx,esi
0041A248 |. C1E9 04 shr ecx,0x4
0041A24B |. 33C8 xor ecx,eax
0041A24D |. 81E1 0F0F0F0F and ecx,0xF0F0F0F
0041A253 |. 8BF9 mov edi,ecx
0041A255 |. C1E7 04 shl edi,0x4
0041A258 |. 33FE xor edi,esi
0041A25A |. 893A mov dword ptr ds:[edx],edi
0041A25C |. 5F pop edi
0041A25D |. 5E pop esi
0041A25E |. 33C8 xor ecx,eax
0041A260 |. 5D pop ebp
0041A261 |. 894A 04 mov dword ptr ds:[edx+0x4],ecx
0041A264 |. 5B pop ebx
0041A265 |. 59 pop ecx
0041A266 \. C3 retn
能从上面汇编代码看出这属于什么加密算法吗?