以下提到的软件,下载地址为
ad1K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4m8S2L8W2)9J5k6h3u0S2K9h3c8#2i4K6u0W2j5$3!0E0i4K6u0r3M7$3S2S2M7X3g2Q4x3V1k6D9K9h3&6C8i4K6y4r3M7$3S2S2M7X3g2A6k6q4)9K6c8o6t1K6y4K6x3^5x3U0j5%4z5g2)9J5y4Y4g2C8i4K6y4p5x3U0x3%4x3e0x3K6y4e0p5%4
这是一个网络游戏单机版的服务端,没有商业目的,纯研究。解压到D盘,启动数据库服务,再安装服务,最后点服务控制器,control service-->start all server service.
才能正常调试。其他依存服务都起来后,可以单独把game停掉,再用OD挂载。另外这个是服务程序,如果直接运行的话,闪一下就没了。
如果不放心的话,可以在虚拟机里运行。困扰了一个星期了,网上能找到的所有办法都试过了。比如CCDEBUGER的脚本,fly的教程,SH4DOVV的注入器,resty的extractor。都解不出来。也有人说像是易语言的特征,用易语言的脱壳机也处理不了。所以特地到这里来求助。
PEID 查是MOLEBOX 2.0 * [OVERLAY].看头部特征也像。
04098BD3 > E8 00000000 call ps_game.04098BD8
04098BD8 60 pushad
04098BD9 E8 4F000000 call ps_game.04098C2D
运行到这里下了hr esp,bp VirtualProtect
040987A0 E8 DBFBFFFF call ps_game.04098380
040987A5 58 pop eax
040987A6 E8 55070000 call ps_game.04098F00
040987AB 58 pop eax
040987AC 894424 24 mov dword ptr ss:[esp+0x24],eax
040987B0 61 popad
040987B1 58 pop eax ; esp定律中断在这里
040987B2 58 pop eax
040987B3 FFD0 call eax
040987B5 E8 F5CB0000 call ps_game.040A53AF
0051CF95 E8 D0420100 call ps_game.0053126A
0051CF9A ^ E9 A4FEFFFF jmp ps_game.0051CE43
0053126A 8BFF mov edi,edi ; 按所有教程的介绍,这里应该是OEP了?
0053126C 55 push ebp
0053126D 8BEC mov ebp,esp
0053126F 83EC 10 sub esp,0x10
00531272 A1 C4F75700 mov eax,dword ptr ds:[0x57F7C4]
00531277 8365 F8 00 and dword ptr ss:[ebp-0x8],0x0
0053127B 8365 FC 00 and dword ptr ss:[ebp-0x4],0x0
0053127F 53 push ebx
00531280 57 push edi
040A0620 /$ 55 push ebp
040A0621 |. 8BEC mov ebp,esp
040A0623 |. 83EC 10 sub esp,0x10
040A0626 |. C745 FC 00000000 mov [local.1],0x0
040A062D |. 833D 5C110B04 00 cmp dword ptr ds:[0x40B115C],0x0
040A0634 |. 75 0A jnz short ps_game.040A0640
040A0636 |. B9 0A0000EF mov ecx,0xEF00000A
040A063B |. E8 D72F0000 call ps_game.040A3617
040A0640 |> 8B45 08 mov eax,[arg.1]
040A0643 |. 8B08 mov ecx,dword ptr ds:[eax]
040A0645 |. 51 push ecx
040A0646 |. 8B0D 5C110B04 mov ecx,dword ptr ds:[0x40B115C]
040A064C |. E8 13650000 call ps_game.040A6B64
040A0651 |. 8945 F8 mov [local.2],eax
040A0654 |. 837D F8 00 cmp [local.2],0x0
040A0658 74 45 je short ps_game.040A069F ; 这里是IAT加密的magic jump,直接改成JMP了。
040A065A |. 8D55 F0 lea edx,[local.4]
040A065D |. 52 push edx ; /pOldProtect
040A065E |. 6A 04 push 0x4 ; |NewProtect = PAGE_READWRITE
040A0660 |. 6A 04 push 0x4 ; |Size = 4
040A0662 |. 8B45 08 mov eax,[arg.1] ; |
040A0665 |. 50 push eax ; |Address
040A0666 |. FF15 40C80A04 call dword ptr ds:[0x40AC840] ; \VirtualProtect
在OEP处脱壳,再用IMPORTREC修复。能运行,不报错,但实际是不能正常运行的。
用LORDPE查看dUMP下来的PE文件,有一个区段,被填充了大量的00数据。不知道怎么修复。真正有用的区段应该是区段0,dump下来应该在1.3M左右。现在问题是dump下来有62M,区段不知道如何去修复。
另外里面还捆绑了一个文件,ggauth52.dll,这个也提取了,但是不知道如何调用,或者说干脆不需要调用。求解。
[培训]科锐逆向工程师培训第53期2025年7月8日开班!
上传的附件: