这是03年朋友给我的一个程序,现在已经找不到源代码了,自己又是个半吊子。请高手帮忙讲解下这段代码。谢谢!
01740F34 /$ 55 push ebp
01740F35 |. 8BEC mov ebp, esp
01740F37 |. 83C4 F8 add esp, -8
01740F3A |. 89C6 mov esi, eax
01740F3C |. 89CF mov edi, ecx
01740F3E |. 89D3 mov ebx, edx
01740F40 |. 89D8 mov eax, ebx
01740F42 |. B9 03000000 mov ecx, 3
01740F47 |. 31D2 xor edx, edx
01740F49 |. F7F1 div ecx
01740F4B |. 8945 FC mov dword ptr [ebp-4], eax
01740F4E |. 8955 F8 mov dword ptr [ebp-8], edx
01740F51 |. 8D0D D8807401 lea ecx, dword ptr [17480D8]
01740F57 |. 31C0 xor eax, eax
01740F59 |. 31DB xor ebx, ebx
01740F5B |. 31D2 xor edx, edx
01740F5D |. 837D FC 00 cmp dword ptr [ebp-4], 0
01740F61 |. 74 3A je short 01740F9D
01740F63 |> 66:AD /lods word ptr [esi]
01740F65 |. 88C3 |mov bl, al
01740F67 |. C0EB 02 |shr bl, 2
01740F6A |. 8A140B |mov dl, byte ptr [ebx+ecx]
01740F6D |. 88E7 |mov bh, ah
01740F6F |. 80E7 0F |and bh, 0F
01740F72 |. 66:C1C0 04 |rol ax, 4
01740F76 |. 66:25 3F00 |and ax, 3F
01740F7A |. 8A3408 |mov dh, byte ptr [eax+ecx]
01740F7D |. 66:89D0 |mov ax, dx
01740F80 |. 66:AB |stos word ptr es:[edi]
01740F82 |. AC |lods byte ptr [esi]
01740F83 |. 88C3 |mov bl, al
01740F85 |. 66:C1EB 06 |shr bx, 6
01740F89 |. 8A140B |mov dl, byte ptr [ebx+ecx]
01740F8C |. 24 3F |and al, 3F
01740F8E |. 32E4 |xor ah, ah
01740F90 |. 8A3408 |mov dh, byte ptr [eax+ecx]
01740F93 |. 66:89D0 |mov ax, dx
01740F96 |. 66:AB |stos word ptr es:[edi]
01740F98 |. FF4D FC |dec dword ptr [ebp-4]
01740F9B |.^ 75 C6 \jnz short 01740F63
01740F9D |> 837D F8 00 cmp dword ptr [ebp-8], 0
01740FA1 |. 74 56 je short 01740FF9
01740FA3 |. 31C0 xor eax, eax
01740FA5 |. 31DB xor ebx, ebx
01740FA7 |. 31D2 xor edx, edx
01740FA9 |. AC lods byte ptr [esi]
01740FAA |. 66:C1E0 06 shl ax, 6
01740FAE |. 88E3 mov bl, ah
01740FB0 |. 8A140B mov dl, byte ptr [ebx+ecx]
01740FB3 |. FF4D F8 dec dword ptr [ebp-8]
01740FB6 |. 74 24 je short 01740FDC
01740FB8 |. 66:C1E0 02 shl ax, 2
01740FBC |. 80E4 03 and ah, 3
01740FBF |. AC lods byte ptr [esi]
01740FC0 |. 66:C1E0 04 shl ax, 4
01740FC4 |. 88E3 mov bl, ah
01740FC6 |. 8A340B mov dh, byte ptr [ebx+ecx]
01740FC9 |. C1E2 10 shl edx, 10
01740FCC |. C0E8 02 shr al, 2
01740FCF |. 88C3 mov bl, al
01740FD1 |. 8A140B mov dl, byte ptr [ebx+ecx]
01740FD4 |. 8A35 18817401 mov dh, byte ptr [1748118]
01740FDA |. EB 17 jmp short 01740FF3
01740FDC |> C0E8 02 shr al, 2
01740FDF |. 88C3 mov bl, al
01740FE1 |. 8A340B mov dh, byte ptr [ebx+ecx]
01740FE4 |. C1E2 10 shl edx, 10
01740FE7 |. 8A35 18817401 mov dh, byte ptr [1748118]
01740FED |. 8A15 18817401 mov dl, byte ptr [1748118]
01740FF3 |> 89D0 mov eax, edx
01740FF5 |. C1C8 10 ror eax, 10
01740FF8 |. AB stos dword ptr es:[edi]
01740FF9 |> 59 pop ecx
01740FFA |. 59 pop ecx
01740FFB |. 5D pop ebp
01740FFC \. C3 retn
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)