首页
论坛
专栏
课程

[调试逆向] [原创]逆向 奇迹MU 某变态辅助功能代码

2016-12-15 10:26 11358

[调试逆向] [原创]逆向 奇迹MU 某变态辅助功能代码

2016-12-15 10:26
11358
本人菜B一枚,大神绕道。下面这份汇编是2015年奇迹MU某外挂的全部汇编代码,应该是用的delphi然后加的滴水动态壳,dll是用的内存注入的方法注入到游戏的,dll也是被滴水壳保护了,所以我用了某发包下断回溯了关键的汇编代码。可能写个辅助的人对滴水壳也不很了解只用了滴水壳的动态变形里面的代码只要被OD断下之后代码会全部正确显示原功能汇编代码全程无VM,拷贝下来之后即可开始分析里面的功能。
本人比较菜,所以就附上里面关键代码以及特征。

瞬移及MU封包加密函数:
0EAC0000    55              push ebp
0EAC0001    8BEC            mov ebp,esp
0EAC0003    83EC 28         sub esp,0x28
0EAC0006    8D45 E0         lea eax,dword ptr ss:[ebp-0x20]
0EAC0009    C700 00000000   mov dword ptr ds:[eax],0x0
0EAC000F    C740 04 0100000>mov dword ptr ds:[eax+0x4],0x1
0EAC0016    8B0D C83D2601   mov ecx,dword ptr ds:[0x1263DC8]
0EAC001C    8848 06         mov byte ptr ds:[eax+0x6],cl
0EAC001F    8B4D 08         mov ecx,dword ptr ss:[ebp+0x8]
0EAC0022    8848 07         mov byte ptr ds:[eax+0x7],cl
0EAC0025    8B4D 0C         mov ecx,dword ptr ss:[ebp+0xC]
0EAC0028    8848 08         mov byte ptr ds:[eax+0x8],cl
0EAC002B    6A 01           push 0x1
0EAC002D    50              push eax
0EAC002E    B8 8A576F00     mov eax,0x6F578A                         ; 入口地址
0EAC0033    FFD0            call eax
0EAC0035    C9              leave
0EAC0036    C2 0800         retn 0x8
0EAC0039    55              push ebp
0EAC003A    8BEC            mov ebp,esp
0EAC003C    83EC 40         sub esp,0x40
0EAC003F    8D45 E0         lea eax,dword ptr ss:[ebp-0x20]
0EAC0042    C700 C105DA00   mov dword ptr ds:[eax],0xDA05C1
0EAC0048    8B4D 08         mov ecx,dword ptr ss:[ebp+0x8]
0EAC004B    8848 03         mov byte ptr ds:[eax+0x3],cl
0EAC004E    8B4D 0C         mov ecx,dword ptr ss:[ebp+0xC]
0EAC0051    8848 04         mov byte ptr ds:[eax+0x4],cl
0EAC0054    50              push eax
0EAC0055    B8 7300AC0E     mov eax,0xEAC0073
0EAC005A    FFD0            call eax
0EAC005C    6A 00           push 0x0
0EAC005E    6A 00           push 0x0
0EAC0060    6A 05           push 0x5
0EAC0062    50              push eax
0EAC0063    B8 DF934300     mov eax,0x4393DF                         ; 入口地址
0EAC0068    FFD0            call eax
0EAC006A    83C4 10         add esp,0x10
0EAC006D    C9              leave
0EAC006E    C2 0800         retn 0x8
0EAC0071    55              push ebp
0EAC0072    8BEC            mov ebp,esp
0EAC0074    83EC 40         sub esp,0x40
0EAC0077    8B4D 08         mov ecx,dword ptr ss:[ebp+0x8]
0EAC007A    0FB641 01       movzx eax,byte ptr ds:[ecx+0x1]
0EAC007E    49              dec ecx
0EAC007F    49              dec ecx
0EAC0080    6A 01           push 0x1
0EAC0082    50              push eax
0EAC0083    6A 03           push 0x3
0EAC0085    B8 CB924300     mov eax,0x4392CB
0EAC008A    FFD0            call eax
0EAC008C    8B45 08         mov eax,dword ptr ss:[ebp+0x8]
0EAC008F    C9              leave
0EAC0090    C2 0400         retn 0x4

55 8B EC 83 EC 28 8D 45 E0 C7 00 00 00 00 00 C7 40 04 01 00 00 00 8B 0D C8 3D 26 01 88 48 06 8B
4D 08 88 48 07 8B 4D 0C 88 48 08 6A 01 50 B8 8A 57 6F 00 FF D0 C9 C2 08 00 55 8B EC 83 EC 40 8D
45 E0 C7 00 C1 05 DA 00 8B 4D 08 88 48 03 8B 4D 0C 88 48 04 50 B8 73 00 AC 0E FF D0 6A 00 6A 00
6A 05 50 B8 DF 93 43 00 FF D0 83 C4 10 C9 C2 08 00 55 8B EC 83 EC 40 8B 4D 08 0F B6 41 01 49 49
6A 01 50 6A 03 B8 CB 92 43 00 FF D0 8B 45 08 C9 C2 04 00

调用瞬移

push 64
push 64
call 0EB50000
mov eax,1
push 64
push 64
call 0EB50039

$ ==>    0EFD0000              55              push ebp

