首页
社区
课程
招聘
[旧帖] [求助]获取Shadow SSDT 函数地址蓝屏? 0.00雪花
发表于: 2012-11-28 15:35 1669

[旧帖] [求助]获取Shadow SSDT 函数地址蓝屏? 0.00雪花

2012-11-28 15:35
1669
PULONG getAddressOfShadowTable()
{
        PULONG p;
        //兼容XP,2003和WIN7
        //nt!KeAddSystemServiceTable+0x1a:
        //83de0022 8d8840dbdb83    lea     ecx,nt!KeServiceDescriptorTableShadow (83dbdb40)[eax]
        //83de0028 833900          cmp     dword ptr [ecx],0
        //83de002b 7546            jne     nt!KeAddSystemServiceTable+0x6b (83de0073)
        //8d88两个字节,所以+2
        p = (PULONG)((ULONG)KeAddSystemServiceTable + 0x1a + 2);
        return (PULONG)(*p);
}

ULONG getShadowTable()
{
        KeServiceDescriptorTableShadow = (PServiceDescriptorTableEntry) getAddressOfShadowTable();

        DbgPrint("NumberOfServices: %d", KeServiceDescriptorTableShadow[1].NumberOfServices);//←这句正常输出Shadow SSDT函数数量
        DbgPrint("addrFunc: %X", KeServiceDescriptorTableShadow->ServiceTableBase[1]);//←这句马上蓝屏
        return TRUE;
}

急急急,新人求帮助
已解决!解决方法看五楼

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 20
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
发错代码了

DbgPrint("addrFunc: %X", KeServiceDescriptorTableShadow[1].ServiceTableBase[1]);//←这句马上蓝屏

是这句蓝屏了
2012-11-28 15:38
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
请问您用的什么操作系统?
2012-11-28 16:15
0
雪    币: 20
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
Windows XP Kernel Version 2600 UP Free x86 compatible
Built by: 2600.xpsp.080413-2111
2012-11-28 16:19
0
雪    币: 20
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
根据我的调试,获取Shadow表的方式应该是正确的

kd> u KeAddSystemServiceTable + 0x1a
nt!KeAddSystemServiceTable+0x1a:
8059779e 8d88603f5580    lea     ecx,nt!KeServiceDescriptorTableShadow (80553f60)[eax]
805977a4 833900          cmp     dword ptr [ecx],0
805977a7 7546            jne     nt!KeAddSystemServiceTable+0x6b (805977ef)
805977a9 837d1801        cmp     dword ptr [ebp+18h],1
805977ad 8b5508          mov     edx,dword ptr [ebp+8]
805977b0 56              push    esi
805977b1 8b7510          mov     esi,dword ptr [ebp+10h]
805977b4 57              push    edi
2012-11-28 16:29
0
雪    币: 20
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
自己解决了,为了避免以后新手重走我的老路,说一下解决方法:

http://bbs.pediy.com/showthread.php?t=95451

原因是:访问Shadow的时候,驱动要处于GUI线程中,否则会访问到空数据,只要发送控制码的程序有界面,在处理控制码的时候再取Shadow表就正常了!!!!!
2012-11-28 18:19
0
雪    币: 85
活跃值: (37)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
各位都是在进步啊。。。我还没动。。。
2012-11-29 18:19
0
游客
登录 | 注册 方可回帖
返回
//