首页
社区
课程
招聘
[原创]发个xp~win10_x86/x64全兼容的ShadowSSDT获取函数
发表于: 2015-6-2 09:37 15076

[原创]发个xp~win10_x86/x64全兼容的ShadowSSDT获取函数

2015-6-2 09:37
15076

获取SSDT部分是来自于titanhide的代码,我只是加了由SSDT搜索ShadowSSDT的方法,请各位大神批评指正!


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

收藏
免费 3
支持
分享
最新回复 (19)
雪    币: 474
活跃值: (846)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
mark 一下
2015-6-2 10:47
0
雪    币: 6779
活跃值: (1179)
能力值: ( LV12,RANK:782 )
在线值:
发帖
回帖
粉丝
3
留个记号。
2015-6-2 13:16
0
雪    币: 7283
活跃值: (4487)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
基础-生化万物
矛盾-对立统一
火前留名
水后除字
2015-6-2 13:36
0
雪    币: 26
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
mark
2015-9-29 13:21
0
雪    币: 207
活跃值: (39)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
mark.thx!
2015-9-29 14:18
0
雪    币: 11
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
mark
2015-10-6 00:33
0
雪    币: 190
活跃值: (84)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
mark
2015-10-7 17:22
0
雪    币: 1785
活跃值: (3975)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
r3搜索好传给r0不就行了...
2015-10-7 18:15
0
雪    币: 20
活跃值: (136)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
小希希 r3搜索好传给r0不就行了...
请问,r3搜索shadow  ssdt用什么方法呢,卡在这里了,看了挺多的例子都是用xp,2k,2k3  +  固定值偏移来搜索。。。
2017-7-31 11:33
0
雪    币: 2044
活跃值: (237)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
11
mark......
2017-8-11 14:14
0
雪    币: 583
活跃值: (147)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
sqdwr 请问,r3搜索shadow ssdt用什么方法呢,卡在这里了,看了挺多的例子都是用xp,2k,2k3 + 固定值偏移来搜索。。。
R3  怎么搜?
2017-8-11 16:50
0
雪    币: 238
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
13
代码不完整  招雷劈
2018-3-1 19:43
0
雪    币: 451
活跃值: (41)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
mark
2018-3-2 11:11
0
雪    币: 1484
活跃值: (1135)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
我试了了win7 x64系统就不能用了,楼主整个工程能放?
2018-7-29 07:54
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
mark
最后于 2018-10-9 20:00 被我来了啊编辑 ,原因:
2018-10-9 20:00
0
雪    币: 42
活跃值: (208)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
__readmsr(0xC0000082)就搞定的事情,你写这么多,真是好心情
ULONG64 GetKeServiceDescriptorTableShadow64()
{
       PUCHAR StartSearchAddress = (PUCHAR)__readmsr(0xC0000082);
       PUCHAR EndSearchAddress = StartSearchAddress + 0x500;
       PUCHAR i = NULL;
       UCHAR b1 = 0, b2 = 0, b3 = 0;
       ULONG templong = 0;
       ULONG64 addr = 0;
       for (i = StartSearchAddress; i<EndSearchAddress; i++)
       {
               if (MmIsAddressValid(i) && MmIsAddressValid(i + 1) && MmIsAddressValid(i + 2))
               {
                       b1 = *i;
                       b2 = *(i + 1);
                       b3 = *(i + 2);
                       if (b1 == 0x4c && b2 == 0x8d && b3 == 0x1d) //4c8d1d
                       {
                               memcpy(&templong, i + 3, 4);
                               addr = (ULONG64)templong + (ULONG64)i + 7;
                               return addr;
                       }
               }
       }
       return addr;
}
2018-11-3 15:26
0
雪    币: 35
活跃值: (612)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
老坛酸菜TM __readmsr(0xC0000082)就搞定的事情,你写这么多,真是好心情 ULONG64 GetKeServiceDescriptorTableShadow64() { PUCHAR S ...
你也不看年份..而且你这代码还是TA 那教程里边拔的吧..
2018-11-3 20:50
0
雪    币: 168
活跃值: (265)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
mark
2018-11-4 10:17
0
雪    币: 6157
活跃值: (4902)
能力值: ( LV10,RANK:160 )
在线值:
发帖
回帖
粉丝
20
mark
2019-11-6 12:16
0
游客
登录 | 注册 方可回帖
返回
//