(收藏) 反nProtect监视原理(+Bypass NP in ring0)
标 题:
【原创】反NP监视原理(+Bypass NP in ring0)
作 者: 堕落天才
时 间: 2007-01-03,11:58
链 接: http://bbs.pediy.com/showthread.php?t=37353
NP= nProtect GameGuard(如果你不知道这是什么,请不要往下看)
*******************************************
*标题:【原创】反NP监视 原理 *
*作者:堕落天才 *
*日期:2007年1月3号 *
*版权声明:请保存文章的完整,转载请注明出处*
*******************************************
一、NP用户层监视 原理
NP启动后通过WriteProcessMemory跟CreateRemoteThread向所有进程注入代码(除了系统进程smss.exe),代码通过np自己的LoadLibrary向目标进程加载npggNT.des。npggNT.des一旦加载就马上开始干“坏事”,挂钩(HOOK)系统关键函数如OpenProcess,ReadProcessMemory,WriteProcessMemory,PostMessage等等。挂钩方法是通过改写系统函数头,在函数开始JMP到npggNT.des中的替换函数。用户调用相应的系统函数时,会首先进入到npggNT.des模块等待NP的检查,如果发现是想对其保护的游戏进行不轨操作的话,就进行拦截,否则就调用原来的系统函数,让用户继续。
下面是NP启动前user32.dll中的PostMessageA的源代码(NP版本900,XP sp2)
8BFF MOV EDI,EDI
55 PUSH EBP
8BEC MOV EBP,ESP
56 PUSH ESI
57 PUSH EDI
8B7D 0C MOV EDI,DWORD PTR SS:[EBP+C]
8BC7 MOV EAX,EDI
2D 45010000 SUB EAX,145
74
作 者: 堕落天才
时 间: 2007-01-03,11:58
链 接: http://bbs.pediy.com/showthread.php?t=37353
NP= nProtect GameGuard(如果你不知道这是什么,请不要往下看)
*******************************************
*标题:【原创】反NP监视 原理 *
*作者:堕落天才 *
*日期:2007年1月3号 *
*版权声明:请保存文章的完整,转载请注明出处*
*******************************************
一、NP用户层监视 原理
NP启动后通过WriteProcessMemory跟CreateRemoteThread向所有进程注入代码(除了系统进程smss.exe),代码通过np自己的LoadLibrary向目标进程加载npggNT.des。npggNT.des一旦加载就马上开始干“坏事”,挂钩(HOOK)系统关键函数如OpenProcess,ReadProcessMemory,WriteProcessMemory,PostMessage等等。挂钩方法是通过改写系统函数头,在函数开始JMP到npggNT.des中的替换函数。用户调用相应的系统函数时,会首先进入到npggNT.des模块等待NP的检查,如果发现是想对其保护的游戏进行不轨操作的话,就进行拦截,否则就调用原来的系统函数,让用户继续。
下面是NP启动前user32.dll中的PostMessageA的源代码(NP版本900,XP sp2)
8BFF MOV EDI,EDI
55 PUSH EBP
8BEC MOV EBP,ESP
56 PUSH ESI
57 PUSH EDI
8B7D 0C MOV EDI,DWORD PTR SS:[EBP+C]
8BC7 MOV EAX,EDI
2D 45010000 SUB EAX,145
74