本人菜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
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)