飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2370|回复: 0

[求助] 请大牛帮忙算法分析。。这段字符串加密实现的过程

[复制链接]

该用户从未签到

发表于 2012-4-11 15:07:10 | 显示全部楼层 |阅读模式
0062A843  |> \53            push ebx
0062A844  |.  8B5C24 28     mov ebx,dword ptr ss:[esp+0x28]          ;  用户名地址给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:[edi+ebx]            ;  取用户名
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:[esp+0x34]          ;  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:[eax*4+0x705E9C]     ; ;查表
0062A891  |.  B8 ABAAAAAA   mov eax,0xAAAAAAAB
0062A896  |.  8A0C0A        mov cl,byte ptr ds:[edx+ecx]
0062A899  |.  884C1C 0C     mov byte ptr ss:[esp+ebx+0xC],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:[esp+ebx+0xC]   
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:[esp+0x38]
0062A8CC  |.  B9 08000000   mov ecx,0x8
0062A8D1  |.  8D7424 0C     lea esi,dword ptr ss:[esp+0xC]           ;  把计算出的字符串地址给ESI(  13EDC0  )
0062A8D5  |.  33C0          xor eax,eax
0062A8D7  |.  F3:A5         rep movs dword ptr es:[edi],dword ptr ds:[esi]
0062A8D9  |.  5F            pop edi
0062A8DA  |.  5E            pop esi
0062A8DB  |.  5B            pop ebx
0062A8DC  |.  83C4 20       add esp,0x20

PYG19周年生日快乐!
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表