| KdDebuggerEnabled清零
| KdDebuggerEnabled清零,可以相当有效的防止内核调试,如果对KdDebuggerEnabled下硬件断点,根本就无效,双机调试时,根本就启动不了,跟死机一样,后来网上查到是原来是因为:总是系统的KeUpdateSystemTime和KdPollBreakIn例程在读取
方法好几种:
1、IAT HOOK ——对加壳了的驱动,一般无效,原因是处理了输入表,要分析壳处理输入表的方法,很费时间,放弃
2、EAT HOOK——对于不通过MmGetSystemRoutineAddress来获取内核函数地址的驱动,效果不明显,还有就是有些是通过分析磁盘PE找EAT的,那样就要用到感染的方法,LordPE是个不错的工具,可以用这个直接改了,注意要是改了必须记得调整VSize,
3、ZwCreateSection——通过此函数来找到内核基址,然后定位查找,还有什么能加载内核文件ntkrnlpa.exe,ZwMapViewOfSection在内核下映射文件
4、PsCreateSystemThread——创建内核线程,用来循环清零,循环里可以用KeDelayExecutionThread定时清零
|
|