Hallo Delphi-Narr, da ich in meinem Bekanntenkreis immer wieder mit hartnäckigen
Schädlingen konfrontiert bin, habe ich mir mal ein eigenes Kill util geschrieben.
Da verwende ich die Technik, bei allen nicht zum System gehörenden Prozessen, deren Threads
zu suspendieren. Geht auch bei den meisten Systemprozessen. Wenn dann alles konserviert ist,
beginnt die Ausmisterei.
Also interessieren dürfte dich die Funktion:
Delphi-Quellcode:
function TProcList.SecureKill: boolean;
...
//-- Bei Winlogon.exe threads suspendieren
if (filename = 'winlogon.exe') then begin
dwArray := GetThreadID(filename);
for x := 0 to Length(dwArray) - 1 do begin
hThread := OpenThread(
THREAD_GET_CONTEXT or THREAD_SET_CONTEXT or THREAD_SUSPEND_RESUME, false,
dwArray[x]
);
if hThread <> 0 then SuspendThread(hThread);
end;
end;
Source der Classe ist beigefügt.
lg. Astat