笔记:KPP ByPass(Win7)

patch winload.exe

OslInitializeCodeIntegrity函数入口直接 mov al,1 ret

内部会调用BlImgQueryCodeIntegrityBootOptions

此函数会判断 NTOSKRNL.EXE 的数字签名有效性(签名非法的话就拒绝
加载 NTOSKRNL.EXE)。

接下来修改 ntoskrnl.exe。第一个地方是 SepInitializeCodeIntegrity:

PAGE:00000001403EAA6C                 cmp     cs:InitIsWinPEMode, bl
PAGE:00000001403EAA72                jnz     loc_1403EAB0C //改为nop,PE下会关闭KPP

第二个地方 KiInitializePatchGuard(位于KiFilterFiberContext+FF处)

INIT:0000000140561362                 cmp     cs:InitSafeBootMode, edi
INIT:0000000140561368                 jz      short loc_140561371 //nop,判断是否安全模式

 

经过这三处修改,DSE 和 PatchGuard 就废了

posted on 2016-03-23 23:33  coffeesoft  阅读(660)  评论(0)    收藏  举报

导航