It seems I already have the answer to this question but I'll ask anyway, is DKOH (direct kernel objects hooking) covered by PatchGuard? I remember reading a while ago from wj32 that DKOH was not covered by PatchGuard, but I think it is. I have been testing DKOH on Windows 7 64-bit and it seemed to be working until one day I got this:
CRITICAL_STRUCTURE_CORRUPTION (109)
This bugcheck is generated when the kernel detects that critical kernel code or
data have been corrupted. There are generally three causes for a corruption:
1) A driver has inadvertently or deliberately modified critical kernel code
or data. See http://www.microsoft.com/whdc/driver/ke ... ching.mspx
2) A developer attempted to set a normal kernel breakpoint using a kernel
debugger that was not attached when the system was booted. Normal breakpoints,
"bp", can only be set if the debugger is attached at boot time. Hardware
breakpoints, "ba", can be set at any time.
3) A hardware corruption occurred, e.g. failing RAM holding kernel code or data.
Arguments:
Arg1: a3a039d8936cf641, Reserved
Arg2: b3b7465ee5eb3567, Reserved
Arg3: fffffa8000c38b10, Failure type dependent information
Arg4: 0000000000000008, Type of corrupted region, can be
0 : A generic data region
1 : Modification of a function or .pdata
2 : A processor IDT
3 : A processor GDT
4 : Type 1 process list corruption
5 : Type 2 process list corruption
6 : Debug routine modification
7 : Critical MSR modification
But I can't seem to reproduce it. Does PatchGuard only run randomly? I have been using DKOH for a while and only 1 BSOD...
edit: Just got another of the same BSOD, PatchGuard definitely covers DKOH. Took it a while though, several hours to detect hooked function. Guess I have to find something else :(
CRITICAL_STRUCTURE_CORRUPTION (109)
This bugcheck is generated when the kernel detects that critical kernel code or
data have been corrupted. There are generally three causes for a corruption:
1) A driver has inadvertently or deliberately modified critical kernel code
or data. See http://www.microsoft.com/whdc/driver/ke ... ching.mspx
2) A developer attempted to set a normal kernel breakpoint using a kernel
debugger that was not attached when the system was booted. Normal breakpoints,
"bp", can only be set if the debugger is attached at boot time. Hardware
breakpoints, "ba", can be set at any time.
3) A hardware corruption occurred, e.g. failing RAM holding kernel code or data.
Arguments:
Arg1: a3a039d8936cf641, Reserved
Arg2: b3b7465ee5eb3567, Reserved
Arg3: fffffa8000c38b10, Failure type dependent information
Arg4: 0000000000000008, Type of corrupted region, can be
0 : A generic data region
1 : Modification of a function or .pdata
2 : A processor IDT
3 : A processor GDT
4 : Type 1 process list corruption
5 : Type 2 process list corruption
6 : Debug routine modification
7 : Critical MSR modification
But I can't seem to reproduce it. Does PatchGuard only run randomly? I have been using DKOH for a while and only 1 BSOD...
edit: Just got another of the same BSOD, PatchGuard definitely covers DKOH. Took it a while though, several hours to detect hooked function. Guess I have to find something else :(