Windows Delphi / NtSetDebugFilterState
Author | Jean-Pierre LESUEUR (DarkCoderSc) |
Platform | Windows |
Language | Delphi |
Technique | NtSetDebugFilterState |
Code
program NtSetDebugFilterState;
{$APPTYPE CONSOLE}
uses
WinAPI.Windows, System.SysUtils;
var
NtSetDebugFilterState : function(AComponentId : ULONG; ALevel : ULONG; AState : Boolean) : NTSTATUS; stdcall;
hNTDLL : THandle;
AStatus : NTSTATUS;
begin
try
hNTDLL := LoadLibrary('ntdll.dll');
if (hNTDLL = 0) then
Exit();
try
@NtSetDebugFilterState := GetProcAddress(hNTDLL, 'NtSetDebugFilterState');
if NOT Assigned(NtSetDebugFilterState) then
Exit();
AStatus := NtSetDebugFilterState(0, 0, True);
writeln(AStatus);
if (AStatus <> 0) then
WriteLn('Not Debugged.')
else
WriteLn('Debugged.');
finally
FreeLibrary(hNTDLL);
end;
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.
Created
September 17, 2020
Last Revised
April 22, 2024