首页
社区
课程
招聘
[原创]通用的获取windows系统SSDT导出未导出函数
发表于: 2012-5-28 14:34 6586

[原创]通用的获取windows系统SSDT导出未导出函数

2012-5-28 14:34
6586

作者:3600safe

获取SSDT函数(导出和未导出)地址相信大家都会,但是相对于我们这些不喜欢常规代码的人,当然不仅限于一种方法,下面是我在A盾电脑防护0.2.6 里面用的一种通用的方法,写出来给大家分享:

PVOID MmQuerySSDTFunction(CHAR *FunctionName)
{
        int Index;
        ULONG ulSearchStart;

        GetFunctionIndexByName(FunctionName,&Index);
        if (Index){
                ulSearchStart = (ULONG)ZwClose;
                for (i=ulSearchStart;i < ulSearchStart + KernelSize;i++)
                {
                        if (MmIsAddressValid(i))
                        {
                                if (*i == Index){

                                        FunctionAddress = i - 1;

                                        if (DebugOn)
                                                KdPrint(("FunctionAddress:%08x\n",FunctionAddress));
                                        break;
                                }
                        }
                }
        }
        return FunctionAddress;
}
上面的代码是阐述原理的,当然部分代码需要你自己动手补全~~

AD一下版主不介意吧:http://www.3600safe.com/ Free Open-Source Anti Rootkit Software(0.2.5)/Windows内核安全技术站


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 6
支持
分享
最新回复 (2)
雪    币: 44
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
经常使用的代码,收藏下。。
2012-6-1 17:36
0
雪    币: 1015
活跃值: (235)
能力值: ( LV12,RANK:440 )
在线值:
发帖
回帖
粉丝
3
还不会驱动层的飘过。。
2012-6-1 17:40
0
游客
登录 | 注册 方可回帖
返回
//