win7 32位测试
一启动就加载这个驱动,360那个hookpoint.sys会改内核,直接复制会蓝屏 先把hookpoint.sys搞了,我直接删了360
(全局)BYTE reload[内核文件的大小];//这样没用内存池应该不会出现safeseh的问题
PMDL g_pMdl = NULL;
PULONG g_pMdlTable = NULL;
NTSTATUS WriteSSDT_On(ULONG add,ULONG size)
{
g_pMdl = IoAllocateMdl(add, size, FALSE, FALSE, NULL);
if (!g_pMdl) return STATUS_UNSUCCESSFUL;
MmBuildMdlForNonPagedPool(g_pMdl);
g_pMdl->MdlFlags |= MDL_MAPPED_TO_SYSTEM_VA;
g_pMdlTable = (PULONG)MmMapLockedPagesSpecifyCache(g_pMdl, KernelMode, MmNonCached, NULL, FALSE, NormalPagePriority);
if (!g_pMdlTable)
{
IoFreeMdl(g_pMdl);
return STATUS_UNSUCCESSFUL;
}
return STATUS_SUCCESS;
}
VOID WriteSSDT_Off()
{
MmUnmapLockedPages(g_pMdlTable, g_pMdl);
IoFreeMdl(g_pMdl);
}
DriverEntry:
(
ULONG add,size;
if(MyEnumKernelModule("\\SystemRoot\\System32\\ntkrnlpa.exe",&add,&size)==-1)//获取内核地址(我的内核文件是这个)
{
return -1;
}
WriteSSDT_On(add,size);
memcpy(reload,(ULONG*)add,size);//复制内核到reload,直接复制的,不用重定位
WriteSSDT_Off();
然后ssdt表每个加上偏移(reload-add)就行了(当然你要保证ssdt恢复了,qqprotect.sys我是删了的)
.
.
.
.
)
不是很稳定(开网页就蓝屏,不开网页到没事)
反正蓝屏就是0x0000000fc(3,xxx,xx,xx)
各位麻烦帮我看下原因哈
[课程]Android-CTF解题方法汇总!