劳驾大虾给指点一下,如下一段程序是什么算法?多谢!
:100028E0 64A100000000 mov eax, dword ptr fs:[00000000]
:100028E6 6AFF push FFFFFFFF
:100028E8 68C49C0110 push 10019CC4
:100028ED 50 push eax
:100028EE 64892500000000 mov dword ptr fs:[00000000], esp
:100028F5 81EC70020000 sub esp, 00000270
:100028FB B93C280210 mov ecx, 1002283C
:10002900 53 push ebx
:10002901 55 push ebp
:10002902 56 push esi
:10002903 57 push edi
* Possible StringData Ref from Data Obj ->"x;ff,*n[F]"
|
:10002904 6804110210 push 10021104
:10002909 E8962C0100 call 100155A4
* Possible StringData Ref from Data Obj ->"x;ff,*n[F]"
|
:1000290E 6804110210 push 10021104
:10002913 B938280210 mov ecx, 10022838
:10002918 E8872C0100 call 100155A4
:1000291D 33DB xor ebx, ebx
:1000291F 8B842490020000 mov eax, dword ptr [esp+00000290]
:10002926 891D40280210 mov dword ptr [10022840], ebx
:1000292C 3BC3 cmp eax, ebx
:1000292E 891D44280210 mov dword ptr [10022844], ebx
:10002934 891D50280210 mov dword ptr [10022850], ebx
:1000293A 891D54280210 mov dword ptr [10022854], ebx
:10002940 891D48280210 mov dword ptr [10022848], ebx
:10002946 891D4C280210 mov dword ptr [1002284C], ebx
:1000294C 0F84F6040000 je 10002E48
:10002952 8BB42494020000 mov esi, dword ptr [esp+00000294]
:10002959 3BF3 cmp esi, ebx
:1000295B 0F84E7040000 je 10002E48
:10002961 399C2498020000 cmp dword ptr [esp+00000298], ebx
:10002968 0F84DA040000 je 10002E48
:1000296E 50 push eax
:1000296F 8D4C2418 lea ecx, dword ptr [esp+18]
:10002973 E85D2B0100 call 100154D5
:10002978 6870270210 push 10022770
* Possible StringData Ref from Data Obj ->" "
|
:1000297D 68C4100210 push 100210C4
:10002982 8D4C241C lea ecx, dword ptr [esp+1C]
:10002986 899C2490020000 mov dword ptr [esp+00000290], ebx
:1000298D E848E00000 call 100109DA
:10002992 6870270210 push 10022770
* Possible StringData Ref from Data Obj ->""
|
:10002997 6800110210 push 10021100
:1000299C 8D4C241C lea ecx, dword ptr [esp+1C]
:100029A0 E835E00000 call 100109DA
:100029A5 6870270210 push 10022770
* Possible StringData Ref from Data Obj ->"
"
|
:100029AA 68FC100210 push 100210FC
:100029AF 8D4C241C lea ecx, dword ptr [esp+1C]
:100029B3 E822E00000 call 100109DA
:100029B8 6870270210 push 10022770
* Possible StringData Ref from Data Obj ->"
"
|
:100029BD 68F8100210 push 100210F8
:100029C2 8D4C241C lea ecx, dword ptr [esp+1C]
:100029C6 E80FE00000 call 100109DA
:100029CB 8B442414 mov eax, dword ptr [esp+14]
:100029CF 3958F8 cmp dword ptr [eax-08], ebx
:100029D2 0F845C040000 je 10002E34
:100029D8 8D4C2414 lea ecx, dword ptr [esp+14]
:100029DC 51 push ecx
:100029DD B93C280210 mov ecx, 1002283C
:100029E2 E86D2B0100 call 10015554
:100029E7 56 push esi
:100029E8 8D4C241C lea ecx, dword ptr [esp+1C]
:100029EC E8E42A0100 call 100154D5
:100029F1 8D542418 lea edx, dword ptr [esp+18]
:100029F5 8D442410 lea eax, dword ptr [esp+10]
:100029F9 52 push edx
:100029FA 50 push eax
:100029FB C684249002000001 mov byte ptr [esp+00000290], 01
:10002A03 E888E9FFFF call 10001390
:10002A08 83C408 add esp, 00000008
:10002A0B 50 push eax
:10002A0C 8D4C241C lea ecx, dword ptr [esp+1C]
:10002A10 C684248C02000002 mov byte ptr [esp+0000028C], 02
:10002A18 E8372B0100 call 10015554
:10002A1D 8D4C2410 lea ecx, dword ptr [esp+10]
:10002A21 C684248802000001 mov byte ptr [esp+00000288], 01
:10002A29 E8392A0100 call 10015467
:10002A2E 8B4C2418 mov ecx, dword ptr [esp+18]
:10002A32 8B41F8 mov eax, dword ptr [ecx-08]
:10002A35 83F814 cmp eax, 00000014
:10002A38 0F85E6030000 jne 10002E24
:10002A3E C7442464B0B60110 mov [esp+64], 1001B6B0
:10002A46 895C2468 mov dword ptr [esp+68], ebx
:10002A4A C744246C11000000 mov [esp+6C], 00000011
:10002A52 895C2470 mov dword ptr [esp+70], ebx
:10002A56 895C2474 mov dword ptr [esp+74], ebx
:10002A5A 895C2478 mov dword ptr [esp+78], ebx
:10002A5E C744247C0A000000 mov [esp+7C], 0000000A
:10002A66 C684248802000003 mov byte ptr [esp+00000288], 03
:10002A6E 895C2410 mov dword ptr [esp+10], ebx
:10002A72 8B542410 mov edx, dword ptr [esp+10]
:10002A76 8A82C8100210 mov al, byte ptr [edx+100210C8]
:10002A7C 88442458 mov byte ptr [esp+58], al
:10002A80 8B4C2458 mov ecx, dword ptr [esp+58]
:10002A84 51 push ecx
:10002A85 8D4C2468 lea ecx, dword ptr [esp+68]
:10002A89 E8122D0000 call 100057A0
:10002A8E 8B4C2410 mov ecx, dword ptr [esp+10]
:10002A92 8808 mov byte ptr [eax], cl
:10002A94 41 inc ecx
:10002A95 83F920 cmp ecx, 00000020
:10002A98 894C2410 mov dword ptr [esp+10], ecx
:10002A9C 72D4 jb 10002A72
:10002A9E 6A19 push 00000019
:10002AA0 C7442424C8000000 mov [esp+24], 000000C8
:10002AA8 895C2428 mov dword ptr [esp+28], ebx
:10002AAC E8332E0100 call 100158E4
:10002AB1 83C404 add esp, 00000004
:10002AB4 8BF8 mov edi, eax
:10002AB6 B906000000 mov ecx, 00000006
:10002ABB 33C0 xor eax, eax
:10002ABD 897C241C mov dword ptr [esp+1C], edi
:10002AC1 F3 repz
:10002AC2 AB stosd
:10002AC3 AA stosb
:10002AC4 C744242801000000 mov [esp+28], 00000001
:10002ACC C684248802000004 mov byte ptr [esp+00000288], 04
:10002AD4 895C2410 mov dword ptr [esp+10], ebx
:10002AD8 8B542418 mov edx, dword ptr [esp+18]
:10002ADC 8B442410 mov eax, dword ptr [esp+10]
:10002AE0 8A0C10 mov cl, byte ptr [eax+edx]
:10002AE3 8D942494000000 lea edx, dword ptr [esp+00000094]
:10002AEA 884C2458 mov byte ptr [esp+58], cl
:10002AEE 52 push edx
:10002AEF 8B44245C mov eax, dword ptr [esp+5C]
:10002AF3 8D4C2468 lea ecx, dword ptr [esp+68]
:10002AF7 50 push eax
:10002AF8 E8E32D0000 call 100058E0
:10002AFD 3BC3 cmp eax, ebx
:10002AFF 7468 je 10002B69
:10002B01 8A4809 mov cl, byte ptr [eax+09]
:10002B04 884C2454 mov byte ptr [esp+54], cl
:10002B08 8B442454 mov eax, dword ptr [esp+54]
:10002B0C 25FF000000 and eax, 000000FF
:10002B11 33F6 xor esi, esi
:10002B13 99 cdq
:10002B14 8BF8 mov edi, eax
:10002B16 8BEA mov ebp, edx
:10002B18 B801000000 mov eax, 00000001
:10002B1D 8BCE mov ecx, esi
:10002B1F D3E0 shl eax, cl
:10002B21 99 cdq
:10002B22 23C7 and eax, edi
:10002B24 23D5 and edx, ebp
:10002B26 0BC2 or eax, edx
:10002B28 7407 je 10002B31
:10002B2A B801000000 mov eax, 00000001
:10002B2F EB02 jmp 10002B33
:10002B31 33C0 xor eax, eax
:10002B33 8B542424 mov edx, dword ptr [esp+24]
:10002B37 50 push eax
:10002B38 52 push edx
:10002B39 8D4C2424 lea ecx, dword ptr [esp+24]
:10002B3D E8AE070000 call 100032F0
:10002B42 83F8FF cmp eax, FFFFFFFF
:10002B45 740F je 10002B56
:10002B47 8B542424 mov edx, dword ptr [esp+24]
:10002B4B 42 inc edx
:10002B4C 46 inc esi
:10002B4D 83FE05 cmp esi, 00000005
:10002B50 89542424 mov dword ptr [esp+24], edx
:10002B54 7CC2 jl 10002B18
:10002B56 8B442410 mov eax, dword ptr [esp+10]
:10002B5A 40 inc eax
:10002B5B 83F814 cmp eax, 00000014
:10002B5E 89442410 mov dword ptr [esp+10], eax
:10002B62 7D47 jge 10002BAB
:10002B64 E96FFFFFFF jmp 10002AD8
:10002B69 8B442428 mov eax, dword ptr [esp+28]
:10002B6D C684248802000003 mov byte ptr [esp+00000288], 03
:10002B75 3BC3 cmp eax, ebx
:10002B77 740D je 10002B86
:10002B79 8B44241C mov eax, dword ptr [esp+1C]
:10002B7D 50 push eax
:10002B7E E88A2D0100 call 1001590D
:10002B83 83C404 add esp, 00000004
:10002B86 895C241C mov dword ptr [esp+1C], ebx
:10002B8A 895C2420 mov dword ptr [esp+20], ebx
:10002B8E 895C2424 mov dword ptr [esp+24], ebx
:10002B92 895C2428 mov dword ptr [esp+28], ebx
:10002B96 C7442464B0B60110 mov [esp+64], 1001B6B0
:10002B9E C684248802000005 mov byte ptr [esp+00000288], 05
:10002BA6 E970020000 jmp 10002E1B
:10002BAB 8D4C245C lea ecx, dword ptr [esp+5C]
:10002BAF BE40000000 mov esi, 00000040
:10002BB4 85C9 test ecx, ecx
:10002BB6 895C245C mov dword ptr [esp+5C], ebx
:10002BBA 895C2460 mov dword ptr [esp+60], ebx
:10002BBE 89742430 mov dword ptr [esp+30], esi
:10002BC2 895C2434 mov dword ptr [esp+34], ebx
:10002BC6 751F jne 10002BE7
:10002BC8 6A08 push 00000008
:10002BCA E8152D0100 call 100158E4
:10002BCF 83C404 add esp, 00000004
:10002BD2 33D2 xor edx, edx
:10002BD4 8944242C mov dword ptr [esp+2C], eax
:10002BD8 8910 mov dword ptr [eax], edx
:10002BDA 895004 mov dword ptr [eax+04], edx
:10002BDD C744243801000000 mov [esp+38], 00000001
:10002BE5 EB0C jmp 10002BF3
:10002BE7 8D44245C lea eax, dword ptr [esp+5C]
:10002BEB 895C2438 mov dword ptr [esp+38], ebx
:10002BEF 8944242C mov dword ptr [esp+2C], eax
:10002BF3 8D4C244C lea ecx, dword ptr [esp+4C]
:10002BF7 C684248802000006 mov byte ptr [esp+00000288], 06
:10002BFF 85C9 test ecx, ecx
:10002C01 895C244C mov dword ptr [esp+4C], ebx
:10002C05 895C2450 mov dword ptr [esp+50], ebx
:10002C09 89742440 mov dword ptr [esp+40], esi
:10002C0D 895C2444 mov dword ptr [esp+44], ebx
:10002C11 751F jne 10002C32
:10002C13 6A08 push 00000008
:10002C15 E8CA2C0100 call 100158E4
:10002C1A 83C404 add esp, 00000004
:10002C1D 33D2 xor edx, edx
:10002C1F 8944243C mov dword ptr [esp+3C], eax
:10002C23 8910 mov dword ptr [eax], edx
:10002C25 895004 mov dword ptr [eax+04], edx
:10002C28 C744244801000000 mov [esp+48], 00000001
:10002C30 EB0C jmp 10002C3E
:10002C32 8D44244C lea eax, dword ptr [esp+4C]
:10002C36 895C2448 mov dword ptr [esp+48], ebx
:10002C3A 8944243C mov dword ptr [esp+3C], eax
:10002C3E C684248802000007 mov byte ptr [esp+00000288], 07
:10002C46 895C2424 mov dword ptr [esp+24], ebx
:10002C4A BE04000000 mov esi, 00000004
:10002C4F 8D4C2410 lea ecx, dword ptr [esp+10]
:10002C53 895C2410 mov dword ptr [esp+10], ebx
:10002C57 51 push ecx
:10002C58 8D4C2420 lea ecx, dword ptr [esp+20]
:10002C5C E8EF060000 call 10003350
:10002C61 8D4C242C lea ecx, dword ptr [esp+2C]
:10002C65 8B542410 mov edx, dword ptr [esp+10]
:10002C69 8B442434 mov eax, dword ptr [esp+34]
:10002C6D 52 push edx
:10002C6E 50 push eax
:10002C6F E87C060000 call 100032F0
:10002C74 3BC3 cmp eax, ebx
:10002C76 7504 jne 10002C7C
:10002C78 FF442434 inc [esp+34]
:10002C7C 4E dec esi
:10002C7D 75D0 jne 10002C4F
:10002C7F BE20000000 mov esi, 00000020
:10002C84 8D4C2410 lea ecx, dword ptr [esp+10]
:10002C88 895C2410 mov dword ptr [esp+10], ebx
:10002C8C 51 push ecx
:10002C8D 8D4C2420 lea ecx, dword ptr [esp+20]
:10002C91 E8BA060000 call 10003350
:10002C96 8D4C243C lea ecx, dword ptr [esp+3C]
:10002C9A 8B542410 mov edx, dword ptr [esp+10]
:10002C9E 8B442444 mov eax, dword ptr [esp+44]
:10002CA2 52 push edx
:10002CA3 50 push eax
:10002CA4 E847060000 call 100032F0
:10002CA9 3BC3 cmp eax, ebx
:10002CAB 7504 jne 10002CB1
:10002CAD FF442444 inc [esp+44]
:10002CB1 8D4C2410 lea ecx, dword ptr [esp+10]
:10002CB5 895C2410 mov dword ptr [esp+10], ebx
:10002CB9 51 push ecx
:10002CBA 8D4C2420 lea ecx, dword ptr [esp+20]
:10002CBE E88D060000 call 10003350
:10002CC3 33C0 xor eax, eax
:10002CC5 8B4C2410 mov ecx, dword ptr [esp+10]
:10002CC9 8B542444 mov edx, dword ptr [esp+44]
:10002CCD 3BCB cmp ecx, ebx
:10002CCF 8D4C243C lea ecx, dword ptr [esp+3C]
:10002CD3 0F94C0 sete al
:10002CD6 50 push eax
:10002CD7 52 push edx
:10002CD8 E813060000 call 100032F0
:10002CDD 3BC3 cmp eax, ebx
:10002CDF 7504 jne 10002CE5
:10002CE1 FF442444 inc [esp+44]
:10002CE5 8D442410 lea eax, dword ptr [esp+10]
:10002CE9 8D4C241C lea ecx, dword ptr [esp+1C]
:10002CED 50 push eax
:10002CEE 895C2414 mov dword ptr [esp+14], ebx
:10002CF2 E859060000 call 10003350
:10002CF7 8B4C2410 mov ecx, dword ptr [esp+10]
:10002CFB 8B542434 mov edx, dword ptr [esp+34]
:10002CFF 51 push ecx
:10002D00 52 push edx
:10002D01 8D4C2434 lea ecx, dword ptr [esp+34]
:10002D05 E8E6050000 call 100032F0
:10002D0A 3BC3 cmp eax, ebx
:10002D0C 7504 jne 10002D12
:10002D0E FF442434 inc [esp+34]
:10002D12 4E dec esi
:10002D13 0F856BFFFFFF jne 10002C84
:10002D19 8B442414 mov eax, dword ptr [esp+14]
:10002D1D 8B48F8 mov ecx, dword ptr [eax-08]
:10002D20 51 push ecx
:10002D21 50 push eax
:10002D22 E8D9F9FFFF call 10002700
:10002D27 8B4C2454 mov ecx, dword ptr [esp+54]
:10002D2B 8B6C2458 mov ebp, dword ptr [esp+58]
:10002D2F 33C1 xor eax, ecx
:10002D31 33D5 xor edx, ebp
:10002D33 35475DDEB7 xor eax, B7DE5D47
:10002D38 81F2C862A59E xor edx, 9EA562C8
:10002D3E 83C408 add esp, 00000008
:10002D41 8944244C mov dword ptr [esp+4C], eax
:10002D45 89542450 mov dword ptr [esp+50], edx
:10002D49 E8B05B0100 call 100188FE
:10002D4E 8B5008 mov edx, dword ptr [eax+08]
:10002D51 8D8C247C010000 lea ecx, dword ptr [esp+0000017C]
:10002D58 6804010000 push 00000104
:10002D5D 51 push ecx
:10002D5E 52 push edx
:10002D5F FF15A8B10110 call dword ptr [1001B1A8]
:10002D65 8D84247C010000 lea eax, dword ptr [esp+0000017C]
* Possible StringData Ref from Data Obj ->"rb"
|
:10002D6C 68F4100210 push 100210F4
:10002D71 50 push eax
:10002D72 E8F4430000 call 1000716B
:10002D77 8BF0 mov esi, eax
:10002D79 83C408 add esp, 00000008
:10002D7C 3BF3 cmp esi, ebx
:10002D7E 0F85E2000000 jne 10002E66
:10002D84 8B442448 mov eax, dword ptr [esp+48]
:10002D88 C684248802000006 mov byte ptr [esp+00000288], 06
:10002D90 3BC3 cmp eax, ebx
:10002D92 740D je 10002DA1
:10002D94 8B4C243C mov ecx, dword ptr [esp+3C]
:10002D98 51 push ecx
:10002D99 E86F2B0100 call 1001590D
:10002D9E 83C404 add esp, 00000004
:10002DA1 8B442438 mov eax, dword ptr [esp+38]
:10002DA5 895C243C mov dword ptr [esp+3C], ebx
:10002DA9 3BC3 cmp eax, ebx
:10002DAB 895C2440 mov dword ptr [esp+40], ebx
:10002DAF 895C2444 mov dword ptr [esp+44], ebx
:10002DB3 895C2448 mov dword ptr [esp+48], ebx
:10002DB7 C684248802000004 mov byte ptr [esp+00000288], 04
:10002DBF 740D je 10002DCE
:10002DC1 8B54242C mov edx, dword ptr [esp+2C]
:10002DC5 52 push edx
:10002DC6 E8422B0100 call 1001590D
:10002DCB 83C404 add esp, 00000004
:10002DCE 8B442428 mov eax, dword ptr [esp+28]
:10002DD2 895C242C mov dword ptr [esp+2C], ebx
:10002DD6 3BC3 cmp eax, ebx
:10002DD8 895C2430 mov dword ptr [esp+30], ebx
:10002DDC 895C2434 mov dword ptr [esp+34], ebx
:10002DE0 895C2438 mov dword ptr [esp+38], ebx
:10002DE4 C684248802000003 mov byte ptr [esp+00000288], 03
:10002DEC 740D je 10002DFB
:10002DEE 8B44241C mov eax, dword ptr [esp+1C]
:10002DF2 50 push eax
:10002DF3 E8152B0100 call 1001590D
:10002DF8 83C404 add esp, 00000004
:10002DFB 895C241C mov dword ptr [esp+1C], ebx
:10002DFF 895C2420 mov dword ptr [esp+20], ebx
:10002E03 895C2424 mov dword ptr [esp+24], ebx
:10002E07 895C2428 mov dword ptr [esp+28], ebx
:10002E0B C7442464B0B60110 mov [esp+64], 1001B6B0
:10002E13 C684248802000008 mov byte ptr [esp+00000288], 08
:10002E1B 8D4C2464 lea ecx, dword ptr [esp+64]
:10002E1F E86C2A0000 call 10005890
:10002E24 8D4C2418 lea ecx, dword ptr [esp+18]
:10002E28 889C2488020000 mov byte ptr [esp+00000288], bl
:10002E2F E833260100 call 10015467
:10002E34 8D4C2414 lea ecx, dword ptr [esp+14]
:10002E38 C7842488020000FFFFFFFF mov dword ptr [esp+00000288], FFFFFFFF
:10002E43 E81F260100 call 10015467
:10002E48 83C8FF or eax, FFFFFFFF
:10002E4B 8B8C2480020000 mov ecx, dword ptr [esp+00000280]
:10002E52 5F pop edi
:10002E53 5E pop esi
:10002E54 5D pop ebp
:10002E55 5B pop ebx
:10002E56 64890D00000000 mov dword ptr fs:[00000000], ecx
:10002E5D 81C47C020000 add esp, 0000027C
:10002E63 C20C00 ret 000C
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!