风来时狂放 发表于 2024-3-11 13:37:24

分享Win7过DSE和PatchGuard经验



分享Win7过DSE和PatchGuard经验


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 就废了


页: [1]
查看完整版本: 分享Win7过DSE和PatchGuard经验