首页
社区
课程
招聘
关于NProtect Gameguard?
发表于: 2006-8-22 10:33 52932

关于NProtect Gameguard?

2006-8-22 10:33
52932
脱壳后程序运行不到一分钟自动退出是由于NProtect Gameguard在做怪.
当把调用NProtect 的call,nop 之后,程序不会再退出,变成了无法登陆服务器.这该怎么办?有谁研究过吗?一起讨论一下啊

-------
引用:
首先NP启动,检测GameMon等主要文件,如果被修改或异常,他会自动下载最新的来覆盖掉。启动游戏以后,API Hook防护,内存开保护模块,线程隐藏(包括客户端)一些比较底层的软件,比如SoftICE,调试软件OD都是不能用的,被防掉了。这样进入游戏以后,NP会有一个值(我们暂时称之为正确验证数值)这个值对了,会告诉客户端,发给服务器一个信息,服务器返回安全信息。这样你才可以进入游戏。这时候如果你把隐藏的NP结束掉,你的游戏也不能继续运行。因为他们结合度很神,在时时检测。

那么有些“高手”说,直接脱壳去掉NP启动不就好了,呵呵~你们想的太天真,我说了,NP会返回值给客户端(如果没记错,是由一个128bit的密钥控制)然后再和服务器验证。你们绕过NP,根本登陆不到游戏服务器内。所以这也是他防止脱机外挂的原理,你可以通过破解Nprotect来达成脱机外挂的目的(比如希望999)但是如果NP一更新,每次换个密钥,你有啥办法?每次都更新?你更新他们也更新,这样就是无休止的更新战。我相信最终倒下的事外挂开发者。。。不是你不行,是给活活累死了!
... ...

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (76)
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
刚才看到另外一兄弟也是这个问题,我也用vera查了一下
http://www.pediy.com/tools/unpack/ASProtect/vera/vera.zip

结果是:Version: ASProtect 1.23 RC4 - 1.3.08.24 [1]

但这个版本的ASProtect 有anti吗,程序用OD加载运行不起来,单独运行却可以.
2006-8-22 10:54
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
坛子里有很多这样的帖子,看看就明白了
2006-8-23 10:41
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
最初由 Fresh_Dawn 发布
坛子里有很多这样的帖子,看看就明白了


谢谢这位兄弟,你能不能给我转一个?我找不到可以解决这个办法的帖子.
2006-8-23 11:29
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5


有力气没地方使 555555555
2006-8-23 12:15
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
1、PEID检测:ASProtect 1.23 RC4 - 1.3.08.24 -> Alexey Solodovnikov
2、OD加载程序,去掉所有异常,按F9运行.这时程序无法运行!提示"某某文件非32有效文件"之类的信息.
3、下断BP CreateFileA,发现有\\.\SICE之类的信息,剔除掉(将CreateFileA调用这些之后将EAX置为0),F9运行-->仍然提示"某某文件(比如A)非有效的文件",但这个A文件明明存在啊.


这该怎么办?如果用OD加载不能运行起来的话,那就无法动态跟踪,哪位高手遇到过这种问题,怎么解决的啊?

4、如果不去理这些,OD加载程序,用IsDebug 1.4插件去掉Ollydbg的调试器标志。设置Ollydbg忽略除了“内存访问异常”之外的所有其他异常选项,来到最后异常处,然后查找Stolen Code,同时修复IAT表,脱壳.

脱壳后程序可以运行,但是运行时间很短,不到一分钟就自动退出.这该这么办?
5、有朋友提示用OD加载脱壳后的程序跟踪,但是OD加载脱壳后的程序依然运行不了,因此无法跟踪啊.

6、原程序和脱壳程序,在单独情况下可以运行.
2006-8-25 13:03
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7


这就是程序在OD下运行时报的错,如果程序单独运行则不会出现这个错误.
2006-8-25 13:09
0
雪    币: 47147
活跃值: (20380)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
8
Nprotect Gameguard
2006-8-25 13:12
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
最初由 kanxue 发布
Nprotect Gameguard


太好了,坛主你认识,能不能帮我大概讲解一下这方面的知识?公司用一个游戏来考核我,现在快一个月了,脱壳是脱了,最后就剩这个问题不知道该怎么弄.从来都没接触过
2006-8-25 13:16
0
雪    币: 47147
活跃值: (20380)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
10
我也不知如何对付。
2006-8-25 13:27
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
最初由 kanxue 发布
我也不知如何对付。


OD加载程序运行不起来跟这个有关系吗?
下断:

77E7C1AB kernel32.CreateFil>/$  55            push    ebp // 断到这里
77E7C1AC                    |.  8BEC          mov     ebp, esp
77E7C1AE                    |.  FF75 08       push    dword ptr [ebp+8]        ;  [EBP+8]==0012E88C
77E7C1B1                    |.  E8 65D20000   call    77E8941B
77E7C1B6                    |.  85C0          test    eax, eax
77E7C1B8                    |.  75 05         jnz     short 77E7C1BF
77E7C1BA                    |.  83C8 FF       or      eax, FFFFFFFF
77E7C1BD                    |.  EB 1A         jmp     short 77E7C1D9
77E7C1BF                    |>  FF75 20       push    dword ptr [ebp+20]       ; /hTemplateFile
77E7C1C2                    |.  FF75 1C       push    dword ptr [ebp+1C]       ; |Attributes
77E7C1C5                    |.  FF75 18       push    dword ptr [ebp+18]       ; |Mode
77E7C1C8                    |.  FF75 14       push    dword ptr [ebp+14]       ; |pSecurity
77E7C1CB                    |.  FF75 10       push    dword ptr [ebp+10]       ; |ShareMode
77E7C1CE                    |.  FF75 0C       push    dword ptr [ebp+C]        ; |Access
77E7C1D1                    |.  FF70 04       push    dword ptr [eax+4]        ; |FileName
77E7C1D4                    |.  E8 04000000   call    CreateFileW              ; \CreateFileW
77E7C1D9                    |>  5D            pop     ebp
77E7C1DA                    \.  C2 1C00       retn    1C

