首页
论坛
课程
招聘
[原创]x64 Kernel 获取Ntos Base(无API非ASM)
2021-4-16 11:33 7083

[原创]x64 Kernel 获取Ntos Base(无API非ASM)

2021-4-16 11:33
7083

参考自单总发的帖子 : 帖子传送门 作者: @xiaofu

 

原理如上贴

 

优点:
用代码写 方便维护(?)
不用添加一个.asm文件 (一个算不上优点的优点)

 

缺点:
体积不够小

 

上代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
uintptr_t get_ntos_base()
 
{
 
    auto Idt_base = reinterpret_cast<uintptr_t>(KeGetPcr()->IdtBase);
 
    auto align_page = *reinterpret_cast<uintptr_t*>(Idt_base + 4) >> 0xc << 0xc;
 
    for (; align_page; align_page -= PAGE_SIZE)
 
    {
 
        for (int index = 0; index < PAGE_SIZE - 0x7; index++)
 
        {
 
            auto current_address = static_cast<intptr_t>(align_page) + index;
 
            if (*reinterpret_cast<uint8_t*>(current_address) == 0x48
 
                && *reinterpret_cast<uint8_t*>(current_address + 1) == 0x8D
 
                && *reinterpret_cast<uint8_t*>(current_address + 2) == 0x1D
 
                && *reinterpret_cast<uint8_t*>(current_address + 6) == 0xFF)//48 8d 1D ?? ?? ?? FF
 
            {
 
                auto nto_base_offset = *reinterpret_cast<int*>(current_address + 3);
 
                auto nto_base_ = (current_address + nto_base_offset + 7);
 
                if (!(nto_base_ & 0xfff))
 
                {
 
                    return nto_base_;
 
                }
 
            }
 
        }
 
    }
 
    return 0;
 
}

 

用处:拿到nto_base以后可以自己检索导出表,获取函数地址,全程均无API调用(防止被人挂钩导入表 黑盒分析) 等...


如果写错了 或者 觉得哪里写的不好 望指正~


看雪招聘平台创建简历并且简历完整度达到90%及以上可获得500看雪币~

最后于 2021-4-16 11:55 被淡然他徒弟编辑 ,原因:
收藏
点赞4
打赏
分享
最新回复 (6)
雪    币: 1533
活跃值: 活跃值 (3365)
能力值: ( LV13,RANK:420 )
在线值:
发帖
回帖
粉丝
xiaofu 活跃值 8 2021-4-16 14:15
2
0
配合spoof call,无解
雪    币: 5221
活跃值: 活跃值 (2882)
能力值: ( LV7,RANK:150 )
在线值:
发帖
回帖
粉丝
淡然他徒弟 活跃值 1 2021-4-16 16:08
3
0
xiaofu 配合spoof call,无解

偶像回复了  单总奥利给

最后于 2021-4-16 16:09 被淡然他徒弟编辑 ,原因:
雪    币: 33
活跃值: 活跃值 (1362)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tmflxw 活跃值 2021-4-20 22:12
4
0
win7 x64直接挂掉
雪    币: 5221
活跃值: 活跃值 (2882)
能力值: ( LV7,RANK:150 )
在线值:
发帖
回帖
粉丝
淡然他徒弟 活跃值 1 2021-4-21 04:13
5
0
tmflxw win7 x64直接挂掉

我测试是没问题的哈~


蓝屏建议你把dump发上来 或者 检查自己的代码


或者自己双机调试确定问题~

最后于 2021-4-21 04:15 被淡然他徒弟编辑 ,原因:
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
WindBlow小迪 活跃值 2021-4-26 20:59
6
0
Win10上会有问题 ntoskrnl.exe区域会存在无效内存
雪    币: 5221
活跃值: 活跃值 (2882)
能力值: ( LV7,RANK:150 )
在线值:
发帖
回帖
粉丝
淡然他徒弟 活跃值 1 2021-4-27 02:07
7
0
WindBlow小迪 Win10上会有问题 ntoskrnl.exe区域会存在无效内存
如果有问题 请提供你的dump哦~

win7 win10我都测试过了 正常情况下 都没有问题~

非正常情况 我暂时没遇到过~
游客
登录 | 注册 方可回帖
返回