首页
社区
课程
招聘
[原创]过掉 佣兵天下 游戏的驱动保护,支持下看雪
发表于: 2010-12-6 15:29 12184

[原创]过掉 佣兵天下 游戏的驱动保护,支持下看雪

2010-12-6 15:29
12184

b1b465b4 8bff            mov     edi,edi
b1b465b6 55              push    ebp        //这两行是内核的特征,凑足5个字
b1b465b7 8bec            mov     ebp,esp
b1b465b9 83ec10          sub     esp,10h
b1b465bc 53              push    ebx
b1b465bd 8b5d14          mov     ebx,dword ptr [ebp+14h] //  3参  ObjectAttributes
b1b465c0 56              push    esi
b1b465c1 8b750c          mov     esi,dword ptr [ebp+0Ch] //  1参  ProcessHandle
b1b465c4 57              push    edi
b1b465c5 33c0            xor     eax,eax
b1b465c7 8d7df4          lea     edi,[ebp-0Ch]
b1b465ca ab              stos    dword ptr es:[edi]
b1b465cb ab              stos    dword ptr es:[edi]
b1b465cc ab              stos    dword ptr es:[edi]
b1b465cd 8b03            mov     eax,dword ptr [ebx]  //  3参给Eax
b1b465cf 8365f400        and     dword ptr [ebp-0Ch],0
b1b465d3 8945f8          mov     dword ptr [ebp-8],eax //  3参给局部变量 ebp-8
b1b465d6 c645f001        mov     byte ptr [ebp-10h],1        //给 ebp-10h 赋值为1
b1b465da 8975fc          mov     dword ptr [ebp-4],esi        //1参给局部变量 ebp-4
b1b465dd ff151410b5b1    call    dword ptr ds:[0B1B51014h] //调用了一个CALL,估计是判断是否是自己的PID
b1b465e3 8bf8            mov     edi,eax
b1b465e5 8d45f0          lea     eax,[ebp-10h]  //取出地址
b1b465e8 50              push    eax                //这个地址里的值是1,压入1
b1b465e9 b9503ab5b1      mov     ecx,0B1B53A50h        //这里是个全局变量
b1b465ee e8873a0000      call    b1b4a07a
b1b465f3 57              push    edi
b1b465f4 e885dcffff      call    b1b4427e
b1b465f9 85c0            test    eax,eax //判断 EAX是否为空
b1b465fb 7406            je      b1b46603 //如果EAX为空就跳

b1b465fd c645f001        mov     byte ptr [ebp-10h],1//如果EAX不为空,再次给[ebp-10h]赋值为1
b1b46601 eb03            jmp     b1b46606

b1b46603 8b75fc          mov     esi,dword ptr [ebp-4]  //1参赋值给ESI

b1b46606 8b4d08          mov     ecx,dword ptr [ebp+8]        //EBP+8是CALL的返回地址
b1b46609 832100          and     dword ptr [ecx],0
b1b4660c 807df000        cmp     byte ptr [ebp-10h],0 //比较下是否为0
b1b46610 b8220000c0      mov     eax,0C0000022h
b1b46615 8bf8            mov     edi,eax
b1b46617 7413            je      b1b4662c        //突破口就在这里,搞掉这句,让它执行原始的NTopenProcess,这个保护也就过了
b1b46619 837df400        cmp     dword ptr [ebp-0Ch],0        比较执行的那个CALL的返回值,如果为0就跳
b1b4661d 740b            je      b1b4662a

b1b4661f 53              push    ebx        //如果  [ebp-0Ch]不为0就执行下面的
b1b46620 ff7510          push    dword ptr [ebp+10h] //2参
b1b46623 56              push    esi
b1b46624 51              push    ecx
b1b46625 ff55f4          call    dword ptr [ebp-0Ch]   //这里执行的原始的NTopenprocess
b1b46628 8bf8            mov     edi,eax

b1b4662a 8bc7            mov     eax,edi

b1b4662c 5f              pop     edi
b1b4662d 5e              pop     esi
b1b4662e 5b              pop     ebx
b1b4662f c9              leave
b1b46630 c21000          ret     10h

警告,此贴,只为学习交流,切勿用于商业目的
想找个有点实力的团队 QQ1500749598


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

收藏
免费 7
支持
分享
最新回复 (14)
雪    币: 1602
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
难道驱动也能patch?到底怎么做的?
2010-12-6 15:41
0
雪    币: 18
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
当然可以了,驱动 patch 太正常了
2010-12-6 15:42
0
雪    币: 2105
活跃值: (424)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
无花无壳 无VM 无校验 无暗桩 放出来就是让人XX的
2010-12-6 16:00
0
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
5
话说这年头还有hook NtOpenProcess的,神啊保佑他们别蛋碎了~
2010-12-6 20:32
0
雪    币: 91
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
这个太不给力了,
2010-12-6 21:12
0
雪    币: 38
活跃值: (536)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
7
小儿科,没有多少含量。
2010-12-6 23:18
0
雪    币: 132
活跃值: (30)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
这也叫保护???

哄自己开心滴....
2010-12-8 12:33
0
雪    币: 51
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
这保护也太弱了吧,驱动可以加VM保护的哦,
不是说,驱动就是用来XX的
2010-12-8 21:26
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
完全正确,估计这个驱动就是放出来让大家鄙视一下的
2010-12-9 12:14
0
雪    币: 579
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
真的不很错啊。
2010-12-10 15:08
0
雪    币: 1163
活跃值: (137)
能力值: ( LV12,RANK:230 )
在线值:
发帖
回帖
粉丝
12
b1b465b6 55 push ebp //这两行是内核的特征,凑足5个字


hotpatch并不是内核的特征,而且也不是这两行,而是mov edi,edi 加上上面的三个nop。 另:是5个byte,不是字
2010-12-14 10:25
0
雪    币: 216
活跃值: (144)
能力值: ( LV10,RANK:160 )
在线值:
发帖
回帖
粉丝
13
小弟也来鄙视一下,还有疑问,这个真的是驱动保护吗~~
2010-12-14 12:36
0
雪    币: 160
活跃值: (380)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
无花无壳 无VM 无校验 无暗桩.......
除了这几个,还有什么“无”?
2010-12-15 09:37
0
雪    币: 6092
活跃值: (744)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
15
恢复ssdt就好了 垃圾保护
2010-12-16 19:11
0
游客
登录 | 注册 方可回帖
返回
//