Delphi-Quellcode:
type
TFNRegisterServiceProcess = function(dwProcessID, dwType: dword): Integer; stdcall;
function RegisterServiceProcess(dwProcessID, dwType: DWORD): Integer;
var
hLib:THandle;
_RegisterServiceProcess: TFNRegisterServiceProcess;
begin
// Ist sowieso immer geladen
_RegisterServiceProcess := nil;
hLib := GetModuleHandle('Kernel32.dll');
if(hLib <> 0)then
@_RegisterServiceProcess := GetProcAddress(hLib, 'RegisterServiceProcess');
if(Assigned(@_RegisterServiceProcess))then
result := _RegisterServiceProcess(dwProcessID, dwType)
else
begin
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
result := 0; // Fehler signalisieren
end;
end;
Mit
W2K verwendet man diese Funktion einfach nicht. Einen Prozess unter NT verstecken zu wollen ist
a.) entweder dumm, oder
b.) mit einer bösen Absicht (Rootkit, Virus) verbunden.
Such's dir aus
... das Thema RSP ist so alt wie sonst nix. Mußt du diese Funktion dennoch verwenden, so wrappe sie wie ich es dir oben schnell hingetippt habe.
Beispiele mit LoadLibrary() kannste hier komplett vergessen, weil manche Menschen denken sie könnten einen
Win32-Prozess ohne kernel32.dll starten
Siehe auch:
http://support.microsoft.com/default...b;en-us;125714
... für dein Ziel brauchst du eine ganz andere Lösung. Poste ich nach dem Mittagessen wenn keiner schneller war. Den Code zum Verstecken haste ja nun.