此时堆栈:
0012E88C   00000000
0012E890   77E7F273  kernel32.77E7F273
0012E894   004D2AC0  Ragexe.004D2AC0
0012E898   0123050C
0012E89C   016C9AC0
0012E8A0   0012E894
0012E8A4   000000A5
0012E8A8   00633D27  /CALL 到 CreateFileA 来自 Ragexe.00633D21
0012E8AC   0012EAA8  |FileName = "D:\Program Files\Gravity\RagnarokOnline\GameGuard\npgl.erl"
0012E8B0   C0000000  |Access = GENERIC_READ|GENERIC_WRITE
0012E8B4   00000001  |ShareMode = FILE_SHARE_READ
0012E8B8   00000000  |pSecurity = NULL
0012E8BC   00000002  |Mode = CREATE_ALWAYS
0012E8C0   80000080  |Attributes = NORMAL|WRITE_THROUGH
0012E8C4   00000000  \hTemplateFile = NULL
0012E8C8   004D2AC0  Ragexe.004D2AC0

如果我在77E7C1B6处更改eax为0,不让它CreateFileA “GameGuard的文件”.这样做原理上行得通吗?
2006-8-25 13:36
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
已测试,不行!如果去掉的话,程序直接跑到:
77F8EE04 ntdll.ZwTerminateProcess      B8 E0000000        mov eax,0E0
77F8EE09                               8D5424 04          lea edx,dword ptr ss:[esp+4]
77F8EE0D                               CD 2E              int 2E
77F8EE0F                               C2 0800            retn 8 // 这里
2006-8-25 13:48
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
最初由 kanxue 发布
我也不知如何对付。


搜索到的信息:
nProtect GameGuard 是一款比较著名的防作弊软件,在玩家使用外挂(无论任何游戏的外挂,就算不是当前游戏的外挂也不可以)的时候会提示"检测到游戏被破解修改"并强行关闭游戏。

问题是;我运行脱壳后的程序,不到一分钟时间,会毫无预兆地退出,并未提示"检测到游戏被破解修改".啊.
2006-8-25 14:16
0
雪    币: 333
活跃值: (40)
能力值: ( LV9,RANK:730 )
在线值:
发帖
回帖
粉丝
14
楼主看一下下面的文章,是不是文中提到的原因。

《不被OD分析原因之一和修补方法》
http://bbs.pediy.com/showthread.php?s=&threadid=17592&highlight=%B2%BB%B1%BBOD%B7%D6%CE%F6%D4%AD%D2%F2%D6%AE%D2%BB%BA%CD%D0%DE%B2%B9%B7%BD%B7%A8
2006-8-26 20:59
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
最初由 wzwgp 发布
楼主看一下下面的文章,是不是文中提到的原因。

《不被OD分析原因之一和修补方法》
http://bbs.pediy.com/showthread.php?s=&threadid=17592&highlight=%B2%BB%B1%BBOD%B7%D6%CE%F6%D4%AD%D2%F2%D6%AE%D2%BB%BA%CD%D0%DE%B2%B9%B7%BD%B7%A8


谢谢!很好的资料!同时我也查明原因,是NProtect Gameguard做怪,去除它之后,程序不再自动退出!但问题变成了:游戏怎么也登陆不上服务器.晕.
2006-8-27 10:55
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
有人研究过NProtect Gameguard吗? 一起来讨论讨论啊.
2006-8-27 11:22
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
不要尝试用脱壳后的文件代替原文件,这样的结果是游戏报告给你文件被修改过拒绝运行,它强在和游戏主程序结合的很紧密,一有什么不妥就会挂掉
2006-8-27 13:48
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
最初由 3XeyeS 发布
不要尝试用脱壳后的文件代替原文件,这样的结果是游戏报告给你文件被修改过拒绝运行,它强在和游戏主程序结合的很紧密,一有什么不妥就会挂掉


但是我脱壳后也去掉NP启动了啊.
2006-8-27 14:06
0
雪    币: 184
活跃值: (65)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
19
最初由 Rucit 发布
但是我脱壳后也去掉NP启动了啊.

NP不启动游戏肯定进不了的= =
2006-8-27 17:20
0
雪    币: 427
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
其实也不难,不破坏文件的前提下破解,难度低很多。
2006-8-27 17:52
0
雪    币: 427
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
最初由 3XeyeS 发布
不要尝试用脱壳后的文件代替原文件,这样的结果是游戏报告给你文件被修改过拒绝运行,它强在和游戏主程序结合的很紧密,一有什么不妥就会挂掉


首先要明白,检测只是很弱智的关联检测,他做不到实时扫描内存检测的,因为我做过,造成游戏很卡,即使降低检测线程优先度一样没用的。因此理论上破解不难,只是能不能找到关键点而已。
2006-8-27 17:54
0
雪    币: 1309
活跃值: (232)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
这些反外挂就是在实时检测啊?
2006-8-27 18:01
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
要解决的办法也容易........线程注入........
找到NPCODE...直接跳过GameMon
2006-8-27 18:46
0
雪    币: 226
活跃值: (214)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
24
一共500种算法,慢慢提~
2006-8-27 19:00
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
最初由 鸡蛋壳 发布
其实也不难,不破坏文件的前提下破解,难度低很多。


这句话怎么理解?
脱壳不正是破坏文件了吗?但是不脱壳的话怎么破解?
2006-8-28 09:44
0
游客
登录 | 注册 方可回帖
返回
//