首页
社区
课程
招聘
[原创]反NP监视原理(+Bypass NP in ring0)
发表于: 2007-1-3 11:58 86460

[原创]反NP监视原理(+Bypass NP in ring0)

2007-1-3 11:58
86460
收藏
免费 7
支持
分享
最新回复 (91)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
好文,等待下文
2007-1-4 13:02
0
雪    币: 213
活跃值: (96)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
27
的确很聪明,非常的聪明.
2007-1-4 13:40
0
雪    币: 213
活跃值: (96)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
28
NP不用掉哪个 函数了,他自己重写一个在复制一份代码,你的办法就不灵了
2007-1-4 13:43
0
雪    币: 206
活跃值: (43)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
29
np 是什么呀?
2007-1-4 17:53
0
雪    币: 179
活跃值: (26)
能力值: ( LV5,RANK:75 )
在线值:
发帖
回帖
粉丝
30
sustain..
2007-1-4 20:37
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
31
堕落天才 支持
2007-1-4 21:37
0
雪    币: 389
活跃值: (967)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
32
最初由 云重 发布
NP不用掉哪个 函数了,他自己重写一个在复制一份代码,你的办法就不灵了


自己建立一个简单的内核吧~~~~万能....
2007-1-5 02:04
0
雪    币: 291
活跃值: (400)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
33
上卡巴撕鸡,只要有人想胡乱入侵进程就会报警
貌似很多游戏因为NP导致一些莫名其妙的问题,游戏厂商的回答是关掉防火?、杀毒软件,faint
2007-1-5 13:41
0
雪    币: 389
活跃值: (967)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
34
最初由 草原猎豹 发布
上卡巴撕鸡,只要有人想胡乱入侵进程就会报警
貌似很多游戏因为NP导致一些莫名其妙的问题,游戏厂商的回答是关掉防火?、杀毒软件,faint


     估计以后游戏客户端也要用上 Themida 了~~
2007-1-5 16:10
0
雪    币: 213
活跃值: (96)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
35
最初由 笑熬浆糊 发布
 估计以后游戏客户端也要用上 Themida 了~~


韩国有的版本NP 已经用Themida加密了,驱动用了np公司自己写的VM保护,你没看见?
2007-1-5 20:31
0
雪    币: 213
活跃值: (96)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
36
最初由 kanxue 发布
NP不是神话,感谢堕落天才愿意与大家分享


是不是幻影的那个D.boy?难得见你来论坛 :)


韩国有的版本NP 已经用Themida加密了,驱动用了np公司自己写的VM保护.

快要成神话了
2007-1-5 20:33
0
雪    币: 257
活跃值: (11)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
37
最初由 云重 发布
韩国有的版本NP 已经用Themida加密了,驱动用了np公司自己写的VM保护,你没看见?


是啊是啊,快没得分析的机会了
2007-1-6 16:08
0
雪    币: 67
活跃值: (66)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
38
最初由 云重 发布
韩国有的版本NP 已经用Themida加密了,驱动用了np公司自己写的VM保护.

快要成神话了

搞了这么多np版本,还好我没碰到tm用vm保护的np, 不过估计也快了...
np似乎是几个小组各自在维护自己的版本
2007-1-6 18:17
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
39
谢谢~~真的很好
2007-1-6 19:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
40
好帖子应该多发点啊
2007-1-11 13:18
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
41
好帖,顶!顶顶!!・~!・
2007-1-11 15:42
0
雪    币: 1263
活跃值: (5119)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
42
这种方法适用于代码比较简单的系统函数。下面我们看看keybd_event的函数源码
    8BFF            MOV EDI,EDI                              ; USER32.keybd_event
    55              PUSH EBP
    8BEC            MOV EBP,ESP
    83EC 1C         SUB ESP,1C
    8B4D 10         MOV ECX,DWORD PTR SS:[EBP+10]
    8365 F0 00      AND DWORD PTR SS:[EBP-10],0
    894D EC         MOV DWORD PTR SS:[EBP-14],ECX
    66:0FB64D 08    MOVZX CX,BYTE PTR SS:[EBP+8]
    66:894D E8      MOV WORD PTR SS:[EBP-18],CX
    66:0FB64D 0C    MOVZX CX,BYTE PTR SS:[EBP+C]
    66:894D EA      MOV WORD PTR SS:[EBP-16],CX
    8B4D 14         MOV ECX,DWORD PTR SS:[EBP+14]
    894D F4         MOV DWORD PTR SS:[EBP-C],ECX
    6A 1C           PUSH 1C
    33C0            XOR EAX,EAX
    8D4D E4         LEA ECX,DWORD PTR SS:[EBP-1C]
    40              INC EAX
    51              PUSH ECX
    50              PUSH EAX
    8945 E4         MOV DWORD PTR SS:[EBP-1C],EAX
    E8 9B8DFCFF     CALL USER32.SendInput
    C9              LEAVE
    C2 1000         RETN 10

    由上面我们看到keybd_event进行了一些参数的处理最后还是调用了user32.dll中的SendInput函数。而下面是SendInput的源代码
    B8 F6110000     MOV EAX,11F6
    BA 0003FE7F     MOV EDX,7FFE0300
    FF12            CALL DWORD PTR DS:[EDX]          ; ntdll.KiFastSystemCall
    C2 0C00         RETN 0C

    SendInput代码比较简单吧?我们发现SendInput最终是调用了ntdll.dll中的KiFastSystemCall函数,我们再跟下去,KiFastSystemCall就是这个样子了
    8BD4            MOV EDX,ESP
    0F34            SYSENTER
    最终就是进入了SYSENTER。
   
    通过上面的代码我们发现一个keybd_event函数构建并不复杂因此我们完全可以把上面的代码COPY到自己的程序,用来替代原来的keybd_event。NP启动后依然会拦截原来的那个,但已经没关系啦,因为我们不需要用原来那个keybd_event了。

请问如何写成 API keybd_event 的功能?
2007-1-11 16:40
0
雪    币: 418
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
43
好帖.我顶
2007-1-12 01:56
0
雪    币: 12
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
44
最初由 kagayaki 发布
请问如何写成 API keybd_event 的功能?
........


把所有语句照抄之余恢复相应堆栈就可以了。
2007-1-12 01:59
0
雪    币: 1263
活跃值: (5119)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
45
还是不会,可以帮写一个参考一下吗?
2007-1-12 14:56
0
雪    币: 1263
活跃值: (5119)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
46
顶一下!!!!
2007-1-13 03:58
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
47
学习学习!!!
2007-1-13 21:39
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
48
最初由 鸡蛋壳 发布
其实可以做NP的外挂,HOOK NP把NP目标转向到假外挂进程。至少可以逃过npggNT.des监控


很好的想法呢
2007-1-13 23:36
0
雪    币: 214
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
49
Originally posted by kagayaki
这种方法适用于代码比较简单的系统函数。下面我们看看keybd_event的函数源码
8BFF MOV EDI,EDI ; USER32.keybd_event
55 PUSH EBP
8BEC MOV EBP,ESP
83EC 1C SUB ESP,1C
........


好像已经不可行了.
2007-1-14 02:29
0
雪    币: 243
活跃值: (274)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
50
在开启NP后如何用OD调试游戏线程呢?我已解决打开OD给他注册监视进程了.但怎么跳过他的0级保护呢?
2007-1-14 02:54
0
游客
登录 | 注册 方可回帖
返回
//