请大牛帮忙算法分析。。这段字符串加密实现的过程
0062A843|> \53 push ebx0062A844|.8B5C24 28 mov ebx,dword ptr ss: ;用户名地址给EBX
0062A848|.56 push esi
0062A849|.57 push edi
0062A84A|.BE 01000000 mov esi,0x1 ;ESI=1
0062A84F|.33FF xor edi,edi ;EDI QL
0062A851|>8A0C1F /mov cl,byte ptr ds: ;取用户名
0062A854|.84C9 |test cl,cl ;用户名ASC是否为1,
0062A856|.74 1F |je XGDC2000.0062A877
0062A858|.80F9 FF |cmp cl,0xFF ;用户名ASC是否为255
0062A85B|.74 1A |je XGDC2000.0062A877
0062A85D|.81E1 FF000000 |and ecx,0xFF ;用户名AND 0FF(只保留低2位)
0062A863|.B8 ABAAAAAA |mov eax,0xAAAAAAAB ;EAX=AAAAAAAB
0062A868|.0FAFCE |imul ecx,esi ;ECX*ESI
0062A86B|.F7E1 |mul ecx
0062A86D|.D1EA |shr edx,1 ;EDX/2
0062A86F|.03F2 |add esi,edx ;商+esi
0062A871|.47 |inc edi
0062A872|.83FF 12 |cmp edi,0x12
0062A875|.^ 7C DA \jl XGDC2000.0062A851
0062A877|>8B7C24 34 mov edi,dword ptr ss: ;4D3A1D5A
0062A87B|.33DB xor ebx,ebx ;EBX QL
0062A87D|>8BC7 mov eax,edi ;EAX=4F3A1D5A
0062A87F|.8BCE mov ecx,esi
0062A881|.83E0 07 and eax,0x7 ;AND 7
0062A884|.81E1 FF030000 and ecx,0x3FF ; AND 3FF
0062A88A|.8B1485 9C5E70>mov edx,dword ptr ds: ; ;查表
0062A891|.B8 ABAAAAAA mov eax,0xAAAAAAAB
0062A896|.8A0C0A mov cl,byte ptr ds:
0062A899|.884C1C 0C mov byte ptr ss:,cl
0062A89D|.81E1 FF000000 and ecx,0xFF
0062A8A3|.0FAFCE imul ecx,esi
0062A8A6|.F7E1 mul ecx
0062A8A8|.33C0 xor eax,eax
0062A8AA|.8A441C 0C mov al,byte ptr ss:
0062A8AE|.8BC8 mov ecx,eax
0062A8B0|.B8 ABAAAAAA mov eax,0xAAAAAAAB
0062A8B5|.0FAFCF imul ecx,edi
0062A8B8|.D1EA shr edx,1 ;EDX/2
0062A8BA|.03F2 add esi,edx
0062A8BC|.F7E1 mul ecx
0062A8BE|.D1EA shr edx,1 ;EDX/2
0062A8C0|.03FA add edi,edx
0062A8C2|.43 inc ebx
0062A8C3|.83FB 20 cmp ebx,0x20
0062A8C6|.^ 7C B5 jl XGDC2000.0062A87D
0062A8C8|.8B7C24 38 mov edi,dword ptr ss:
0062A8CC|.B9 08000000 mov ecx,0x8
0062A8D1|.8D7424 0C lea esi,dword ptr ss: ;把计算出的字符串地址给ESI(13EDC0)
0062A8D5|.33C0 xor eax,eax
0062A8D7|.F3:A5 rep movs dword ptr es:,dword ptr ds:
0062A8D9|.5F pop edi
0062A8DA|.5E pop esi
0062A8DB|.5B pop ebx
0062A8DC|.83C4 20 add esp,0x20
页:
[1]