-
-
[原创]通用的获取windows系统SSDT导出未导出函数
-
发表于:
2012-5-28 14:34
6491
-
[原创]通用的获取windows系统SSDT导出未导出函数
作者: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内核安全技术站
[课程]FART 脱壳王!加量不加价!FART作者讲授!