首页
社区
课程
招聘
[旧帖] 求助 这种算法怎么解 0.00雪花
发表于: 2011-3-17 08:41 2165

[旧帖] 求助 这种算法怎么解 0.00雪花

2011-3-17 08:41
2165
这是某软件的算法
本人菜鸟一个找到算法不知怎么解
希望牛人解答一下

00439DA0  /$  8B4424 08     mov eax,ss:[esp+8]
00439DA4  |.  99            cdq
00439DA5  |.  83E2 03       and edx,3
00439DA8  |.  03C2          add eax,edx
00439DAA  |.  55            push ebp
00439DAB  |.  8B6C24 08     mov ebp,ss:[esp+8]
00439DAF  |.  C1F8 02       sar eax,2
00439DB2  |.  8D0440        lea eax,ds:[eax+eax*2]
00439DB5  |.  56            push esi
00439DB6  |.  894424 0C     mov ss:[esp+C],eax
00439DBA  |.  83C0 03       add eax,3
00439DBD  |.  50            push eax                                 ; /n
00439DBE  |.  33F6          xor esi,esi                              ; |
00439DC0  |.  56            push esi                                 ; |c => 00
00439DC1  |.  53            push ebx                                 ; |s
00439DC2  |.  E8 5B770000   call <jmp.&MSVCR80.memset>               ; \memset
00439DC7  |.  83C4 0C       add esp,0C
00439DCA  |.  807D 00 3D    cmp byte ptr ss:[ebp],3D
00439DCE  |.  0F84 7B010000 je 00439F4F
00439DD4  |.  57            push edi
00439DD5  |>  3B7424 14     /cmp esi,ss:[esp+14]
00439DD9  |.  0F8D 6F010000 |jge 00439F4E
00439DDF  |.  803C2E 0A     |cmp byte ptr ds:[esi+ebp],0A
00439DE3  |.  75 09         |jnz short 00439DEE
00439DE5  |>  83C6 01       |/add esi,1
00439DE8  |.  803C2E 0A     ||cmp byte ptr ds:[esi+ebp],0A
00439DEC  |.^ 74 F7         |\je short 00439DE5
00439DEE  |>  8BC6          |mov eax,esi
00439DF0  |.  99            |cdq
00439DF1  |.  83E2 03       |and edx,3
00439DF4  |.  03C2          |add eax,edx
00439DF6  |.  C1F8 02       |sar eax,2
00439DF9  |.  8D0C43        |lea ecx,ds:[ebx+eax*2]
00439DFC  |.  8D1408        |lea edx,ds:[eax+ecx]
00439DFF  |.  8A042E        |mov al,ds:[esi+ebp]
00439E02  |.  8AC8          |mov cl,al
00439E04  |.  80E9 41       |sub cl,41                               ;  Switch (cases 41..DB)
00439E07  |.  80F9 19       |cmp cl,19
00439E0A  |.  77 04         |ja short 00439E10
00439E0C  |.  8AC1          |mov al,cl
00439E0E  |.  EB 2F         |jmp short 00439E3F
00439E10  |>  8AC8          |mov cl,al
00439E12  |.  80E9 61       |sub cl,61
00439E15  |.  80F9 19       |cmp cl,19
00439E18  |.  77 04         |ja short 00439E1E
00439E1A  |.  2C 47         |sub al,47                               ;  Cases A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BB of switch 00439E04
00439E1C  |.  EB 21         |jmp short 00439E3F
00439E1E  |>  8AC8          |mov cl,al
00439E20  |.  80E9 30       |sub cl,30
00439E23  |.  80F9 09       |cmp cl,9
00439E26  |.  77 04         |ja short 00439E2C
00439E28  |.  04 04         |add al,4                                ;  Cases D2,D3,D4,D5,D6,D7,D8,D9,DA,DB of switch 00439E04
00439E2A  |.  EB 13         |jmp short 00439E3F
00439E2C  |>  3C 2B         |cmp al,2B                               ;  Default case of switch 00439E04
00439E2E  |.  75 04         |jnz short 00439E34
00439E30  |.  B0 3E         |mov al,3E
00439E32  |.  EB 0B         |jmp short 00439E3F
00439E34  |>  3C 2F         |cmp al,2F
00439E36  |.  0F95C0        |setne al
00439E39  |.  2C 01         |sub al,1
00439E3B  |.  24 40         |and al,40
00439E3D  |.  04 FF         |add al,0FF
00439E3F  |>  0FBEF8        |movsx edi,al                            ;  Cases 41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,50,51,52,53,54,55,56,57,58,59,5A of switch 00439E04
00439E42  |.  C1E7 12       |shl edi,12
00439E45  |.  893A          |mov ds:[edx],edi
00439E47  |.  8A442E 01     |mov al,ds:[esi+ebp+1]
00439E4B  |.  3C 3D         |cmp al,3D
00439E4D  |.  0F84 FB000000 |je 00439F4E
00439E53  |.  8AC8          |mov cl,al
00439E55  |.  80E9 41       |sub cl,41                               ;  Switch (cases 41..DB)
00439E58  |.  80F9 19       |cmp cl,19
00439E5B  |.  77 04         |ja short 00439E61
00439E5D  |.  8AC1          |mov al,cl
00439E5F  |.  EB 2F         |jmp short 00439E90
00439E61  |>  8AC8          |mov cl,al
00439E63  |.  80E9 61       |sub cl,61
00439E66  |.  80F9 19       |cmp cl,19
00439E69  |.  77 04         |ja short 00439E6F
00439E6B  |.  2C 47         |sub al,47                               ;  Cases A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BB of switch 00439E55
00439E6D  |.  EB 21         |jmp short 00439E90
00439E6F  |>  8AC8          |mov cl,al
00439E71  |.  80E9 30       |sub cl,30
00439E74  |.  80F9 09       |cmp cl,9
00439E77  |.  77 04         |ja short 00439E7D
00439E79  |.  04 04         |add al,4                                ;  Cases D2,D3,D4,D5,D6,D7,D8,D9,DA,DB of switch 00439E55
00439E7B  |.  EB 13         |jmp short 00439E90
00439E7D  |>  3C 2B         |cmp al,2B                               ;  Default case of switch 00439E55
00439E7F  |.  75 04         |jnz short 00439E85
00439E81  |.  B0 3E         |mov al,3E
00439E83  |.  EB 0B         |jmp short 00439E90
00439E85  |>  3C 2F         |cmp al,2F
00439E87  |.  0F95C0        |setne al
00439E8A  |.  2C 01         |sub al,1
00439E8C  |.  24 40         |and al,40
00439E8E  |.  04 FF         |add al,0FF
00439E90  |>  0FBEC0        |movsx eax,al                            ;  Cases 41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,50,51,52,53,54,55,56,57,58,59,5A of switch 00439E55
00439E93  |.  C1E0 0C       |shl eax,0C
00439E96  |.  03F8          |add edi,eax
00439E98  |.  893A          |mov ds:[edx],edi
00439E9A  |.  8A442E 02     |mov al,ds:[esi+ebp+2]
00439E9E  |.  3C 3D         |cmp al,3D
00439EA0  |.  0F84 A8000000 |je 00439F4E
00439EA6  |.  8AC8          |mov cl,al
00439EA8  |.  80E9 41       |sub cl,41                               ;  Switch (cases 41..DB)
00439EAB  |.  80F9 19       |cmp cl,19
00439EAE  |.  77 04         |ja short 00439EB4
00439EB0  |.  8AC1          |mov al,cl
00439EB2  |.  EB 2F         |jmp short 00439EE3
00439EB4  |>  8AC8          |mov cl,al
00439EB6  |.  80E9 61       |sub cl,61
00439EB9  |.  80F9 19       |cmp cl,19
00439EBC  |.  77 04         |ja short 00439EC2
00439EBE  |.  2C 47         |sub al,47                               ;  Cases A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BB of switch 00439EA8
00439EC0  |.  EB 21         |jmp short 00439EE3
00439EC2  |>  8AC8          |mov cl,al
00439EC4  |.  80E9 30       |sub cl,30
00439EC7  |.  80F9 09       |cmp cl,9
00439ECA  |.  77 04         |ja short 00439ED0
00439ECC  |.  04 04         |add al,4                                ;  Cases D2,D3,D4,D5,D6,D7,D8,D9,DA,DB of switch 00439EA8
00439ECE  |.  EB 13         |jmp short 00439EE3
00439ED0  |>  3C 2B         |cmp al,2B                               ;  Default case of switch 00439EA8
00439ED2  |.  75 04         |jnz short 00439ED8
00439ED4  |.  B0 3E         |mov al,3E
00439ED6  |.  EB 0B         |jmp short 00439EE3
00439ED8  |>  3C 2F         |cmp al,2F
00439EDA  |.  0F95C0        |setne al
00439EDD  |.  2C 01         |sub al,1
00439EDF  |.  24 40         |and al,40
00439EE1  |.  04 FF         |add al,0FF
00439EE3  |>  0FBEC0        |movsx eax,al                            ;  Cases 41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,50,51,52,53,54,55,56,57,58,59,5A of switch 00439EA8
00439EE6  |.  C1E0 06       |shl eax,6
00439EE9  |.  03F8          |add edi,eax
00439EEB  |.  893A          |mov ds:[edx],edi
00439EED  |.  8A442E 03     |mov al,ds:[esi+ebp+3]
00439EF1  |.  3C 3D         |cmp al,3D
00439EF3  |.  74 59         |je short 00439F4E
00439EF5  |.  8AC8          |mov cl,al
00439EF7  |.  80E9 41       |sub cl,41                               ;  Switch (cases 41..DB)
00439EFA  |.  80F9 19       |cmp cl,19
00439EFD  |.  77 04         |ja short 00439F03
00439EFF  |.  8AC1          |mov al,cl
00439F01  |.  EB 2F         |jmp short 00439F32
00439F03  |>  8AC8          |mov cl,al
00439F05  |.  80E9 61       |sub cl,61
00439F08  |.  80F9 19       |cmp cl,19
00439F0B  |.  77 04         |ja short 00439F11
00439F0D  |.  2C 47         |sub al,47                               ;  Cases A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BB of switch 00439EF7
00439F0F  |.  EB 21         |jmp short 00439F32
00439F11  |>  8AC8          |mov cl,al
00439F13  |.  80E9 30       |sub cl,30
00439F16  |.  80F9 09       |cmp cl,9
00439F19  |.  77 04         |ja short 00439F1F
00439F1B  |.  04 04         |add al,4                                ;  Cases D2,D3,D4,D5,D6,D7,D8,D9,DA,DB of switch 00439EF7
00439F1D  |.  EB 13         |jmp short 00439F32
00439F1F  |>  3C 2B         |cmp al,2B                               ;  Default case of switch 00439EF7
00439F21  |.  75 04         |jnz short 00439F27
00439F23  |.  B0 3E         |mov al,3E
00439F25  |.  EB 0B         |jmp short 00439F32
00439F27  |>  3C 2F         |cmp al,2F
00439F29  |.  0F95C0        |setne al
00439F2C  |.  2C 01         |sub al,1
00439F2E  |.  24 40         |and al,40
00439F30  |.  04 FF         |add al,0FF
00439F32  |>  0FBEC0        |movsx eax,al                            ;  Cases 41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,50,51,52,53,54,55,56,57,58,59,5A of switch 00439EF7
00439F35  |.  03C7          |add eax,edi
00439F37  |.  8902          |mov ds:[edx],eax
00439F39  |.  8A4A 02       |mov cl,ds:[edx+2]
00439F3C  |.  880A          |mov ds:[edx],cl
00439F3E  |.  83C6 04       |add esi,4
00439F41  |.  8842 02       |mov ds:[edx+2],al
00439F44  |.  803C2E 3D     |cmp byte ptr ds:[esi+ebp],3D
00439F48  |.^ 0F85 87FEFFFF \jnz 00439DD5
00439F4E  |>  5F            pop edi                                  ;  0012DBAC
00439F4F  |>  8BC6          mov eax,esi
00439F51  |.  99            cdq
00439F52  |.  83E2 03       and edx,3
00439F55  |.  03C2          add eax,edx
00439F57  |.  C1F8 02       sar eax,2
00439F5A  |.  8D1443        lea edx,ds:[ebx+eax*2]
00439F5D  |.  8A0C10        mov cl,ds:[eax+edx]
00439F60  |.  03C2          add eax,edx
00439F62  |.  8A50 02       mov dl,ds:[eax+2]
00439F65  |.  8810          mov ds:[eax],dl
00439F67  |.  5E            pop esi
00439F68  |.  8848 02       mov ds:[eax+2],cl
00439F6B  |.  8B4424 08     mov eax,ss:[esp+8]
00439F6F  |.  5D            pop ebp
00439F70  \.  C3            retn

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//