能力值:
( LV9,RANK:610 )
|
-
-
54 楼
风月,跑我前面了.....
我晕..........................
刚吃完饭,打算贴出来,没想到风月已经贴了,难就难在长长的乱码,其他都容易了....
花了10多分钟把乱码拿掉了
基本全了,哎~~!
实际乱码很简单就能去了,就是太长了,看的时间长了就眼花~!
比如ESP大范围出现,可以在ESP出现和结束处下端点.下完后看看,加多少或减多少.其它都类似.
目前只发现乱码做了加法或减法,并无其它.
风月的基本全了,我再把我整理的贴出来,如果少了的可以对对.方便参赛的破解.我大致看了一下,后面没心思看了.
代码如下:
0040181C 55 push ebp 0040181D 8BEC mov ebp, esp 0040181F 81EC DC020000 sub esp, 2DC 00401825 53 push ebx 00401826 56 push esi 00401827 57 push edi 00401828 8BF8 mov edi, eax 0040182A 8BF1 mov esi, ecx 0040182C B1 78 mov cl, 78 0040182E B0 09 mov al, 9 00401830 B3 6A mov bl, 6A 00401832 B2 7F mov dl, 7F 00401834 C685 F4FEFFFF A>mov byte ptr [ebp-10C], 0A5 0040183B C685 F5FEFFFF 8>mov byte ptr [ebp-10B], 80 00401842 C685 F6FEFFFF 2>mov byte ptr [ebp-10A], 21 00401849 C685 F7FEFFFF E>mov byte ptr [ebp-109], 0EF 00401850 C685 F8FEFFFF 5>mov byte ptr [ebp-108], 5F 00401857 C685 F9FEFFFF 8>mov byte ptr [ebp-107], 8B 0040185E C685 FAFEFFFF 1>mov byte ptr [ebp-106], 13 00401865 C685 FBFEFFFF 4>mov byte ptr [ebp-105], 44 0040186C C685 FCFEFFFF D>mov byte ptr [ebp-104], 0DE 00401873 C685 FDFEFFFF 3>mov byte ptr [ebp-103], 33 0040187A C685 FEFEFFFF D>mov byte ptr [ebp-102], 0D6 00401881 C685 FFFEFFFF 9>mov byte ptr [ebp-101], 9A 00401888 C685 00FFFFFF 0>mov byte ptr [ebp-100], 5 0040188F C685 01FFFFFF 0>mov byte ptr [ebp-FF], 0E 00401896 C685 02FFFFFF 2>mov byte ptr [ebp-FE], 2E 0040189D C685 03FFFFFF 5>mov byte ptr [ebp-FD], 59 004018A4 C685 04FFFFFF 2>mov byte ptr [ebp-FC], 2A 004018AB 888D 05FFFFFF mov byte ptr [ebp-FB], cl 004018B1 C685 06FFFFFF A>mov byte ptr [ebp-FA], 0A3 004018B8 C685 07FFFFFF E>mov byte ptr [ebp-F9], 0EC 004018BF C685 08FFFFFF B>mov byte ptr [ebp-F8], 0B2 004018C6 C685 09FFFFFF D>mov byte ptr [ebp-F7], 0D9 004018CD C685 0AFFFFFF 5>mov byte ptr [ebp-F6], 5C 004018D4 C685 0BFFFFFF C>mov byte ptr [ebp-F5], 0CE 004018DB C685 0CFFFFFF D>mov byte ptr [ebp-F4], 0D2 004018E2 C685 0DFFFFFF A>mov byte ptr [ebp-F3], 0AE 004018E9 C685 0EFFFFFF 8>mov byte ptr [ebp-F2], 83 004018F0 C685 0FFFFFFF 6>mov byte ptr [ebp-F1], 6D 004018F7 8885 10FFFFFF mov byte ptr [ebp-F0], al 004018FD C685 11FFFFFF A>mov byte ptr [ebp-EF], 0A0 00401904 C685 12FFFFFF 1>mov byte ptr [ebp-EE], 1B 0040190B C685 13FFFFFF F>mov byte ptr [ebp-ED], 0F8 00401912 C685 14FFFFFF C>mov byte ptr [ebp-EC], 0C1 00401919 C685 15FFFFFF 6>mov byte ptr [ebp-EB], 6B 00401920 C685 16FFFFFF D>mov byte ptr [ebp-EA], 0DC 00401927 C685 17FFFFFF E>mov byte ptr [ebp-E9], 0E0 0040192E C685 18FFFFFF A>mov byte ptr [ebp-E8], 0A1 00401935 C685 19FFFFFF E>mov byte ptr [ebp-E7], 0E4 0040193C C685 1AFFFFFF 9>mov byte ptr [ebp-E6], 9F 00401943 C685 1BFFFFFF 9>mov byte ptr [ebp-E5], 97 0040194A C685 1CFFFFFF 8>mov byte ptr [ebp-E4], 85 00401951 C685 1DFFFFFF 9>mov byte ptr [ebp-E3], 9B 00401958 C685 1EFFFFFF B>mov byte ptr [ebp-E2], 0BA 0040195F C685 1FFFFFFF 3>mov byte ptr [ebp-E1], 36 00401966 889D 20FFFFFF mov byte ptr [ebp-E0], bl 0040196C C685 21FFFFFF 2>mov byte ptr [ebp-DF], 2C 00401973 C685 22FFFFFF 3>mov byte ptr [ebp-DE], 39 0040197A C685 23FFFFFF 7>mov byte ptr [ebp-DD], 7C 00401981 C685 24FFFFFF 7>mov byte ptr [ebp-DC], 79 00401988 C685 25FFFFFF E>mov byte ptr [ebp-DB], 0E6 0040198F C685 26FFFFFF A>mov byte ptr [ebp-DA], 0A4 00401996 888D 27FFFFFF mov byte ptr [ebp-D9], cl 0040199C C685 28FFFFFF 3>mov byte ptr [ebp-D8], 37 004019A3 C685 29FFFFFF E>mov byte ptr [ebp-D7], 0ED 004019AA C685 2AFFFFFF F>mov byte ptr [ebp-D6], 0F7 004019B1 C685 2BFFFFFF C>mov byte ptr [ebp-D5], 0CA 004019B8 C685 2CFFFFFF 1>mov byte ptr [ebp-D4], 16 004019BF C685 2DFFFFFF F>mov byte ptr [ebp-D3], 0F3 004019C6 C685 2EFFFFFF 7>mov byte ptr [ebp-D2], 71 004019CD C685 2FFFFFFF 2>mov byte ptr [ebp-D1], 2B 004019D4 C685 30FFFFFF C>mov byte ptr [ebp-D0], 0C6 004019DB C685 31FFFFFF D>mov byte ptr [ebp-CF], 0D1 004019E2 C685 32FFFFFF 3>mov byte ptr [ebp-CE], 38 004019E9 C685 33FFFFFF 1>mov byte ptr [ebp-CD], 1C 004019F0 C685 34FFFFFF 1>mov byte ptr [ebp-CC], 12 004019F7 8895 35FFFFFF mov byte ptr [ebp-CB], dl 004019FD C685 36FFFFFF 3>mov byte ptr [ebp-CA], 32 00401A04 C685 37FFFFFF 2>mov byte ptr [ebp-C9], 24 00401A0B C685 38FFFFFF A>mov byte ptr [ebp-C8], 0AA 00401A12 C685 39FFFFFF 1>mov byte ptr [ebp-C7], 15 00401A19 C685 3AFFFFFF 8>mov byte ptr [ebp-C6], 81 00401A20 C685 3BFFFFFF 8>mov byte ptr [ebp-C5], 8C 00401A27 B1 5B mov cl, 5B 00401A29 888D 3EFFFFFF mov byte ptr [ebp-C2], cl 00401A2F 888D 3FFFFFFF mov byte ptr [ebp-C1], cl 00401A35 B1 54 mov cl, 54 00401A37 889D 4BFFFFFF mov byte ptr [ebp-B5], bl 00401A3D 8885 52FFFFFF mov byte ptr [ebp-AE], al 00401A43 B0 BE mov al, 0BE 00401A45 889D 64FFFFFF mov byte ptr [ebp-9C], bl 00401A4B 885D 81 mov byte ptr [ebp-7F], bl 00401A4E B3 99 mov bl, 99 00401A50 C685 3CFFFFFF 5>mov byte ptr [ebp-C4], 5C 00401A57 C685 3DFFFFFF C>mov byte ptr [ebp-C3], 0C8 00401A5E C685 40FFFFFF 1>mov byte ptr [ebp-C0], 1F 00401A65 C685 41FFFFFF C>mov byte ptr [ebp-BF], 0C5 00401A6C 888D 42FFFFFF mov byte ptr [ebp-BE], cl 00401A72 C685 43FFFFFF 7>mov byte ptr [ebp-BD], 77 00401A79 C685 44FFFFFF 5>mov byte ptr [ebp-BC], 56 00401A80 C685 45FFFFFF 1>mov byte ptr [ebp-BB], 13 00401A87 C685 46FFFFFF 5>mov byte ptr [ebp-BA], 55 00401A8E C685 47FFFFFF 6>mov byte ptr [ebp-B9], 69 00401A95 C685 48FFFFFF 0>mov byte ptr [ebp-B8], 7 00401A9C C685 49FFFFFF 9>mov byte ptr [ebp-B7], 95 00401AA3 C685 4AFFFFFF E>mov byte ptr [ebp-B6], 0E9 00401AAA C685 4CFFFFFF F>mov byte ptr [ebp-B4], 0F2 00401AB1 C685 4DFFFFFF 6>mov byte ptr [ebp-B3], 66 00401AB8 C685 4EFFFFFF 4>mov byte ptr [ebp-B2], 4A 00401ABF C685 4FFFFFFF D>mov byte ptr [ebp-B1], 0D9 00401AC6 888D 50FFFFFF mov byte ptr [ebp-B0], cl 00401ACC C685 51FFFFFF 2>mov byte ptr [ebp-AF], 2E 00401AD3 C685 53FFFFFF B>mov byte ptr [ebp-AD], 0B9 00401ADA C685 54FFFFFF 3>mov byte ptr [ebp-AC], 33 00401AE1 C685 55FFFFFF C>mov byte ptr [ebp-AB], 0C4 00401AE8 C685 56FFFFFF B>mov byte ptr [ebp-AA], 0B2 00401AEF C685 57FFFFFF E>mov byte ptr [ebp-A9], 0E5 00401AF6 C685 58FFFFFF 3>mov byte ptr [ebp-A8], 3D 00401AFD C685 59FFFFFF 0>mov byte ptr [ebp-A7], 8 00401B04 C685 5AFFFFFF 9>mov byte ptr [ebp-A6], 92 00401B0B C685 5BFFFFFF 8>mov byte ptr [ebp-A5], 8B 00401B12 C685 5CFFFFFF 7>mov byte ptr [ebp-A4], 73 00401B19 C685 5DFFFFFF C>mov byte ptr [ebp-A3], 0CA 00401B20 C685 5EFFFFFF 1>mov byte ptr [ebp-A2], 10 00401B27 C685 5FFFFFFF A>mov byte ptr [ebp-A1], 0A6 00401B2E C685 60FFFFFF 6>mov byte ptr [ebp-A0], 6F 00401B35 C685 61FFFFFF F>mov byte ptr [ebp-9F], 0F9 00401B3C C685 62FFFFFF 5>mov byte ptr [ebp-9E], 59 00401B43 C685 63FFFFFF F>mov byte ptr [ebp-9D], 0FC 00401B4A 8885 65FFFFFF mov byte ptr [ebp-9B], al 00401B50 C685 66FFFFFF 6>mov byte ptr [ebp-9A], 6F 00401B57 C685 67FFFFFF 2>mov byte ptr [ebp-99], 21 00401B5E C685 68FFFFFF C>mov byte ptr [ebp-98], 0C9 00401B65 C685 69FFFFFF 3>mov byte ptr [ebp-97], 30 00401B6C C685 6AFFFFFF 2>mov byte ptr [ebp-96], 2D 00401B73 C685 6BFFFFFF D>mov byte ptr [ebp-95], 0D3 00401B7A C685 6CFFFFFF B>mov byte ptr [ebp-94], 0BF 00401B81 C685 6DFFFFFF D>mov byte ptr [ebp-93], 0D7 00401B88 C685 6EFFFFFF 6>mov byte ptr [ebp-92], 6B 00401B8F C685 6FFFFFFF F>mov byte ptr [ebp-91], 0F4 00401B96 C685 70FFFFFF 1>mov byte ptr [ebp-90], 1A 00401B9D 8885 71FFFFFF mov byte ptr [ebp-8F], al 00401BA3 C685 72FFFFFF F>mov byte ptr [ebp-8E], 0F0 00401BAA C685 73FFFFFF 2>mov byte ptr [ebp-8D], 25 00401BB1 C685 74FFFFFF 5>mov byte ptr [ebp-8C], 5F 00401BB8 C685 75FFFFFF E>mov byte ptr [ebp-8B], 0EB 00401BBF C685 76FFFFFF E>mov byte ptr [ebp-8A], 0EA 00401BC6 C685 77FFFFFF B>mov byte ptr [ebp-89], 0B2 00401BCD C685 78FFFFFF 9>mov byte ptr [ebp-88], 94 00401BD4 C685 79FFFFFF 0>mov byte ptr [ebp-87], 2 00401BDB C685 7AFFFFFF 0>mov byte ptr [ebp-86], 5 00401BE2 C685 7BFFFFFF 1>mov byte ptr [ebp-85], 1D 00401BE9 C685 7CFFFFFF A>mov byte ptr [ebp-84], 0A7 00401BF0 C685 7DFFFFFF 2>mov byte ptr [ebp-83], 22 00401BF7 C685 7EFFFFFF 9>mov byte ptr [ebp-82], 91 00401BFE C685 7FFFFFFF 3>mov byte ptr [ebp-81], 34 00401C05 8845 80 mov byte ptr [ebp-80], al 00401C08 8845 82 mov byte ptr [ebp-7E], al 00401C0B C645 83 EF mov byte ptr [ebp-7D], 0EF 00401C0F 885D 84 mov byte ptr [ebp-7C], bl 00401C12 C645 85 A4 mov byte ptr [ebp-7B], 0A4 00401C16 C645 86 1D mov byte ptr [ebp-7A], 1D 00401C1A C645 87 73 mov byte ptr [ebp-79], 73 00401C1E C645 88 CE mov byte ptr [ebp-78], 0CE 00401C22 8845 8B mov byte ptr [ebp-75], al 00401C25 B0 4E mov al, 4E 00401C27 885D 93 mov byte ptr [ebp-6D], bl 00401C2A 8845 A4 mov byte ptr [ebp-5C], al 00401C2D 8845 A9 mov byte ptr [ebp-57], al 00401C30 B3 FA mov bl, 0FA 00401C32 B0 DD mov al, 0DD 00401C34 C645 89 75 mov byte ptr [ebp-77], 75 00401C38 C645 8A A1 mov byte ptr [ebp-76], 0A1 00401C3C C645 8C 42 mov byte ptr [ebp-74], 42 00401C40 C645 8D 12 mov byte ptr [ebp-73], 12 00401C44 C645 8E 1A mov byte ptr [ebp-72], 1A 00401C48 C645 8F 93 mov byte ptr [ebp-71], 93 00401C4C C645 90 F8 mov byte ptr [ebp-70], 0F8 00401C50 C645 91 8D mov byte ptr [ebp-6F], 8D 00401C54 C645 92 C1 mov byte ptr [ebp-6E], 0C1 00401C58 C645 94 A3 mov byte ptr [ebp-6C], 0A3 00401C5C C645 95 CB mov byte ptr [ebp-6B], 0CB 00401C60 C645 96 E9 mov byte ptr [ebp-6A], 0E9 00401C64 C645 97 91 mov byte ptr [ebp-69], 91 00401C68 C645 98 AF mov byte ptr [ebp-68], 0AF 00401C6C C645 99 6F mov byte ptr [ebp-67], 6F 00401C70 C645 9A BC mov byte ptr [ebp-66], 0BC 00401C74 C645 9B 14 mov byte ptr [ebp-65], 14 00401C78 884D 9C mov byte ptr [ebp-64], cl 00401C7B C645 9D 8B mov byte ptr [ebp-63], 8B 00401C7F C645 9E 94 mov byte ptr [ebp-62], 94 00401C83 C645 9F 0B mov byte ptr [ebp-61], 0B 00401C87 C645 A0 83 mov byte ptr [ebp-60], 83 00401C8B C645 A1 70 mov byte ptr [ebp-5F], 70 00401C8F C645 A2 E2 mov byte ptr [ebp-5E], 0E2 00401C93 C645 A3 60 mov byte ptr [ebp-5D], 60 00401C97 C645 A5 AB mov byte ptr [ebp-5B], 0AB 00401C9B C645 A6 3A mov byte ptr [ebp-5A], 3A 00401C9F C645 A7 AA mov byte ptr [ebp-59], 0AA 00401CA3 C645 A8 32 mov byte ptr [ebp-58], 32 00401CA7 C645 AA 50 mov byte ptr [ebp-56], 50 00401CAB C645 AB 71 mov byte ptr [ebp-55], 71 00401CAF C645 AC 24 mov byte ptr [ebp-54], 24 00401CB3 C645 AD 04 mov byte ptr [ebp-53], 4 00401CB7 C645 AE 19 mov byte ptr [ebp-52], 19 00401CBB C645 AF DE mov byte ptr [ebp-51], 0DE 00401CBF C645 B0 59 mov byte ptr [ebp-50], 59 00401CC3 C645 B1 B2 mov byte ptr [ebp-4F], 0B2 00401CC7 C645 B2 8B mov byte ptr [ebp-4E], 8B 00401CCB C645 B3 9B mov byte ptr [ebp-4D], 9B 00401CCF C645 B4 6E mov byte ptr [ebp-4C], 6E 00401CD3 C645 B5 17 mov byte ptr [ebp-4B], 17 00401CD7 885D B6 mov byte ptr [ebp-4A], bl 00401CDA C645 B7 11 mov byte ptr [ebp-49], 11 00401CDE 8845 B8 mov byte ptr [ebp-48], al 00401CE1 C645 B9 C1 mov byte ptr [ebp-47], 0C1 00401CE5 C645 BA 1A mov byte ptr [ebp-46], 1A 00401CE9 C645 BB 87 mov byte ptr [ebp-45], 87 00401CED C645 BC EE mov byte ptr [ebp-44], 0EE 00401CF1 C645 BD 43 mov byte ptr [ebp-43], 43 00401CF5 C645 BE AB mov byte ptr [ebp-42], 0AB 00401CF9 884D BF mov byte ptr [ebp-41], cl 00401CFC C645 C0 5D mov byte ptr [ebp-40], 5D 00401D00 C645 C1 A6 mov byte ptr [ebp-3F], 0A6 00401D04 C645 C2 CA mov byte ptr [ebp-3E], 0CA 00401D08 C645 C3 F1 mov byte ptr [ebp-3D], 0F1 00401D0C 8855 C4 mov byte ptr [ebp-3C], dl 00401D0F C645 C5 03 mov byte ptr [ebp-3B], 3 00401D13 C645 C6 E0 mov byte ptr [ebp-3A], 0E0 00401D17 C645 C7 C1 mov byte ptr [ebp-39], 0C1 00401D1B C645 C8 E5 mov byte ptr [ebp-38], 0E5 00401D1F C645 C9 5F mov byte ptr [ebp-37], 5F 00401D23 C645 CA FF mov byte ptr [ebp-36], 0FF 00401D27 885D CB mov byte ptr [ebp-35], bl 00401D2A C645 CC C0 mov byte ptr [ebp-34], 0C0 00401D2E C645 CD 4F mov byte ptr [ebp-33], 4F 00401D32 C645 CE AE mov byte ptr [ebp-32], 0AE 00401D36 C645 CF 29 mov byte ptr [ebp-31], 29 00401D3A C645 D0 C2 mov byte ptr [ebp-30], 0C2 00401D3E C645 D1 03 mov byte ptr [ebp-2F], 3 00401D42 C645 D2 E4 mov byte ptr [ebp-2E], 0E4 00401D46 C645 D3 79 mov byte ptr [ebp-2D], 79 00401D4A C645 D4 23 mov byte ptr [ebp-2C], 23 00401D4E C645 D5 CC mov byte ptr [ebp-2B], 0CC 00401D52 C645 D6 9E mov byte ptr [ebp-2A], 9E 00401D56 83EC 04 sub esp, 4 00401D59 C70424 3F000000 mov dword ptr [esp], 3F 00401D60 8845 DB mov byte ptr [ebp-25], al 00401D63 8845 E4 mov byte ptr [ebp-1C], al 00401D66 8D85 ADFEFFFF lea eax, dword ptr [ebp-153] 00401D6C 83EC 04 sub esp, 4 00401D6F C70424 00000000 mov dword ptr [esp], 0 00401D76 50 push eax 00401D77 C645 D7 7C mov byte ptr [ebp-29], 7C 00401D7B C645 D8 E8 mov byte ptr [ebp-28], 0E8 00401D7F C645 D9 21 mov byte ptr [ebp-27], 21 00401D83 C645 DA 3C mov byte ptr [ebp-26], 3C 00401D87 C645 DC 31 mov byte ptr [ebp-24], 31 00401D8B C645 DD CD mov byte ptr [ebp-23], 0CD 00401D8F C645 DE C3 mov byte ptr [ebp-22], 0C3 00401D93 C645 DF A8 mov byte ptr [ebp-21], 0A8 00401D97 C645 E0 1D mov byte ptr [ebp-20], 1D 00401D9B 8855 E1 mov byte ptr [ebp-1F], dl 00401D9E C645 E2 02 mov byte ptr [ebp-1E], 2 00401DA2 C645 E3 5C mov byte ptr [ebp-1D], 5C 00401DA6 C645 E5 BA mov byte ptr [ebp-1B], 0BA 00401DAA C645 E6 B1 mov byte ptr [ebp-1A], 0B1 00401DAE C645 E7 D7 mov byte ptr [ebp-19], 0D7 00401DB2 C645 E8 2A mov byte ptr [ebp-18], 2A 00401DB6 C645 E9 AC mov byte ptr [ebp-17], 0AC 00401DBA C645 EA 9D mov byte ptr [ebp-16], 9D 00401DBE C645 EB 38 mov byte ptr [ebp-15], 38 00401DC2 C645 EC 20 mov byte ptr [ebp-14], 20 00401DC6 C645 ED B9 mov byte ptr [ebp-13], 0B9 00401DCA C645 EE 3D mov byte ptr [ebp-12], 3D 00401DCE C645 EF 86 mov byte ptr [ebp-11], 86 00401DD2 C645 F0 45 mov byte ptr [ebp-10], 45 00401DD6 C645 F1 3A mov byte ptr [ebp-F], 3A 00401DDA 8855 F2 mov byte ptr [ebp-E], dl 00401DDD C645 F3 41 mov byte ptr [ebp-D], 41 00401DE1 C685 ACFEFFFF 0>mov byte ptr [ebp-154], 0 00401DE8 E8 B3630C00 call 004C81A0 00401DED 83EC 04 sub esp, 4 00401DF0 C70424 3F000000 mov dword ptr [esp], 3F 00401DF7 8D8D 6DFEFFFF lea ecx, dword ptr [ebp-193] 00401DFD 83EC 04 sub esp, 4 00401E00 C70424 00000000 mov dword ptr [esp], 0 00401E07 51 push ecx 00401E08 C685 6CFEFFFF 0>mov byte ptr [ebp-194], 0 00401E0F E8 8C630C00 call 004C81A0 00401E14 8BC6 mov eax, esi
;WORD字符,所以2个字节为一个字符: 00406BBD 8D48 02 lea ecx, dword ptr [eax+2] 00406BC0 66:8B10 mov dx, word ptr [eax] inc eax inc eax
; 00409719 66:85D2 test dx, dx ;检测是否为结尾 0040971C ^ 0F85 9ED4FFFF jnz 00406BC0 00409722 2BC1 sub eax, ecx 00409724 D1F8 sar eax, 1 ;计算出字符串长度 00409726 8BD8 mov ebx, eax 00409728 8BCF mov ecx, edi 0040972A 895D F8 mov dword ptr [ebp-8], ebx 0040972D 8D51 02 lea edx, dword ptr [ecx+2] 00409730 8D2424 lea esp, dword ptr [esp] 00409733 66:8B01 mov ax, word ptr [ecx] inc ecx inc ecx
; 0040E4ED 66:85C0 test ax, ax 0040E4F0 ^ 0F85 3DB2FFFF jnz 00409733 0040E4F6 2BCA sub ecx, edx 0040E4F8 D1F9 sar ecx, 1 ;计算出KEY长度 0040E4FA 85DB test ebx, ebx 0040E4FC 0F84 289B0B00 je 004C802A 0040E502 81F9 80000000 cmp ecx, 80 ;KEY为0x80长度 0040E508 0F85 1C9B0B00 jnz 004C802A 0040E50E 83FB 20 cmp ebx, 20 ;USER为0x20长度 0040E511 0F87 139B0B00 ja 004C802A 0040E517 8B4D 0C mov ecx, dword ptr [ebp+C] ; param2 0040E51A 0FB6D1 movzx edx, cl 0040E51D 2BCA sub ecx, edx 0040E51F 8BD9 mov ebx, ecx 0040E521 8BC3 mov eax, ebx 0040E523 C1E8 08 shr eax, 8 0040E526 899D ECFEFFFF mov dword ptr [ebp-114], ebx 0040E52C 8985 F0FEFFFF mov dword ptr [ebp-110], eax
; 0046DEE9 8D85 28FEFFFF lea eax, dword ptr [ebp-1D8] ; 0046DEEF 8BCE mov ecx, esi ;用户名 0046DEF1 2BC6 sub eax, esi 0046DEF3 EB 10 jmp short 0046DF05
; 0046DF05 0FB711 movzx edx, word ptr [ecx] 0046DF08 66:891401 mov word ptr [ecx+eax], dx ;保存用户名 inc ecx inc ecx ; 0047344F 66:85D2 test dx, dx 00473452 ^ 0F85 ADAAFFFF jnz 0046DF05 00473458 8D85 24FDFFFF lea eax, dword ptr [ebp-2DC] 0047345E 8BCF mov ecx, edi 00473460 2BC7 sub eax, edi 00473462 8D2424 lea esp, dword ptr [esp] 00473465 0FB711 movzx edx, word ptr [ecx] 00473468 66:891401 mov word ptr [ecx+eax], dx inc ecx inc ecx
; 0047789B 66:85D2 test dx, dx 0047789E ^ 0F85 C1BBFFFF jnz 00473465 004778A4 33C9 xor ecx, ecx 004778A6 0FB7944D 24FDFF>movzx edx, word ptr [ebp+ecx*2-2DC] 004778AE F6C1 01 test cl, 1 004778B1 0F85 83000000 jnz 0047793A 004778B7 66:83FA 30 cmp dx, 30 004778BB 72 24 jb short 004778E1 004778BD 66:83FA 39 cmp dx, 39 004778C1 77 1E ja short 004778E1 004778C3 8BC1 mov eax, ecx 004778C5 D1E8 shr eax, 1 004778C7 8D9428 ACFEFFFF lea edx, dword ptr [eax+ebp-154] 004778CE 8A844D 24FDFFFF mov al, byte ptr [ebp+ecx*2-2DC] 004778D5 2C 30 sub al, 30 004778D7 8802 mov byte ptr [edx], al 004778D9 C022 04 shl byte ptr [edx], 4 004778DC E9 B6000000 jmp 00477997 004778E1 66:83FA 61 cmp dx, 61 004778E5 72 24 jb short 0047790B 004778E7 66:83FA 66 cmp dx, 66 004778EB 77 1E ja short 0047790B 004778ED 8A844D 24FDFFFF mov al, byte ptr [ebp+ecx*2-2DC] 004778F4 8BD1 mov edx, ecx 004778F6 D1EA shr edx, 1 004778F8 2C 57 sub al, 57 004778FA 8D942A ACFEFFFF lea edx, dword ptr [edx+ebp-154] 00477901 8802 mov byte ptr [edx], al 00477903 C022 04 shl byte ptr [edx], 4 00477906 E9 8C000000 jmp 00477997 0047790B 66:83FA 41 cmp dx, 41 0047790F 0F82 15070500 jb 004C802A 00477915 66:83FA 46 cmp dx, 46 00477919 0F87 0B070500 ja 004C802A 0047791F 8A844D 24FDFFFF mov al, byte ptr [ebp+ecx*2-2DC] 00477926 8BD1 mov edx, ecx 00477928 D1EA shr edx, 1 0047792A 2C 37 sub al, 37 0047792C 8D942A ACFEFFFF lea edx, dword ptr [edx+ebp-154] 00477933 8802 mov byte ptr [edx], al 00477935 C022 04 shl byte ptr [edx], 4 00477938 EB 5D jmp short 00477997 0047793A 66:83FA 30 cmp dx, 30 0047793E 72 11 jb short 00477951 00477940 66:83FA 39 cmp dx, 39 00477944 77 0B ja short 00477951 00477946 8A844D 24FDFFFF mov al, byte ptr [ebp+ecx*2-2DC] 0047794D 2C 30 sub al, 30 0047794F EB 34 jmp short 00477985 00477951 66:83FA 61 cmp dx, 61 00477955 72 11 jb short 00477968 00477957 66:83FA 66 cmp dx, 66 0047795B 77 0B ja short 00477968 0047795D 8A844D 24FDFFFF mov al, byte ptr [ebp+ecx*2-2DC] 00477964 2C 57 sub al, 57 00477966 EB 1D jmp short 00477985 00477968 66:83FA 41 cmp dx, 41 0047796C 0F82 B8060500 jb 004C802A 00477972 66:83FA 46 cmp dx, 46 00477976 0F87 AE060500 ja 004C802A 0047797C 8A844D 24FDFFFF mov al, byte ptr [ebp+ecx*2-2DC] 00477983 2C 37 sub al, 37 00477985 8BD1 mov edx, ecx 00477987 D1EA shr edx, 1 00477989 00842A ACFEFFFF add byte ptr [edx+ebp-154], al 00477990 8D942A ACFEFFFF lea edx, dword ptr [edx+ebp-154] 00477997 inc ecx
;上面的代码意思就是把KEY转换成字节,如"abcd",0xAB,0xCD ; 004888BE 81F9 80000000 cmp ecx, 80 004888C4 ^ 0F82 DCEFFEFF jb 004778A6 004888CA 8A8D 28FEFFFF mov cl, byte ptr [ebp-1D8] 004888D0 328D ACFEFFFF xor cl, byte ptr [ebp-154] ;字节KEY和用户名XOR 004888D6 8B75 F8 mov esi, dword ptr [ebp-8] 004888D9 888D 6CFEFFFF mov byte ptr [ebp-194], cl 004888DF B9 01000000 mov ecx, 1 004888E4 3BF1 cmp esi, ecx 004888E6 0F86 DAE60000 jbe 00496FC6 004888EC 8D09 lea ecx, dword ptr [ecx] 004888EE 8A944D 28FEFFFF mov dl, byte ptr [ebp+ecx*2-1D8] 004888F5 329429 ABFEFFFF xor dl, byte ptr [ecx+ebp-155] inc ecx ; 00496FA7 329429 ABFEFFFF xor dl, byte ptr [ecx+ebp-155] 00496FAE 889429 6BFEFFFF mov byte ptr [ecx+ebp-195], dl 00496FB5 3BCE cmp ecx, esi 00496FB7 ^ 0F82 3119FFFF jb 004888EE 00496FBD 83F9 40 cmp ecx, 40 00496FC0 0F83 10FA0000 jnb 004A69D6 00496FC6 8D85 6CFEFFFF lea eax, dword ptr [ebp-194] 00496FCC 8D95 ACFEFFFF lea edx, dword ptr [ebp-154] 00496FD2 2BC2 sub eax, edx 00496FD4 EB 10 jmp short 00496FE6
; 00496FE6 8A9429 ABFEFFFF mov dl, byte ptr [ecx+ebp-155] 00496FED 329429 ACFEFFFF xor dl, byte ptr [ecx+ebp-154] 00496FF4 8D3401 lea esi, dword ptr [ecx+eax] inc ecx
;和字节用户名XOR: 004A69C6 88942E ACFEFFFF mov byte ptr [esi+ebp-154], dl 004A69CD 83F9 40 cmp ecx, 40 004A69D0 ^ 0F82 1006FFFF jb 00496FE6 004A69D6 83EC 04 sub esp, 4 004A69D9 C70424 00010000 mov dword ptr [esp], 100 ;push 0x100 004A69E0 E8 84180200 call 004C8269 004A69E5 8BF8 mov edi, eax 004A69E7 53 push ebx 004A69E8 897D 0C mov dword ptr [ebp+C], edi 004A69EB E8 79180200 call 004C8269 004A69F0 B9 40000000 mov ecx, 40 004A69F5 8DB5 F4FEFFFF lea esi, dword ptr [ebp-10C] 004A69FB F3:A5 rep movs dword ptr es:[edi], dword ptr es:[esi] 004A69FD 8B7D 0C mov edi, dword ptr [ebp+C] 004A6A00 BA 02000000 mov edx, 2 004A6A05 2BD7 sub edx, edi 004A6A07 8955 F8 mov dword ptr [ebp-8], edx 004A6A0A B9 01000000 mov ecx, 1 004A6A0F BA 03000000 mov edx, 3
; 004AB5AB 33F6 xor esi, esi 004AB5AD 2BCF sub ecx, edi 004AB5AF 2BD7 sub edx, edi 004AB5B1 8BD8 mov ebx, eax 004AB5B3 8BC7 mov eax, edi 004AB5B5 8955 F4 mov dword ptr [ebp-C], edx 004AB5B8 EB 10 jmp short 004AB5CA
; 004AB5CA 8BD6 mov edx, esi 004AB5CC 83E2 3F and edx, 3F 004AB5CF 0FB6942A 6CFEFF>movzx edx, byte ptr [edx+ebp-194] ;KEY XOR USER 004AB5D7 3010 xor byte ptr [eax], dl 004AB5D9 8D1408 lea edx, dword ptr [eax+ecx] 004AB5DC 83E2 3F and edx, 3F 004AB5DF 0FB6942A 6CFEFF>movzx edx, byte ptr [edx+ebp-194] 004AB5E7 3050 01 xor byte ptr [eax+1], dl 004AB5EA 8B55 F8 mov edx, dword ptr [ebp-8] 004AB5ED 03D0 add edx, eax 004AB5EF 83E2 3F and edx, 3F 004AB5F2 0FB6942A 6CFEFF>movzx edx, byte ptr [edx+ebp-194] 004AB5FA 3050 02 xor byte ptr [eax+2], dl 004AB5FD 8B55 F4 mov edx, dword ptr [ebp-C] 004AB600 03D0 add edx, eax 004AB602 83E2 3F and edx, 3F 004AB605 0FB6942A 6CFEFF>movzx edx, byte ptr [edx+ebp-194] 004AB60D 3050 03 xor byte ptr [eax+3], dl add esi, 4 add eax, 4 ; 004B1239 81FE 00010000 cmp esi, 100 004B123F ^ 0F82 85A3FFFF jb 004AB5CA 004B1245 33C9 xor ecx, ecx 004B1247 894D F8 mov dword ptr [ebp-8], ecx 004B124A 398D F0FEFFFF cmp dword ptr [ebp-110], ecx 004B1250 0F86 DC230100 jbe 004C3632 004B1256 8B45 08 mov eax, dword ptr [ebp+8] inc eax
; 004B68BB 8D2424 lea esp, dword ptr [esp] 004B68BE 8D77 01 lea esi, dword ptr [edi+1] 004B68C1 C1E1 08 shl ecx, 8 004B68C4 C745 F4 4000000>mov dword ptr [ebp-C], 40 004B68CB 8D09 lea ecx, dword ptr [ecx] 004B68CD 0FB656 FF movzx edx, byte ptr [esi-1] 004B68D1 8945 FC mov dword ptr [ebp-4], eax 004B68D4 0FB640 FF movzx eax, byte ptr [eax-1] 004B68D8 03D3 add edx, ebx 004B68DA 880411 mov byte ptr [ecx+edx], al 004B68DD 8B45 FC mov eax, dword ptr [ebp-4] 004B68E0 0FB616 movzx edx, byte ptr [esi] 004B68E3 8945 FC mov dword ptr [ebp-4], eax 004B68E6 0FB600 movzx eax, byte ptr [eax] 004B68E9 03D3 add edx, ebx 004B68EB 880411 mov byte ptr [ecx+edx], al 004B68EE 8B45 FC mov eax, dword ptr [ebp-4] 004B68F1 0FB656 01 movzx edx, byte ptr [esi+1] 004B68F5 8945 FC mov dword ptr [ebp-4], eax 004B68F8 0FB640 01 movzx eax, byte ptr [eax+1] 004B68FC 03D3 add edx, ebx 004B68FE 880411 mov byte ptr [ecx+edx], al 004B6901 0FB656 02 movzx edx, byte ptr [esi+2] 004B6905 8B45 FC mov eax, dword ptr [ebp-4] 004B6908 03D3 add edx, ebx 004B690A 895D FC mov dword ptr [ebp-4], ebx 004B690D 8A58 02 mov bl, byte ptr [eax+2] add eax, 4 add esi, 4
; 004BCC12 836D F4 01 sub dword ptr [ebp-C], 1 004BCC16 881C11 mov byte ptr [ecx+edx], bl 004BCC19 8B5D FC mov ebx, dword ptr [ebp-4] 004BCC1C ^ 0F85 AB9CFFFF jnz 004B68CD 004BCC22 8B4D F8 mov ecx, dword ptr [ebp-8] 004BCC25 8B7D 0C mov edi, dword ptr [ebp+C] inc ecx
; 004C3623 894D F8 mov dword ptr [ebp-8], ecx 004C3626 3B8D F0FEFFFF cmp ecx, dword ptr [ebp-110] 004C362C ^ 0F82 8C32FFFF jb 004B68BE 004C3632 8B85 ECFEFFFF mov eax, dword ptr [ebp-114] 004C3638 8B4D 08 mov ecx, dword ptr [ebp+8] 004C363B 50 push eax 004C363C 53 push ebx 004C363D 51 push ecx 004C363E E8 FD4C0000 call 004C8340 004C3643 57 push edi 004C3644 E8 5C500000 call 004C86A5 004C3649 53 push ebx 004C364A E8 56500000 call 004C86A5 add esp, 0x14 ; 004C802A 5F pop edi ; cl_Crack.004D1C52 004C802B 5E pop esi 004C802C 5B pop ebx 004C802D 8BE5 mov esp, ebp 004C802F 5D pop ebp 004C8030 C2 0800 retn 8
最近蛮烦的,疯狂下载APE解闷,越解越闷.哎~~~!生活总是压力下的折磨~~!
今天一边吃饭一见看了一下,写了一小段伪代码,比较高兴的是,我用VS2003编译出完全一样的结果,有兴趣的可以看下:
int XorEDB88320() { unsigned long num = 0; while( num < 0x100 ) { unsigned long nA = num; nA = nA >> 0x01;
if( (num & 1) ){ nA ^= 0xEDB88320; } if( (nA & 1) ){ nA >>= 1; nA ^= 0xEDB88320;} else{ nA >>= 1; }
if( (nA & 1) ){ nA >>= 1; nA ^= 0xEDB88320;} else{ nA >>= 1; }
if( (nA & 1) ){ nA >>= 1; nA ^= 0xEDB88320;} else{ nA >>= 1; }
if( (nA & 1) ){ nA >>= 1; nA ^= 0xEDB88320;} else{ nA >>= 1; }
if( (nA & 1) ){ nA >>= 1; nA ^= 0xEDB88320;} else{ nA >>= 1; }
if( (nA & 1) ){ nA >>= 1; nA ^= 0xEDB88320;} else{ nA >>= 1; }
if( (nA & 1) ){ nA >>= 1; nA ^= 0xEDB88320;} else{ nA >>= 1; }
g_ulXorEDB88320Key[num] = nA; num ++; }
return 0; }
|