以后发这样的帖子时最好连同程序一起发上来,这样大家好帮你看看。不过从你贴的图来看不是OEP。
因为权限的问题,只能编辑一下这个帖子了。我下载了看了一下,M2server.exe是用ASPack 2.12 -> Alexey Solodovnikov加壳的,去壳。
0050D001 > 60 pushad//入口,这里按F7,然后观察寄存器
0050D002 E8 03000000 call GameCent.0050D00A
0050D007 - E9 EB045D45 jmp 45ADD4F7
0050D00C 55 push ebp
0050D00D C3 retn
0050D00E E8 01000000 call GameCent.0050D014
0050D013 EB 5D jmp short GameCent.0050D072
0050D015 BB EDFFFFFF mov ebx,-13
0050D01A 03DD add ebx,ebp
0050D01C 81EB 00D01000 sub ebx,10D000
寄存器:
EAX 00000000
ECX 0012FFB0
EDX 7C92E514 ntdll.KiFastSystemCallRet
EBX 7FFDA000
ESP 0012FFA4 //鼠标移到这里,右键,在数据窗口中跟随,然后在数据窗口中断点-硬件访问断点-WOrd,或者在命令行中直接hr esp
EBP 0012FFF0
ESI 0047005C GameCent.0047005C
EDI 00720065
EIP 0050D002 GameCent.0050D002
C 0 ES 0023 32位 0(FFFFFFFF)
P 1 CS 001B 32位 0(FFFFFFFF)
A 0 SS 0023 32位 0(FFFFFFFF)
Z 1 DS 0023 32位 0(FFFFFFFF)
S 0 FS 003B 32位 7FFDF000(FFF)
T 0 GS 0000 NULL
D 0
O 0 LastErr ERROR_NO_IMPERSONATION_TOKEN (0000051D)
EFL 00000246 (NO,NB,E,BE,NS,PE,GE,LE)
ST0 empty +UNORM 0069 006C0041 0012BC40
ST1 empty +UNORM 0065 00780065 002E006B
ST2 empty 0.0000015812572904600e-4933
ST3 empty +UNORM 0070 00780045 44010000
ST4 empty +UNORM 0078 0065002E 00720065
ST5 empty -UNORM E920 0012BB84 0012BC14
ST6 empty 1.0000000000000000000
ST7 empty 1.0000000000000000000
3 2 1 0 E S P U O Z D I
FST 4020 Cond 1 0 0 0 Err 0 0 1 0 0 0 0 0 (EQ)
FCW 027F Prec NEAR,53 掩码 1 1 1 1 1 1
F9运行到这里:
0050D3B0 /75 08 jnz short GameCent.0050D3BA
0050D3B2 |B8 01000000 mov eax,1
0050D3B7 |C2 0C00 retn 0C
0050D3BA \68 B8F84C00 push GameCent.004CF8B8
0050D3BF C3 retn
0050D3C0 8B85 26040000 mov eax,dword ptr ss:[ebp+426]
0050D3C6 8D8D 3B040000 lea ecx,dword ptr ss:[ebp+43B]
0050D3CC 51 push ecx
0050D3CD 50 push eax
两次F8后到这里:
004CF8B8 55 push ebp
004CF8B9 8BEC mov ebp,esp
004CF8BB 83C4 F0 add esp,-10
004CF8BE 53 push ebx
004CF8BF B8 D0DC4C00 mov eax,GameCent.004CDCD0
004CF8C4 E8 0F78F3FF call GameCent.004070D8
004CF8C9 8B1D A0584D00 mov ebx,dword ptr ds:[4D58A0] ; GameCent.004DACD4
004CF8CF 8B03 mov eax,dword ptr ds:[ebx]
然后用OD的Dump功能就可以了。不用修复就能运行了,如果用LoadPE的话修复一下。
查一下脱壳后的程序是用Borladn Delphi写的。
程序不只有10人的限制,在服务器IP地址上也有限制的,只能使用内网地址。
仔细检查了一下发现,有关人数的限制在MirServer\LoginSrv下的LoginSrv.exe中,(飞鸿网络 飞鸿网络 2000),人数最多可以达到2000的,请自己试一下吧。