kc萧何 发表于 2012-4-11 15:07:10

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

0062A843|> \53            push ebx
0062A844|.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]
查看完整版本: 请大牛帮忙算法分析。。这段字符串加密实现的过程