首页
社区
课程
招聘
[原创]某P保护之调戏权限清0的学习。
发表于: 2016-1-10 16:37 18667

[原创]某P保护之调戏权限清0的学习。

2016-1-10 16:37
18667

废话不多说啦,直接开干。

我们先来看看ValidAccessMask的值。
通过NtCreateDebugObject来定位。
uf  NtCreateDebugObject

地址为fffff800`04011f40

第一个地址就是_object_type的地址

我们想得到的ValidAccessMask存在TypeInfo中,偏移为0x40

由上图可以看出ValidAccessMask的默认值为0x1f000f,此值为0时OD将无法附加,测试一下看看,我们将ValidAccessMask修改为0。


进程已无法附加,可见ValidAccessMask的值的确对我们附加进程造成影响,参考资料得TP是循环的将ValidAccessMask清0,即得出解决方法:1)自己恢复原来的值 2)找到TP清零的位置Nop掉 3)对ValidAccessMask进行移位,这里用最简单的方法一。

写代码时候发现了许多问题。NtCreateDebugObject这个函数在SSDT中,而X64已经没有导出KeServiceDescriptorTable,这里参考了TA大的Win64驱动开发教程,代码拿来即可用,抱着学习的心态来,学习方法和原理,动手。

反汇编KiSystemCall64,这里是内核函数入口。
uf KiSystemCall64,代码很多,贴出关键部分

特征码是:4c8d15c
内核代码开始的地址保存在C0000082寄存器中,读取这个寄存器也很方便,可用__readmsr()函数读取(MSR中文是特别寄存器块),
WinDbg测试看看。

地址相同。

/************************************************************************
函数名称:GetKeServiceDescriptorTable64
函数功能:得到GetKeServiceDescriptorTable64地址
************************************************************************/
ULONGLONG GetKeServiceDescriptorTable64()
{
  PUCHAR StatrtSearchAddr = (PUCHAR)__readmsr(0xc0000082);
  PUCHAR EndSearchAddr = StatrtSearchAddr + 0x500;
  PUCHAR i = NULL;
  UCHAR b1 = 0, b2 = 0, b3 = 0;
  ULONG templong = 0;
  ULONGLONG addr = 0;

  for (i = StatrtSearchAddr; i < EndSearchAddr; i++)
  {
    if (MmIsAddressValid(i) && MmIsAddressValid(i + 1) && MmIsAddressValid(i + 2))
    {
      b1 = *i;
      b2 = *(i + 1);
      b3 = *(i + 2);

      //fffff800`01ad0772 4c8d15c7202300  lea     r10,[nt!KeServiceDescriptorTable (fffff800`01d02840)]
      if (b1 == 0x4c && b2 == 0x8d && b3 == 0x15)
      {
        memcpy(&templong,i + 3,4);
        addr = (ULONGLONG)templong + (ULONGLONG)i + 7;
        return addr;
      }
    }
  }
  return 0;
}

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 3
支持
分享
最新回复 (27)
雪    币: 163
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
前排占座
2016-1-10 17:20
0
雪    币: 719
活跃值: (777)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
3
治标不治本,很多简单的方法都比这个好点。。。。例如畅游那个鸟东西就会给你来个XXX重启
2016-1-10 19:29
0
雪    币: 294
活跃值: (119)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
4
CP那玩意儿之前不是随便剥着玩咩?现在版本不清楚了
2016-1-10 20:21
0
雪    币: 3852
活跃值: (2219)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
新手来学习了!
2016-1-11 17:43
0
雪    币: 5179
活跃值: (3387)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
那还有什么样的方法,谢谢指点。
2016-1-12 13:09
0
雪    币: 5179
活跃值: (3387)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
感谢zfdyq,看了你的帖子一步一步学习的。
2016-1-12 13:10
0
雪    币: 70
活跃值: (72)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8

膜拜一下~~
2016-1-12 13:55
0
雪    币: 300
活跃值: (2532)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
mark
2016-1-12 14:02
0
雪    币: 26
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
问下楼主怎么过的双机调试。找了好久没见到相关的
2016-1-13 10:49
0
雪    币: 1602
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
很详尽,感谢此文
2016-1-14 08:02
0
雪    币: 1
活跃值: (48)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
我看到了LOL
2016-1-18 12:17
0
雪    币: 26
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
学习了,源码拿走实际动手试试
2016-4-10 13:30
0
雪    币: 10
活跃值: (71)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
这个什么情况,具体怎么弄才最好?
2016-5-11 17:19
0
雪    币: 193
活跃值: (190)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
双机调试我也过不了   异常处理函数为 KdpTrap   蓝屏   楼主能不能指教下
2016-5-12 13:20
0
雪    币: 792
活跃值: (2429)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
16
感谢,LZ SSDT表获取的思路帮我我大忙
2016-5-12 14:36
0
雪    币: 4989
活跃值: (2425)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
mark下讲的还是非常详细
2016-5-12 14:39
0
雪    币: 792
活跃值: (2429)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
18
LZ的文中有个小错误吧  特征码是:4c8d15 还有MSR中文是模式寄存器。。。。。
2016-5-12 14:56
0
雪    币: 792
活跃值: (2429)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
19
http://bbs.pediy.com/showthread.php?t=183925
2016-5-12 15:10
0
雪    币: 243
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
MARK
2016-5-18 23:00
0
雪    币: 1441
活跃值: (1240)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
驱动编译后不能用的
2016-11-12 04:43
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
新手来学习了!
2016-11-12 07:43
0
雪    币: 124
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
学习了,谢谢分享。
2016-11-13 01:17
0
雪    币: 1480
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
好文章,谢谢分享
2018-3-27 11:25
0
雪    币: 25
活跃值: (506)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
好文章 谢谢分享
2018-7-22 15:07
0
游客
登录 | 注册 方可回帖
返回
//