Entwickler-Ecke
Windows API - Prozess beenden --> Zugriff verweigert!!!
Marco D. - Di 02.08.05 09:36
Titel: Prozess beenden --> Zugriff verweigert!!!
Hallo,
wenn ich meine Firewall übern Taskmanager bei Prozesse abschießen will, dann kommt immer die Meldung 'zugriff verweigert'. Da dachte ich mir, das könnte man doch auch für seine eigenen Programme realisieren, weil mein Tool im Hintergrund läuft und nicht beendet werden darf (und das ist KEIN Trojaner, wie einige bestimmt denken!). Weiß einer wie man das realisiert?
arj - Di 02.08.05 09:47
Eventuell als Service starten? :gruebel:
noidic - Di 02.08.05 09:54
Das reicht nicht, auch Services kann man abschiessen. Ich bin da nicht so firm, aber ich glaube, es gibt die Möglichkeit, Rechte für User auf Prozesse zu vergeben. Grundvorraussetzung ist allerdings dann, dass das Programm mit einem anderen als dem angemeldeten User läuft.
Gruß
noidic
Delete - Di 02.08.05 10:37
Es muss nicht unbedingt ein Dienst sein, es reicht schon, wenn du den Prozess nicht gestartet hast, sondern ein anderer Benutzer.
Einen Dienst kann, wenn dann nur ein Administrator über den Taskmanager beenden, wenn er ihn denn sieht, da sie meist Kindprozesse der svchost.exe oder Services.exe sind.
Motzi - Di 02.08.05 11:40
Also Child-Prozesse von svchost sind mir noch nie untergekommen.. ;) Die svchost-Prozesse sind im Prinzip nur Container für alle möglichen Services. Die Services selbst werden von services.exe gestartet. Als Admin kann man Services ganz normal starten/stoppen und installieren/deinstallieren. Man kann den Prozess aber normalerweise nicht per OpenProcess öffenen, außer man hat das Debug-Privileg aktiviert. Da der Taskmanager dieses Privileg aber nicht aktiviert, bekommt man beim beenden von Services eben den Fehler "Zugriff verweigert".
Ein Service muss aber nicht immer in einem eigenen Prozess laufen. Viele svchost-Prozesse enthalten mehrere Services (daher hab ich oben auch geschrieben, dass sie sozusagen nur "Container" sind).
Gruß, Motzi
Delete - Di 02.08.05 13:07
OK, dann eben Container und nicht Child. :roll:
F34r0fTh3D4rk - Di 02.08.05 14:24
man kann terminateprocess hooken und abfragen ob das ziel das eigene programme ist und, wenn dies der fall ist, nichts tun, ansonsten aschuss gewähren :D
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!