看流星社区

 找回密码
 注册账号
查看: 2037|回复: 1

通用的获取windows系统SSDT导出未导出函数

[复制链接]

该用户从未签到

发表于 2013-4-15 09:41:16 | 显示全部楼层 |阅读模式
获取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;
}
上面的代码是阐述原理的,当然部分代码需要你自己动手补全~~

该用户从未签到

发表于 2013-4-16 02:27:24 | 显示全部楼层
不错的知识
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-30 10:23

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表