006F5826   $  55            push ebp                                 ;  过图call
006F5827   .  8BEC          mov ebp,esp
006F5829   .  6A FF         push -0x1
006F582B   .  68 78D00701   push main.0107D078                       ;  SE 处理程序安装
006F5830   .  64:A1 0000000>mov eax,dword ptr fs:[0]
006F5836   .  50            push eax
006F5837   .  64:8925 00000>mov dword ptr fs:[0],esp
006F583E   .  B8 C81D0100   mov eax,0x11DC8
006F5843   .  E8 D8156800   call main.00D76E20
006F5848   .  A1 389A2901   mov eax,dword ptr ds:[0x1299A38]
006F584D   .  8985 A0ACFFFF mov dword ptr ss:[ebp+0xFFFFACA0],eax
006F5853   .  8B85 A0ACFFFF mov eax,dword ptr ss:[ebp+0xFFFFACA0]
006F5859   .  8A40 08       mov al,byte ptr ds:[eax+0x8]
006F585C   .  8885 9FACFFFF mov byte ptr ss:[ebp+0xFFFFAC9F],al
006F5862   .  0FB685 9FACFF>movzx eax,byte ptr ss:[ebp+0xFFFFAC9F]
006F5869   .  85C0          test eax,eax
006F586B   .  0F84 66120000 je main.006F6AD7
006F5871   .  8D8D 64EBFFFF lea ecx,dword ptr ss:[ebp-0x149C]
006F5877   .  E8 BB38D4FF   call main.00439137
006F587C   .  8365 FC 00    and dword ptr ss:[ebp-0x4],0x0
006F5880   .  C685 EAABFFFF>mov byte ptr ss:[ebp+0xFFFFABEA],0xBF
006F5887   .  C685 EBABFFFF>mov byte ptr ss:[ebp+0xFFFFABEB],0xC1
006F588E   .  33C0          xor eax,eax
006F5890   .  66:8985 64EBF>mov word ptr ss:[ebp-0x149C],ax
006F5897   .  0FB785 64EBFF>movzx eax,word ptr ss:[ebp-0x149C]
006F589E   .  33C9          xor ecx,ecx
006F58A0   .  41            inc ecx
006F58A1   .  0FB7C9        movzx ecx,cx
006F58A4   .  03C1          add eax,ecx
006F58A6   .  3D 5A140000   cmp eax,0x145A
006F58AB   .  7E 05         jle Xmain.006F58B2
006F58AD   .  E9 B8010000   jmp main.006F5A6A
006F58B2   >  33C0          xor eax,eax
006F58B4   .  40            inc eax
006F58B5   .  0FB7C0        movzx eax,ax
006F58B8   .  50            push eax
006F58B9   .  8D85 EBABFFFF lea eax,dword ptr ss:[ebp+0xFFFFABEB]
006F58BF   .  50            push eax
006F58C0   .  0FB785 64EBFF>movzx eax,word ptr ss:[ebp-0x149C]
006F58C7   .  8D8405 66EBFF>lea eax,dword ptr ss:[ebp+eax-0x149A]
006F58CE   .  50            push eax
006F58CF   .  E8 BC0B6800   call main.00D76490
006F58D4   .  83C4 0C       add esp,0xC
006F58D7   .  33C0          xor eax,eax
006F58D9   .  0F84 75010000 je main.006F5A54
006F58DF   .  33C0          xor eax,eax
006F58E1   .  40            inc eax
006F58E2   .  0FB7C0        movzx eax,ax
006F58E5   .  0FB78D 64EBFF>movzx ecx,word ptr ss:[ebp-0x149C]
006F58EC   .  03C8          add ecx,eax
006F58EE   .  898D 70ACFFFF mov dword ptr ss:[ebp+0xFFFFAC70],ecx
006F58F4   .  0FB785 64EBFF>movzx eax,word ptr ss:[ebp-0x149C]
006F58FB   .  8985 74ACFFFF mov dword ptr ss:[ebp+0xFFFFAC74],eax
006F5901   .  C685 7CACFFFF>mov byte ptr ss:[ebp+0xFFFFAC7C],0xAB
006F5908   .  C685 7DACFFFF>mov byte ptr ss:[ebp+0xFFFFAC7D],0x11
006F590F   .  C685 7EACFFFF>mov byte ptr ss:[ebp+0xFFFFAC7E],0xCD
006F5916   .  C685 7FACFFFF>mov byte ptr ss:[ebp+0xFFFFAC7F],0xFE
006F591D   .  C685 80ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC80],0x18
006F5924   .  C685 81ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC81],0x23
006F592B   .  C685 82ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC82],0xC5
006F5932   .  C685 83ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC83],0xA3
006F5939   .  C685 84ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC84],0xCA
006F5940   .  C685 85ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC85],0x33
006F5947   .  C685 86ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC86],0xC1
006F594E   .  C685 87ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC87],0xCC
006F5955   .  C685 88ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC88],0x66
006F595C   .  C685 89ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC89],0x67
006F5963   .  C685 8AACFFFF>mov byte ptr ss:[ebp+0xFFFFAC8A],0x21
006F596A   .  C685 8BACFFFF>mov byte ptr ss:[ebp+0xFFFFAC8B],0xF3
006F5971   .  C685 8CACFFFF>mov byte ptr ss:[ebp+0xFFFFAC8C],0x32
006F5978   .  C685 8DACFFFF>mov byte ptr ss:[ebp+0xFFFFAC8D],0x12
006F597F   .  C685 8EACFFFF>mov byte ptr ss:[ebp+0xFFFFAC8E],0x15
006F5986   .  C685 8FACFFFF>mov byte ptr ss:[ebp+0xFFFFAC8F],0x35
006F598D   .  C685 90ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC90],0x29
006F5994   .  C685 91ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC91],0xFF
006F599B   .  C685 92ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC92],0xFE
006F59A2   .  C685 93ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC93],0x1D
006F59A9   .  C685 94ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC94],0x44
006F59B0   .  C685 95ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC95],0xEF
006F59B7   .  C685 96ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC96],0xCD
006F59BE   .  C685 97ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC97],0x41
006F59C5   .  C685 98ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC98],0x26
006F59CC   .  C685 99ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC99],0x3C
006F59D3   .  C685 9AACFFFF>mov byte ptr ss:[ebp+0xFFFFAC9A],0x4E
006F59DA   .  C685 9BACFFFF>mov byte ptr ss:[ebp+0xFFFFAC9B],0x4D
006F59E1   .  8B85 74ACFFFF mov eax,dword ptr ss:[ebp+0xFFFFAC74]
006F59E7   .  8985 78ACFFFF mov dword ptr ss:[ebp+0xFFFFAC78],eax
006F59ED   .  EB 0D         jmp Xmain.006F59FC
006F59EF   >  8B85 78ACFFFF mov eax,dword ptr ss:[ebp+0xFFFFAC78]
006F59F5   .  40            inc eax
006F59F6   .  8985 78ACFFFF mov dword ptr ss:[ebp+0xFFFFAC78],eax
006F59FC   >  8B85 78ACFFFF mov eax,dword ptr ss:[ebp+0xFFFFAC78]
006F5A02   .  3B85 70ACFFFF cmp eax,dword ptr ss:[ebp+0xFFFFAC70]
006F5A08   .  74 4A         je Xmain.006F5A54
006F5A0A   .  8B85 78ACFFFF mov eax,dword ptr ss:[ebp+0xFFFFAC78]
006F5A10   .  0FB68405 65EB>movzx eax,byte ptr ss:[ebp+eax-0x149B]
006F5A18   .  8B8D 78ACFFFF mov ecx,dword ptr ss:[ebp+0xFFFFAC78]
006F5A1E   .  81E1 1F000080 and ecx,0x8000001F
006F5A24   .  79 05         jns Xmain.006F5A2B
006F5A26   .  49            dec ecx
006F5A27   .  83C9 E0       or ecx,0xFFFFFFE0
006F5A2A   .  41            inc ecx
006F5A2B   >  0FB68C0D 7CAC>movzx ecx,byte ptr ss:[ebp+ecx+0xFFFFAC7>
006F5A33   .  33C1          xor eax,ecx
006F5A35   .  8B8D 78ACFFFF mov ecx,dword ptr ss:[ebp+0xFFFFAC78]
006F5A3B   .  0FB68C0D 66EB>movzx ecx,byte ptr ss:[ebp+ecx-0x149A]
006F5A43   .  33C8          xor ecx,eax
006F5A45   .  8B85 78ACFFFF mov eax,dword ptr ss:[ebp+0xFFFFAC78]
006F5A4B   .  888C05 66EBFF>mov byte ptr ss:[ebp+eax-0x149A],cl
006F5A52   .^ EB 9B         jmp Xmain.006F59EF
006F5A54   >  33C0          xor eax,eax
006F5A56   .  40            inc eax
006F5A57   .  0FB7C0        movzx eax,ax
006F5A5A   .  0FB78D 64EBFF>movzx ecx,word ptr ss:[ebp-0x149C]
006F5A61   .  03C8          add ecx,eax
006F5A63   .  66:898D 64EBF>mov word ptr ss:[ebp-0x149C],cx
006F5A6A   >  8A85 EBABFFFF mov al,byte ptr ss:[ebp+0xFFFFABEB]
006F5A70   .  8885 54E2FEFF mov byte ptr ss:[ebp+0xFFFEE254],al
006F5A76   .  80BD 54E2FEFF>cmp byte ptr ss:[ebp+0xFFFEE254],0xC1
006F5A7D   .  74 12         je Xmain.006F5A91
006F5A7F   .  80BD 54E2FEFF>cmp byte ptr ss:[ebp+0xFFFEE254],0xC2
006F5A86   .  0F84 DD010000 je main.006F5C69
006F5A8C   .  E9 AD030000   jmp main.006F5E3E
006F5A91   >  0FB785 64EBFF>movzx eax,word ptr ss:[ebp-0x149C]
006F5A98   .  33C9          xor ecx,ecx
006F5A9A   .  41            inc ecx
006F5A9B   .  0FB7C9        movzx ecx,cx
006F5A9E   .  03C1          add eax,ecx
006F5AA0   .  3D 5A140000   cmp eax,0x145A
006F5AA5   .  7E 05         jle Xmain.006F5AAC
006F5AA7   .  E9 B8010000   jmp main.006F5C64
006F5AAC   >  33C0          xor eax,eax
006F5AAE   .  40            inc eax
006F5AAF   .  0FB7C0        movzx eax,ax
006F5AB2   .  50            push eax
006F5AB3   .  8D85 64EBFFFF lea eax,dword ptr ss:[ebp-0x149C]
006F5AB9   .  50            push eax
006F5ABA   .  0FB785 64EBFF>movzx eax,word ptr ss:[ebp-0x149C]
006F5AC1   .  8D8405 66EBFF>lea eax,dword ptr ss:[ebp+eax-0x149A]
006F5AC8   .  50            push eax
006F5AC9   .  E8 C2096800   call main.00D76490
006F5ACE   .  83C4 0C       add esp,0xC
006F5AD1   .  33C0          xor eax,eax
006F5AD3   .  0F84 75010000 je main.006F5C4E
006F5AD9   .  33C0          xor eax,eax
006F5ADB   .  40            inc eax
006F5ADC   .  0FB7C0        movzx eax,ax
006F5ADF   .  0FB78D 64EBFF>movzx ecx,word ptr ss:[ebp-0x149C]
006F5AE6   .  03C8          add ecx,eax
006F5AE8   .  898D 44ACFFFF mov dword ptr ss:[ebp+0xFFFFAC44],ecx
006F5AEE   .  0FB785 64EBFF>movzx eax,word ptr ss:[ebp-0x149C]
006F5AF5   .  8985 48ACFFFF mov dword ptr ss:[ebp+0xFFFFAC48],eax
006F5AFB   .  C685 50ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC50],0xAB
006F5B02   .  C685 51ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC51],0x11
006F5B09   .  C685 52ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC52],0xCD
006F5B10   .  C685 53ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC53],0xFE
006F5B17   .  C685 54ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC54],0x18
006F5B1E   .  C685 55ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC55],0x23
006F5B25   .  C685 56ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC56],0xC5
006F5B2C   .  C685 57ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC57],0xA3
006F5B33   .  C685 58ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC58],0xCA
006F5B3A   .  C685 59ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC59],0x33
006F5B41   .  C685 5AACFFFF>mov byte ptr ss:[ebp+0xFFFFAC5A],0xC1
006F5B48   .  C685 5BACFFFF>mov byte ptr ss:[ebp+0xFFFFAC5B],0xCC
006F5B4F   .  C685 5CACFFFF>mov byte ptr ss:[ebp+0xFFFFAC5C],0x66
006F5B56   .  C685 5DACFFFF>mov byte ptr ss:[ebp+0xFFFFAC5D],0x67
006F5B5D   .  C685 5EACFFFF>mov byte ptr ss:[ebp+0xFFFFAC5E],0x21
006F5B64   .  C685 5FACFFFF>mov byte ptr ss:[ebp+0xFFFFAC5F],0xF3
006F5B6B   .  C685 60ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC60],0x32
006F5B72   .  C685 61ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC61],0x12
006F5B79   .  C685 62ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC62],0x15
006F5B80   .  C685 63ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC63],0x35
006F5B87   .  C685 64ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC64],0x29
006F5B8E   .  C685 65ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC65],0xFF
006F5B95   .  C685 66ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC66],0xFE
006F5B9C   .  C685 67ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC67],0x1D
006F5BA3   .  C685 68ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC68],0x44
006F5BAA   .  C685 69ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC69],0xEF
006F5BB1   .  C685 6AACFFFF>mov byte ptr ss:[ebp+0xFFFFAC6A],0xCD
006F5BB8   .  C685 6BACFFFF>mov byte ptr ss:[ebp+0xFFFFAC6B],0x41
006F5BBF   .  C685 6CACFFFF>mov byte ptr ss:[ebp+0xFFFFAC6C],0x26
006F5BC6   .  C685 6DACFFFF>mov byte ptr ss:[ebp+0xFFFFAC6D],0x3C
006F5BCD   .  C685 6EACFFFF>mov byte ptr ss:[ebp+0xFFFFAC6E],0x4E
006F5BD4   .  C685 6FACFFFF>mov byte ptr ss:[ebp+0xFFFFAC6F],0x4D
006F5BDB   .  8B85 48ACFFFF mov eax,dword ptr ss:[ebp+0xFFFFAC48]
006F5BE1   .  8985 4CACFFFF mov dword ptr ss:[ebp+0xFFFFAC4C],eax
006F5BE7   .  EB 0D         jmp Xmain.006F5BF6
006F5BE9   >  8B85 4CACFFFF mov eax,dword ptr ss:[ebp+0xFFFFAC4C]
006F5BEF   .  40            inc eax
006F5BF0   .  8985 4CACFFFF mov dword ptr ss:[ebp+0xFFFFAC4C],eax
006F5BF6   >  8B85 4CACFFFF mov eax,dword ptr ss:[ebp+0xFFFFAC4C]
006F5BFC   .  3B85 44ACFFFF cmp eax,dword ptr ss:[ebp+0xFFFFAC44]
006F5C02   .  74 4A         je Xmain.006F5C4E
006F5C04   .  8B85 4CACFFFF mov eax,dword ptr ss:[ebp+0xFFFFAC4C]
006F5C0A   .  0FB68405 65EB>movzx eax,byte ptr ss:[ebp+eax-0x149B]
006F5C12   .  8B8D 4CACFFFF mov ecx,dword ptr ss:[ebp+0xFFFFAC4C]
006F5C18   .  81E1 1F000080 and ecx,0x8000001F
006F5C1E   .  79 05         jns Xmain.006F5C25
006F5C20   .  49            dec ecx
006F5C21   .  83C9 E0       or ecx,0xFFFFFFE0
006F5C24   .  41            inc ecx
006F5C25   >  0FB68C0D 50AC>movzx ecx,byte ptr ss:[ebp+ecx+0xFFFFAC5>
006F5C2D   .  33C1          xor eax,ecx
006F5C2F   .  8B8D 4CACFFFF mov ecx,dword ptr ss:[ebp+0xFFFFAC4C]
006F5C35   .  0FB68C0D 66EB>movzx ecx,byte ptr ss:[ebp+ecx-0x149A]
006F5C3D   .  33C8          xor ecx,eax
006F5C3F   .  8B85 4CACFFFF mov eax,dword ptr ss:[ebp+0xFFFFAC4C]
006F5C45   .  888C05 66EBFF>mov byte ptr ss:[ebp+eax-0x149A],cl
006F5C4C   .^ EB 9B         jmp Xmain.006F5BE9
006F5C4E   >  33C0          xor eax,eax
006F5C50   .  40            inc eax
006F5C51   .  0FB7C0        movzx eax,ax
006F5C54   .  0FB78D 64EBFF>movzx ecx,word ptr ss:[ebp-0x149C]
006F5C5B   .  03C8          add ecx,eax
006F5C5D   .  66:898D 64EBF>mov word ptr ss:[ebp-0x149C],cx
006F5C64   >  E9 DA010000   jmp main.006F5E43
006F5C69   >  0FB785 64EBFF>movzx eax,word ptr ss:[ebp-0x149C]
006F5C70   .  6A 02         push 0x2
006F5C72   .  59            pop ecx
006F5C73   .  0FB7C9        movzx ecx,cx
006F5C76   .  03C1          add eax,ecx
006F5C78   .  3D 5A140000   cmp eax,0x145A
006F5C7D   .  7E 05         jle Xmain.006F5C84
006F5C7F   .  E9 B8010000   jmp main.006F5E3C
006F5C84   >  6A 02         push 0x2
006F5C86   .  58            pop eax
006F5C87   .  0FB7C0        movzx eax,ax
006F5C8A   .  50            push eax
006F5C8B   .  8D85 64EBFFFF lea eax,dword ptr ss:[ebp-0x149C]
006F5C91   .  50            push eax
006F5C92   .  0FB785 64EBFF>movzx eax,word ptr ss:[ebp-0x149C]
006F5C99   .  8D8405 66EBFF>lea eax,dword ptr ss:[ebp+eax-0x149A]
006F5CA0   .  50            push eax
006F5CA1   .  E8 EA076800   call main.00D76490
006F5CA6   .  83C4 0C       add esp,0xC
006F5CA9   .  33C0          xor eax,eax
006F5CAB   .  0F84 75010000 je main.006F5E26
006F5CB1   .  6A 02         push 0x2
006F5CB3   .  58            pop eax
006F5CB4   .  0FB7C0        movzx eax,ax
006F5CB7   .  0FB78D 64EBFF>movzx ecx,word ptr ss:[ebp-0x149C]
006F5CBE   .  03C8          add ecx,eax
006F5CC0   .  898D 18ACFFFF mov dword ptr ss:[ebp+0xFFFFAC18],ecx
006F5CC6   .  0FB785 64EBFF>movzx eax,word ptr ss:[ebp-0x149C]
006F5CCD   .  8985 1CACFFFF mov dword ptr ss:[ebp+0xFFFFAC1C],eax
006F5CD3   .  C685 24ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC24],0xAB
006F5CDA   .  C685 25ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC25],0x11
006F5CE1   .  C685 26ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC26],0xCD
006F5CE8   .  C685 27ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC27],0xFE
006F5CEF   .  C685 28ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC28],0x18
006F5CF6   .  C685 29ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC29],0x23
006F5CFD   .  C685 2AACFFFF>mov byte ptr ss:[ebp+0xFFFFAC2A],0xC5
006F5D04   .  C685 2BACFFFF>mov byte ptr ss:[ebp+0xFFFFAC2B],0xA3
006F5D0B   .  C685 2CACFFFF>mov byte ptr ss:[ebp+0xFFFFAC2C],0xCA
006F5D12   .  C685 2DACFFFF>mov byte ptr ss:[ebp+0xFFFFAC2D],0x33
006F5D19   .  C685 2EACFFFF>mov byte ptr ss:[ebp+0xFFFFAC2E],0xC1
006F5D20   .  C685 2FACFFFF>mov byte ptr ss:[ebp+0xFFFFAC2F],0xCC
006F5D27   .  C685 30ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC30],0x66
006F5D2E   .  C685 31ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC31],0x67
006F5D35   .  C685 32ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC32],0x21
006F5D3C   .  C685 33ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC33],0xF3
006F5D43   .  C685 34ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC34],0x32
006F5D4A   .  C685 35ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC35],0x12
006F5D51   .  C685 36ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC36],0x15
006F5D58   .  C685 37ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC37],0x35
006F5D5F   .  C685 38ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC38],0x29
006F5D66   .  C685 39ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC39],0xFF
006F5D6D   .  C685 3AACFFFF>mov byte ptr ss:[ebp+0xFFFFAC3A],0xFE
006F5D74   .  C685 3BACFFFF>mov byte ptr ss:[ebp+0xFFFFAC3B],0x1D
006F5D7B   .  C685 3CACFFFF>mov byte ptr ss:[ebp+0xFFFFAC3C],0x44
006F5D82   .  C685 3DACFFFF>mov byte ptr ss:[ebp+0xFFFFAC3D],0xEF
006F5D89   .  C685 3EACFFFF>mov byte ptr ss:[ebp+0xFFFFAC3E],0xCD
006F5D90   .  C685 3FACFFFF>mov byte ptr ss:[ebp+0xFFFFAC3F],0x41
006F5D97   .  C685 40ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC40],0x26
006F5D9E   .  C685 41ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC41],0x3C
006F5DA5   .  C685 42ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC42],0x4E
006F5DAC   .  C685 43ACFFFF>mov byte ptr ss:[ebp+0xFFFFAC43],0x4D
006F5DB3   .  8B85 1CACFFFF mov eax,dword ptr ss:[ebp+0xFFFFAC1C]
006F5DB9   .  8985 20ACFFFF mov dword ptr ss:[ebp+0xFFFFAC20],eax
006F5DBF   .  EB 0D         jmp Xmain.006F5DCE
006F5DC1   >  8B85 20ACFFFF mov eax,dword ptr ss:[ebp+0xFFFFAC20]
006F5DC7   .  40            inc eax
006F5DC8   .  8985 20ACFFFF mov dword ptr ss:[ebp+0xFFFFAC20],eax
006F5DCE   >  8B85 20ACFFFF mov eax,dword ptr ss:[ebp+0xFFFFAC20]
006F5DD4   .  3B85 18ACFFFF cmp eax,dword ptr ss:[ebp+0xFFFFAC18]
006F5DDA   .  74 4A         je Xmain.006F5E26
006F5DDC   .  8B85 20ACFFFF mov eax,dword ptr ss:[ebp+0xFFFFAC20]
006F5DE2   .  0FB68405 65EB>movzx eax,byte ptr ss:[ebp+eax-0x149B]
006F5DEA   .  8B8D 20ACFFFF mov ecx,dword ptr ss:[ebp+0xFFFFAC20]
006F5DF0   .  81E1 1F000080 and ecx,0x8000001F
006F5DF6   .  79 05         jns Xmain.006F5DFD
006F5DF8   .  49            dec ecx
006F5DF9   .  83C9 E0       or ecx,0xFFFFFFE0
006F5DFC   .  41            inc ecx
006F5DFD   >  0FB68C0D 24AC>movzx ecx,byte ptr ss:[ebp+ecx+0xFFFFAC2>
006F5E05   .  33C1          xor eax,ecx
006F5E07   .  8B8D 20ACFFFF mov ecx,dword ptr ss:[ebp+0xFFFFAC20]
006F5E0D   .  0FB68C0D 66EB>movzx ecx,byte ptr ss:[ebp+ecx-0x149A]
006F5E15   .  33C8          xor ecx,eax
006F5E17   .  8B85 20ACFFFF mov eax,dword ptr ss:[ebp+0xFFFFAC20]
006F5E1D   .  888C05 66EBFF>mov byte ptr ss:[ebp+eax-0x149A],cl
006F5E24   .^ EB 9B         jmp Xmain.006F5DC1
006F5E26   >  6A 02         push 0x2
006F5E28   .  58            pop eax
006F5E29   .  0FB7C0        movzx eax,ax
006F5E2C   .  0FB78D 64EBFF>movzx ecx,word ptr ss:[ebp-0x149C]
006F5E33   .  03C8          add ecx,eax
006F5E35   .  66:898D 64EBF>mov word ptr ss:[ebp-0x149C],cx
006F5E3C   >  EB 05         jmp Xmain.006F5E43
006F5E3E   >  E9 D3010000   jmp main.006F6016
006F5E43   >  0FB785 64EBFF>movzx eax,word ptr ss:[ebp-0x149C]
006F5E4A   .  33C9          xor ecx,ecx
006F5E4C   .  41            inc ecx
006F5E4D   .  0FB7C9        movzx ecx,cx
006F5E50   .  03C1          add eax,ecx
006F5E52   .  3D 5A140000   cmp eax,0x145A
006F5E57   .  7E 05         jle Xmain.006F5E5E
006F5E59   .  E9 B8010000   jmp main.006F6016
006F5E5E   >  33C0          xor eax,eax
006F5E60   .  40            inc eax
006F5E61   .  0FB7C0        movzx eax,ax
006F5E64   .  50            push eax
006F5E65   .  8D85 EAABFFFF lea eax,dword ptr ss:[ebp+0xFFFFABEA]
006F5E6B   .  50            push eax
006F5E6C   .  0FB785 64EBFF>movzx eax,word ptr ss:[ebp-0x149C]
006F5E73   .  8D8405 66EBFF>lea eax,dword ptr ss:[ebp+eax-0x149A]
006F5E7A   .  50            push eax
006F5E7B   .  E8 10066800   call main.00D76490

64 A1 00 00 00 00 50 64 89 25 00 00 00 00 B8 C8 1D 01 00

全屏攻击:
调用堆栈:     线程  00000E9C
地址       堆栈       函数过程 / 参数                       调用来自                      结构
0DA2CD30   004397E1   ws2_32.send                           main.004397DB                 0DA2CD54
0DA2CD34   00001A18     Socket = 1A18
0DA2CD38   0DA2FD80     Data = 0DA2FD80
0DA2CD3C   0000000B     DataSize = B (11.)
0DA2CD40   00000000     Flags = 0
0DA2CD58   00439536   main.004397A2                         main.00439531                 0DA2CD54
0DA2FE8C   0F60058F   包含main.00439536                       0F60058D                      0DA2FE88
0DA2FEE8   0F60087F   包含0F60058F                            0F60087D                      0DA2FEE4
0DA2FF80   0F602036   包含0F60087F                            0F602034                      0DA2FF7C

0F60202F    B8 FC07600F     mov eax,0xF6007FC
0F602034    FFD0            call eax
0F602036    B8 6D09600F     mov eax,0xF60096D
0F60203B    FFD0            call eax

[esp+c]!=7&&[esp+c]!=8&[esp+c]!=9&[esp+c]!=5&[esp+c]!=6

[esp+c]!=7&&[esp+c]!=8&[esp+c]!=9&[esp+c]!=5&[esp+c]!=13&[esp+c]!=6

0F6007FC    55              push ebp
0F6007FD    8BEC            mov ebp,esp
0F6007FF    83EC 7C         sub esp,0x7C
0F600802    57              push edi
0F600803    51              push ecx
0F600804    52              push edx
0F600805    A1 0808480E     mov eax,dword ptr ds:[0xE480808]
0F60080A    85C0            test eax,eax
0F60080C    0F84 56010000   je 0F600968
0F600812    B8 E0261075     mov eax,winmm.timeGetTime
0F600817    FFD0            call eax
0F600819    8BC8            mov ecx,eax
0F60081B    2B05 1C08480E   sub eax,dword ptr ds:[0xE48081C]         ; main.01433B61
0F600821    0F88 41010000   js 0F600968
0F600827    030D 1808480E   add ecx,dword ptr ds:[0xE480818]
0F60082D    890D 1C08480E   mov dword ptr ds:[0xE48081C],ecx
0F600833    B8 1107600F     mov eax,0xF600711
0F600838    FFD0            call eax
0F60083A    85C0            test eax,eax
0F60083C    0F84 26010000   je 0F600968
0F600842    0FB780 5E000000 movzx eax,word ptr ds:[eax+0x5E]
0F600849    8945 E4         mov dword ptr ss:[ebp-0x1C],eax
0F60084C    8D55 B0         lea edx,dword ptr ss:[ebp-0x50]
0F60084F    D9EE            fldz
0F600851    DD12            fst qword ptr ds:[edx]
0F600853    DD5A 08         fstp qword ptr ds:[edx+0x8]
0F600856    8902            mov dword ptr ds:[edx],eax
0F600858    8955 F4         mov dword ptr ss:[ebp-0xC],edx
0F60085B    C745 F8 0100000>mov dword ptr ss:[ebp-0x8],0x1
0F600862    C745 F0 9001000>mov dword ptr ss:[ebp-0x10],0x190
0F600869    8B3D 1408480E   mov edi,dword ptr ds:[0xE480814]
0F60086F    FF75 E4         push dword ptr ss:[ebp-0x1C]
0F600872    FF35 0C08480E   push dword ptr ds:[0xE48080C]
0F600878    B8 3605600F     mov eax,0xF600536
0F60087D    FFD0            call eax
0F60087F    A1 1008480E     mov eax,dword ptr ds:[0xE480810]
0F600884    8945 EC         mov dword ptr ss:[ebp-0x14],eax
0F600887    83F8 FF         cmp eax,-0x1
0F60088A    0F85 0C000000   jnz 0F60089C
0F600890    4F              dec edi
0F600891  ^ 0F8F D8FFFFFF   jg 0F60086F
0F600897    E9 CC000000     jmp 0F600968
0F60089C    A1 2008480E     mov eax,dword ptr ds:[0xE480820]
0F6008A1    8945 E8         mov dword ptr ss:[ebp-0x18],eax
0F6008A4    FF4D E8         dec dword ptr ss:[ebp-0x18]
0F6008A7    8B45 E8         mov eax,dword ptr ss:[ebp-0x18]
0F6008AA    83F8 01         cmp eax,0x1
0F6008AD    0F88 78000000   js 0F60092B
0F6008B3    8B4D F0         mov ecx,dword ptr ss:[ebp-0x10]
0F6008B6    83F9 00         cmp ecx,0x0
0F6008B9    0F88 6C000000   js 0F60092B
0F6008BF    FF4D F0         dec dword ptr ss:[ebp-0x10]
0F6008C2    51              push ecx
0F6008C3    B8 2F06600F     mov eax,0xF60062F
0F6008C8    FFD0            call eax
0F6008CA    85C0            test eax,eax
0F6008CC  ^ 0F84 E1FFFFFF   je 0F6008B3
0F6008D2    8945 E0         mov dword ptr ss:[ebp-0x20],eax
0F6008D5    50              push eax
0F6008D6    B8 6906600F     mov eax,0xF600669
0F6008DB    FFD0            call eax
0F6008DD    85C0            test eax,eax
0F6008DF  ^ 0F84 CEFFFFFF   je 0F6008B3
0F6008E5    8B45 E0         mov eax,dword ptr ss:[ebp-0x20]
0F6008E8    0FB780 5E000000 movzx eax,word ptr ds:[eax+0x5E]
0F6008EF    8945 E4         mov dword ptr ss:[ebp-0x1C],eax
0F6008F2    8B55 F4         mov edx,dword ptr ss:[ebp-0xC]
0F6008F5    8B4D F8         mov ecx,dword ptr ss:[ebp-0x8]
0F6008F8    85C9            test ecx,ecx
0F6008FA    0F84 16000000   je 0F600916
0F600900    0FB702          movzx eax,word ptr ds:[edx]
0F600903    83C2 02         add edx,0x2
0F600906    3B45 E4         cmp eax,dword ptr ss:[ebp-0x1C]
0F600909  ^ 0F84 A4FFFFFF   je 0F6008B3
0F60090F    49              dec ecx
0F600910  ^ 0F8F EAFFFFFF   jg 0F600900
0F600916    8B45 E4         mov eax,dword ptr ss:[ebp-0x1C]
0F600919    66:8902         mov word ptr ds:[edx],ax
0F60091C    FE45 F8         inc byte ptr ss:[ebp-0x8]
0F60091F    8B45 F8         mov eax,dword ptr ss:[ebp-0x8]
0F600922    83F8 05         cmp eax,0x5
0F600925  ^ 0F8C 79FFFFFF   jl 0F6008A4
0F60092B    8B45 F8         mov eax,dword ptr ss:[ebp-0x8]
0F60092E    85C0            test eax,eax
0F600930    0F84 24000000   je 0F60095A
0F600936    50              push eax
0F600937    8D45 B0         lea eax,dword ptr ss:[ebp-0x50]
0F60093A    50              push eax
0F60093B    FF75 EC         push dword ptr ss:[ebp-0x14]
0F60093E    B8 9A05600F     mov eax,0xF60059A
0F600943    FFD0            call eax
0F600945    C645 F8 00      mov byte ptr ss:[ebp-0x8],0x0
0F600949    66:C745 E4 0000 mov word ptr ss:[ebp-0x1C],0x0
0F60094F    8D45 B0         lea eax,dword ptr ss:[ebp-0x50]
0F600952    8945 F4         mov dword ptr ss:[ebp-0xC],eax
0F600955  ^ E9 4AFFFFFF     jmp 0F6008A4
0F60095A    C745 F0 9001000>mov dword ptr ss:[ebp-0x10],0x190
0F600961    4F              dec edi
0F600962  ^ 0F8F 34FFFFFF   jg 0F60089C
0F600968    5A              pop edx
0F600969    59              pop ecx
0F60096A    5F              pop edi
0F60096B    C9              leave
0F60096C    C3              retn

全屏捡物:
调用捡物
0FA210F3    55              push ebp
0FA210F4    89E5            mov ebp,esp
0FA210F6    81EC 7C000000   sub esp,0x7C
0FA210FC    60              pushad
0FA210FD    B8 E0268F74     mov eax,winmm.timeGetTime
0FA21102    FFD0            call eax
0FA21104    89C1            mov ecx,eax
0FA21106    2B05 C40C990E   sub eax,dword ptr ds:[0xE990CC4]         ; main.01CCF10C
0FA2110C    3D FA000000     cmp eax,0xFA
0FA21111    0F8C BC000000   jl 0FA211D3
0FA21117    890D C40C990E   mov dword ptr ds:[0xE990CC4],ecx
0FA2111D    A1 D40C990E     mov eax,dword ptr ds:[0xE990CD4]
0FA21122    85C0            test eax,eax
0FA21124    0F84 18000000   je 0FA21142
0FA2112A    31C0            xor eax,eax
0FA2112C    A3 D40C990E     mov dword ptr ds:[0xE990CD4],eax
0FA21131    68 00000000     push 0x0
0FA21136    B8 2C0FA20F     mov eax,0xFA20F2C              //调用第一层未知函数         
0FA2113B    FFD0            call eax
0FA2113D    E9 91000000     jmp 0FA211D3
0FA21142    A1 C80C990E     mov eax,dword ptr ds:[0xE990CC8]
0FA21147    8945 F8         mov dword ptr ss:[ebp-0x8],eax
0FA2114A    8B45 F8         mov eax,dword ptr ss:[ebp-0x8]
0FA2114D    3D E8030000     cmp eax,0x3E8
0FA21152    0F8D 74000000   jge 0FA211CC
0FA21158    69C0 88030000   imul eax,eax,0x388
0FA2115E    05 B87E6408     add eax,0x8647EB8
0FA21163    8945 F4         mov dword ptr ss:[ebp-0xC],eax
0FA21166    0FB648 04       movzx ecx,byte ptr ds:[eax+0x4]
0FA2116A    85C9            test ecx,ecx
0FA2116C    0F84 1E000000   je 0FA21190
0FA21172    0FB648 0E       movzx ecx,byte ptr ds:[eax+0xE]
0FA21176    85C9            test ecx,ecx
0FA21178    0F84 12000000   je 0FA21190
0FA2117E    FF75 F8         push dword ptr ss:[ebp-0x8]     //可能是物品编号
0FA21181    B8 740FA20F     mov eax,0xFA20F74               //调用第二层未知函数
0FA21186    FFD0            call eax
0FA21188    85C0            test eax,eax
0FA2118A    0F85 08000000   jnz 0FA21198
0FA21190    FF45 F8         inc dword ptr ss:[ebp-0x8]
0FA21193  ^ E9 B2FFFFFF     jmp 0FA2114A
0FA21198    A1 D40C990E     mov eax,dword ptr ds:[0xE990CD4]
0FA2119D    85C0            test eax,eax
0FA2119F    0F85 12000000   jnz 0FA211B7
0FA211A5    40              inc eax
0FA211A6    A3 D40C990E     mov dword ptr ds:[0xE990CD4],eax
0FA211AB    68 01000000     push 0x1
0FA211B0    B8 2C0FA20F     mov eax,0xFA20F2C                //调用第一层未知函数
0FA211B5    FFD0            call eax
0FA211B7    8B45 F8         mov eax,dword ptr ss:[ebp-0x8]
0FA211BA    A3 C80C990E     mov dword ptr ds:[0xE990CC8],eax
0FA211BF    50              push eax
0FA211C0    B8 7310A20F     mov eax,0xFA21073                //调用第三层未知函数  
0FA211C5    FFD0            call eax
0FA211C7    E9 07000000     jmp 0FA211D3
0FA211CC    31C0            xor eax,eax
0FA211CE    A3 C80C990E     mov dword ptr ds:[0xE990CC8],eax
0FA211D3    61              popad
0FA211D4    C9              leave
0FA211D5    C3              retn

//调用第一层未知函数
0FA20F2C    55              push ebp
0FA20F2D    89E5            mov ebp,esp
0FA20F2F    51              push ecx
0FA20F30    8B45 08         mov eax,dword ptr ss:[ebp+0x8]
0FA20F33    85C0            test eax,eax
0FA20F35    0F85 18000000   jnz 0FA20F53
0FA20F3B    FF35 CC0C990E   push dword ptr ds:[0xE990CCC]              Y
0FA20F41    FF35 D00C990E   push dword ptr ds:[0xE990CD0]              X
0FA20F47    B8 2D00A20F     mov eax,0xFA2002D           //调用未知封包函数一
0FA20F4C    FFD0            call eax
0FA20F4E    E9 1C000000     jmp 0FA20F6F
0FA20F53    A1 ACB2FD07     mov eax,dword ptr ds:[0x7FDB2AC]
0FA20F58    8D80 9C000000   lea eax,dword ptr ds:[eax+0x9C]
0FA20F5E    8B08            mov ecx,dword ptr ds:[eax]
0FA20F60    890D D00C990E   mov dword ptr ds:[0xE990CD0],ecx
0FA20F66    8B48 04         mov ecx,dword ptr ds:[eax+0x4]
0FA20F69    890D CC0C990E   mov dword ptr ds:[0xE990CCC],ecx
0FA20F6F    59              pop ecx
0FA20F70    C9              leave
0FA20F71    C2 0400         retn 0x4

//调用第二层未知函数
0FA20F74    55              push ebp
0FA20F75    89E5            mov ebp,esp
0FA20F77    81EC 7C000000   sub esp,0x7C
0FA20F7D    60              pushad
0FA20F7E    C745 E8 0000000>mov dword ptr ss:[ebp-0x18],0x0
0FA20F85    8B45 08         mov eax,dword ptr ss:[ebp+0x8]
0FA20F88    69C0 88030000   imul eax,eax,0x388
0FA20F8E    05 287E6408     add eax,0x8647E28
0FA20F93    8945 EC         mov dword ptr ss:[ebp-0x14],eax
0FA20F96    8B0D BC0C990E   mov ecx,dword ptr ds:[0xE990CBC]
0FA20F9C    85C9            test ecx,ecx
0FA20F9E    0F84 0F000000   je 0FA20FB3
0FA20FA4    0FB688 24000000 movzx ecx,byte ptr ds:[eax+0x24]
0FA20FAB    85C9            test ecx,ecx
0FA20FAD    0F85 B1000000   jnz 0FA21064
0FA20FB3    8B0D C00C990E   mov ecx,dword ptr ds:[0xE990CC0]
0FA20FB9    85C9            test ecx,ecx
0FA20FBB    0F84 0F000000   je 0FA20FD0
0FA20FC1    0FB688 25000000 movzx ecx,byte ptr ds:[eax+0x25]
0FA20FC8    85C9            test ecx,ecx
0FA20FCA    0F85 94000000   jnz 0FA21064
0FA20FD0    B9 3809990E     mov ecx,0xE990938
0FA20FD5    0FB711          movzx edx,word ptr ds:[ecx]
0FA20FD8    85D2            test edx,edx
0FA20FDA    0F84 17000000   je 0FA20FF7
0FA20FE0    3B90 08000000   cmp edx,dword ptr ds:[eax+0x8]
0FA20FE6    0F84 78000000   je 0FA21064
0FA20FEC    81C1 02000000   add ecx,0x2
0FA20FF2  ^ E9 DEFFFFFF     jmp 0FA20FD5
0FA20FF7    B9 9C09990E     mov ecx,0xE99099C
0FA20FFC    8D90 31030000   lea edx,dword ptr ds:[eax+0x331]
0FA21002    894D E4         mov dword ptr ss:[ebp-0x1C],ecx
0FA21005    8B4D E4         mov ecx,dword ptr ss:[ebp-0x1C]
0FA21008    8A01            mov al,byte ptr ds:[ecx]
0FA2100A    84C0            test al,al
0FA2100C    0F85 1E000000   jnz 0FA21030
0FA21012    8A45 E8         mov al,byte ptr ss:[ebp-0x18]
0FA21015    84C0            test al,al
0FA21017    0F85 47000000   jnz 0FA21064
0FA2101D    41              inc ecx
0FA2101E    8A01            mov al,byte ptr ds:[ecx]
0FA21020    84C0            test al,al
0FA21022    8B45 EC         mov eax,dword ptr ss:[ebp-0x14]
0FA21025  ^ 0F85 D1FFFFFF   jnz 0FA20FFC
0FA2102B    E9 3C000000     jmp 0FA2106C
0FA21030    3A02            cmp al,byte ptr ds:[edx]
0FA21032    0F85 0A000000   jnz 0FA21042
0FA21038    8845 E8         mov byte ptr ss:[ebp-0x18],al
0FA2103B    41              inc ecx
0FA2103C    42              inc edx
0FA2103D  ^ E9 C6FFFFFF     jmp 0FA21008
0FA21042    C745 E8 0000000>mov dword ptr ss:[ebp-0x18],0x0
0FA21049    42              inc edx
0FA2104A    8A02            mov al,byte ptr ds:[edx]
0FA2104C    84C0            test al,al
0FA2104E  ^ 0F85 B1FFFFFF   jnz 0FA21005
0FA21054    41              inc ecx
0FA21055    8A01            mov al,byte ptr ds:[ecx]
0FA21057    84C0            test al,al
0FA21059  ^ 0F85 F5FFFFFF   jnz 0FA21054
0FA2105F  ^ E9 B9FFFFFF     jmp 0FA2101D
0FA21064    61              popad
0FA21065    31C0            xor eax,eax
0FA21067    40              inc eax
0FA21068    C9              leave
0FA21069    C2 0400         retn 0x4
0FA2106C    61              popad
0FA2106D    31C0            xor eax,eax
0FA2106F    C9              leave
0FA21070    C2 0400         retn 0x4

//调用第三层未知函数
0FA21073    55              push ebp
0FA21074    89E5            mov ebp,esp
0FA21076    81EC 7C000000   sub esp,0x7C
0FA2107C    51              push ecx
0FA2107D    8B45 08         mov eax,dword ptr ss:[ebp+0x8]  //物品编号      
0FA21080    69C0 88030000   imul eax,eax,0x388
0FA21086    05 B87E6408     add eax,0x8647EB8
0FA2108B    D980 10010000   fld dword ptr ds:[eax+0x110]               获取物品坐标
0FA21091    C745 EC 0000C84>mov dword ptr ss:[ebp-0x14],0x42C80000   =100
0FA21098    D945 EC         fld dword ptr ss:[ebp-0x14]
0FA2109B    DCF9            fdiv st(1),st                   //计算物品X坐标
0FA2109D    DB5D EC         fistp dword ptr ss:[ebp-0x14]           
0FA210A0    DB5D EC         fistp dword ptr ss:[ebp-0x14]
0FA210A3    D980 14010000   fld dword ptr ds:[eax+0x114]
0FA210A9    C745 E8 0000C84>mov dword ptr ss:[ebp-0x18],0x42C80000
0FA210B0    D945 E8         fld dword ptr ss:[ebp-0x18]
0FA210B3    DCF9            fdiv st(1),st                   //计算物品Y坐标
0FA210B5    DB5D E8         fistp dword ptr ss:[ebp-0x18]
0FA210B8    DB5D E8         fistp dword ptr ss:[ebp-0x18]
0FA210BB    FF75 E8         push dword ptr ss:[ebp-0x18]    //物品Y坐标
0FA210BE    FF75 EC         push dword ptr ss:[ebp-0x14]    //物品X坐标
0FA210C1    B8 2D00A20F     mov eax,0xFA2002D               //调用未知封包函数一
0FA210C6    FFD0            call eax
0FA210C8    FF75 08         push dword ptr ss:[ebp+0x8]     //物品编号
0FA210CB    B8 E60EA20F     mov eax,0xFA20EE6               //调用未知封包函数二
0FA210D0    FFD0            call eax
0FA210D2    A1 ACB2FD07     mov eax,dword ptr ds:[0x7FDB2AC]
0FA210D7    8B0D D00C990E   mov ecx,dword ptr ds:[0xE990CD0]
0FA210DD    8D80 9C000000   lea eax,dword ptr ds:[eax+0x9C]
0FA210E3    8908            mov dword ptr ds:[eax],ecx
0FA210E5    8B0D CC0C990E   mov ecx,dword ptr ds:[0xE990CCC]
0FA210EB    8948 04         mov dword ptr ds:[eax+0x4],ecx
0FA210EE    59              pop ecx
0FA210EF    C9              leave
0FA210F0    C2 0400         retn 0x4

//类似捡物封包  调用未知封包函数一
0FA2002D    55              push ebp
0FA2002E    89E5            mov ebp,esp
0FA20030    81EC 7C000000   sub esp,0x7C
0FA20036    51              push ecx
0FA20037    8D45 EC         lea eax,dword ptr ss:[ebp-0x14]
0FA2003A    C700 C106D700   mov dword ptr ds:[eax],0xD706C1
0FA20040    8B4D 08         mov ecx,dword ptr ss:[ebp+0x8]
0FA20043    8848 03         mov byte ptr ds:[eax+0x3],cl
0FA20046    8B4D 0C         mov ecx,dword ptr ss:[ebp+0xC]
0FA20049    8948 04         mov dword ptr ds:[eax+0x4],ecx
0FA2004C    50              push eax
0FA2004D    B8 0000A20F     mov eax,0xFA20000
0FA20052    FFD0            call eax
0FA20054    68 00000000     push 0x0
0FA20059    68 00000000     push 0x0
0FA2005E    68 06000000     push 0x6
0FA20063    50              push eax
0FA20064    B8 DF934300     mov eax,0x4393DF                         ; 入口地址
0FA20069    FFD0            call eax
0FA2006B    81C4 0A000000   add esp,0xA
0FA20071    59              pop ecx
0FA20072    C9              leave
0FA20073    C2 0800         retn 0x8

//不知道是什么包 调用未知封包函数二
0FA20EE6    55              push ebp
0FA20EE7    89E5            mov ebp,esp
0FA20EE9    81EC 40000000   sub esp,0x40
0FA20EEF    51              push ecx
0FA20EF0    8D45 F0         lea eax,dword ptr ss:[ebp-0x10]
0FA20EF3    C700 C1052200   mov dword ptr ds:[eax],0x2205C1
0FA20EF9    8B4D 08         mov ecx,dword ptr ss:[ebp+0x8]
0FA20EFC    8868 03         mov byte ptr ds:[eax+0x3],ch
0FA20EFF    8848 04         mov byte ptr ds:[eax+0x4],cl
0FA20F02    50              push eax
0FA20F03    B8 0000A20F     mov eax,0xFA20000
0FA20F08    FFD0            call eax
0FA20F0A    68 00000000     push 0x0
0FA20F0F    68 01000000     push 0x1
0FA20F14    68 05000000     push 0x5
0FA20F19    50              push eax
0FA20F1A    B8 DF934300     mov eax,0x4393DF                         ; 入口地址
0FA20F1F    FFD0            call eax
0FA20F21    81C4 10000000   add esp,0x10
0FA20F27    59              pop ecx
0FA20F28    C9              leave
0FA20F29    C2 0400         retn 0x4

//类似加密函数
0FA20000    55              push ebp
0FA20001    89E5            mov ebp,esp
0FA20003    81EC 40000000   sub esp,0x40
0FA20009    51              push ecx
0FA2000A    8B4D 08         mov ecx,dword ptr ss:[ebp+0x8]
0FA2000D    0FB641 01       movzx eax,byte ptr ds:[ecx+0x1]
0FA20011    49              dec ecx
0FA20012    49              dec ecx
0FA20013    68 01000000     push 0x1
0FA20018    50              push eax
0FA20019    68 03000000     push 0x3
0FA2001E    B8 CB924300     mov eax,0x4392CB
0FA20023    FFD0            call eax
0FA20025    8B45 08         mov eax,dword ptr ss:[ebp+0x8]
0FA20028    59              pop ecx
0FA20029    C9              leave
0FA2002A    C2 0400         retn 0x4

0EBD0000                55                     push ebp
0EBD0001                8BEC                   mov ebp,esp
0EBD0003                83EC 7C                sub esp,0x7C
0EBD0006                8B45 08                mov eax,dword ptr ss:[ebp+0x8]
0EBD0009                69C0 88030000          imul eax,eax,0x388
0EBD000F                05 B87E6408            add eax,0x8647EB8
0EBD0014                D980 10010000          fld dword ptr ds:[eax+0x110]
0EBD001A                C745 EC 0000C842       mov dword ptr ss:[ebp-0x14],0x42C80000
0EBD0021                D945 EC                fld dword ptr ss:[ebp-0x14]
0EBD0024                DCF9                   fdiv st(1),st
0EBD0026                DB5D EC                fistp dword ptr ss:[ebp-0x14]
0EBD0029                DB5D EC                fistp dword ptr ss:[ebp-0x14]
0EBD002C                D980 14010000          fld dword ptr ds:[eax+0x114]
0EBD0032                C745 E8 0000C842       mov dword ptr ss:[ebp-0x18],0x42C80000
0EBD0039                D945 E8                fld dword ptr ss:[ebp-0x18]
0EBD003C                DCF9                   fdiv st(1),st
0EBD003E                DB5D E8                fistp dword ptr ss:[ebp-0x18]
0EBD0041                DB5D E8                fistp dword ptr ss:[ebp-0x18]
0EBD0044                FF75 E8                push dword ptr ss:[ebp-0x18]
0EBD0047                FF75 EC                push dword ptr ss:[ebp-0x14]
0EBD004A                B8 5F00BD0E            mov eax,0xEBD005F
0EBD004F                FFD0                   call eax
0EBD0051                FF75 08                push dword ptr ss:[ebp+0x8]
0EBD0054                B8 9700BD0E            mov eax,0xEBD0097
0EBD0059                FFD0                   call eax
0EBD005B                C9                     leave
0EBD005C                C2 0400                retn 0x4
0EBD005F                55                     push ebp                                 ; 0FA2002D
0EBD0060                8BEC                   mov ebp,esp
0EBD0062                83EC 7C                sub esp,0x7C
0EBD0065                8D45 EC                lea eax,dword ptr ss:[ebp-0x14]
0EBD0068                C700 C106D700          mov dword ptr ds:[eax],0xD706C1
0EBD006E                8B4D 08                mov ecx,dword ptr ss:[ebp+0x8]
0EBD0071                8848 03                mov byte ptr ds:[eax+0x3],cl
0EBD0074                8B4D 0C                mov ecx,dword ptr ss:[ebp+0xC]
0EBD0077                8948 04                mov dword ptr ds:[eax+0x4],ecx
0EBD007A                50                     push eax
0EBD007B                B8 CC00BD0E            mov eax,0xEBD00CC
0EBD0080                FFD0                   call eax
0EBD0082                6A 00                  push 0x0
0EBD0084                6A 00                  push 0x0
0EBD0086                6A 06                  push 0x6
0EBD0088                50                     push eax
0EBD0089                B8 DF934300            mov eax,0x4393DF                         ; 入口地址
0EBD008E                FFD0                   call eax
0EBD0090                83C4 0A                add esp,0xA
0EBD0093                C9                     leave
0EBD0094                C2 0800                retn 0x8
0EBD0097                55                     push ebp                                 ; 0FA20EE6
0EBD0098                8BEC                   mov ebp,esp
0EBD009A                83EC 40                sub esp,0x40
0EBD009D                8D45 F0                lea eax,dword ptr ss:[ebp-0x10]
0EBD00A0                C700 C1052200          mov dword ptr ds:[eax],0x2205C1
0EBD00A6                8B4D 08                mov ecx,dword ptr ss:[ebp+0x8]
0EBD00A9                8868 03                mov byte ptr ds:[eax+0x3],ch
0EBD00AC                8848 04                mov byte ptr ds:[eax+0x4],cl
0EBD00AF                50                     push eax
0EBD00B0                B8 CC00BD0E            mov eax,0xEBD00CC
0EBD00B5                FFD0                   call eax
0EBD00B7                6A 00                  push 0x0
0EBD00B9                6A 01                  push 0x1
0EBD00BB                6A 05                  push 0x5
0EBD00BD                50                     push eax
0EBD00BE                B8 DF934300            mov eax,0x4393DF                         ; 入口地址
0EBD00C3                FFD0                   call eax
0EBD00C5                83C4 10                add esp,0x10
0EBD00C8                C9                     leave
0EBD00C9                C2 0400                retn 0x4
0EBD00CC                55                     push ebp                                 ; 0xFA20000
0EBD00CD                8BEC                   mov ebp,esp
0EBD00CF                83EC 40                sub esp,0x40
0EBD00D2                8B4D 08                mov ecx,dword ptr ss:[ebp+0x8]
0EBD00D5                0FB641 01              movzx eax,byte ptr ds:[ecx+0x1]
0EBD00D9                49                     dec ecx
0EBD00DA                49                     dec ecx
0EBD00DB                6A 01                  push 0x1
0EBD00DD                50                     push eax
0EBD00DE                6A 03                  push 0x3
0EBD00E0                B8 CB924300            mov eax,0x4392CB
0EBD00E5                FFD0                   call eax
0EBD00E7                8B45 08                mov eax,dword ptr ss:[ebp+0x8]
0EBD00EA                C9                     leave
0EBD00EB                C2 0400                retn 0x4

55 8B EC 83 EC 7C 8B 45 08 69 C0 88 03 00 00 05 B8 7E 64 08 D9 80 10 01 00 00 C7 45 EC 00 00 C8
42 D9 45 EC DC F9 DB 5D EC DB 5D EC D9 80 14 01 00 00 C7 45 E8 00 00 C8 42 D9 45 E8 DC F9 DB 5D
E8 DB 5D E8 FF 75 E8 FF 75 EC B8 5F 00 BD 0E FF D0 FF 75 08 B8 97 00 BD 0E FF D0 C9 C2 04 00 55
8B EC 83 EC 7C 8D 45 EC C7 00 C1 06 D7 00 8B 4D 08 88 48 03 8B 4D 0C 89 48 04 50 B8 CC 00 BD 0E
FF D0 6A 00 6A 00 6A 06 50 B8 DF 93 43 00 FF D0 83 C4 0A C9 C2 08 00 55 8B EC 83 EC 40 8D 45 F0
C7 00 C1 05 22 00 8B 4D 08 88 68 03 88 48 04 50 B8 CC 00 BD 0E FF D0 6A 00 6A 01 6A 05 50 B8 DF
93 43 00 FF D0 83 C4 10 C9 C2 04 00 55 8B EC 83 EC 40 8B 4D 08 0F B6 41 01 49 49 6A 01 50 6A 03
B8 CB 92 43 00 FF D0 8B 45 08 C9 C2 04 00

全局加速:
由于MU主程序代码大量加花,导致NP无法使用内存CRC来保护游戏所以大侠们可以直接改主程序汇编代码实现加速,给出关键汇编代码

004E30B1    A1 6CAF6108     mov eax,dword ptr ds:[0x861AF6C]
004E30B6    48              dec eax
004E30B7    A3 6CAF6108     mov dword ptr ds:[0x861AF6C],eax
004E30BC    A1 F42FBF08     mov eax,dword ptr ds:[0x8BF2FF4]
004E30C1    40              inc eax
004E30C2    A3 F42FBF08     mov dword ptr ds:[0x8BF2FF4],eax
004E30C7    A1 F42FBF08     mov eax,dword ptr ds:[0x8BF2FF4]
004E30CC    25 1F000080     and eax,0x8000001F
004E30D1    79 05           jns Xmain.004E30D8
004E30D3    48              dec eax
004E30D4    83C8 E0         or eax,0xFFFFFFE0
004E30D7    40              inc eax
004E30D8    A3 F42FBF08     mov dword ptr ds:[0x8BF2FF4],eax
004E30DD    A1 00992901     mov eax,dword ptr ds:[0x1299900]
004E30E2    40              inc eax
004E30E3    A3 00992901     mov dword ptr ds:[0x1299900],eax
004E30E8    8B85 88FEFFFF   mov eax,dword ptr ss:[ebp-0x178]
004E30EE    83E8 05         sub eax,0x5                              ; 加速  
004E30F1    8985 88FEFFFF   mov dword ptr ss:[ebp-0x178],eax
004E30F7  ^ E9 4FFEFFFF     jmp main.004E2F4B
004E30FC    0FB605 21932901 movzx eax,byte ptr ds:[0x1299321]
004E3103    85C0            test eax,eax
004E3105    74 05           je Xmain.004E310C
004E3107    E9 A30F0000     jmp main.004E40AF
004E310C    B9 503DC909     mov ecx,main.09C93D50
004E3111    E8 D1A50200     call main.0050D6E7
004E3116    E8 4B7F2C00     call main.007AB066
004E311B    8D45 9C         lea eax,dword ptr ss:[ebp-0x64]
004E311E    50              push eax
004E311F    FF15 54220D01   call dword ptr ds:[0x10D2254]            ; kernel32.GetLocalTime
004E3125    FF35 54EFBF08   push dword ptr ds:[0x8BFEF54]
004E312B    0FB745 A6       movzx eax,word ptr ss:[ebp-0x5A]
004E312F    50              push eax
004E3130    0FB745 A4       movzx eax,word ptr ss:[ebp-0x5C]
004E3134    50              push eax
004E3135    0FB745 A2       movzx eax,word ptr ss:[ebp-0x5E]
004E3139    50              push eax
004E313A    0FB745 9E       movzx eax,word ptr ss:[ebp-0x62]
004E313E    50              push eax
004E313F    68 907D0D01     push main.010D7D90                       ; ASCII "Screen(%02d_%02d-%02d_%02d)-%04d.jpg"
004E3144    68 98EDBF08     push main.08BFED98                       ; ASCII "Screen(08_20-09_30)-0000.jpg"
004E3149    E8 CC388900     call main.00D76A1A
004E314E    83C4 1C         add esp,0x1C
004E3151    68 CB010000     push 0x1CB
004E3156    B9 80795808     mov ecx,main.08587980
特征:85 C0 74 05   E9 A3 0F 00 00

看雪线上公开课第01期《安全编码之SQL注入》,周日下午14:00,提前报名免费参与!

最新回复 (10)
mudebug 2016-12-15 12:22
2
0
樓主順便發分 mu的bin 好研究、。
Hacker小浪 2016-12-15 13:25
3
0
奇迹MU官方通杀
lookzo 2016-12-15 13:27
4
0
很老的游戏,还有人在玩么
junlinsky 2016-12-16 06:26
5
0
原来在这里还可以看到有研究这个游戏的
lookzo 2016-12-16 12:10
6
0
楼上的,我几年前很喜欢玩这个游戏,感兴趣可以一起玩玩,私信联系
HankFu 2016-12-18 06:38
7
0
木瓜奇迹mu,当年玩的私服
和弦 2016-12-19 18:01
8
0
最早玩的是01年的石器时代,最来传奇和MU也玩过,现在MU还活着吗?
oxGull 2016-12-19 18:10
9
0
小学玩的游戏...
wendax 2016-12-20 12:26
10
0
好长啊,完全没耐心看
wx_蓝天白云_432 2020-2-15 00:44
11
0
到现在还能用吗?
游客
登录 | 注册 方可回帖
返回