Programmstart soll verhindert werden
-
Hi,
möchte gerne ein kleines Programm schreiben, was verhindert, daß ein bestimmtes Programm gestartet werden kann.
Bestimmt geht das nur über API-Funktionen.
Kann mir da jemand auf die Sprünge helfen?Vielen Dank.
-
Du kannst mit einem Registryeintrag erreichen dass der Explorer bestimmte Programme nicht mehr starten kann (Google hilft weiter), aber generell kann man das nicht verbieten.
Möglicherweise mit einem Treiber, aber ich glaube kaum dass du das machen willst.Was willst du denn erreichen ?
-
Nimm den Programm die Rechte. Bzw. dem Nutzer.
-
Rechteverteilung geht leider nicht, weil der aktuelle Benutzer das Programm grds. benutzen können muß. Nur im Falle von Abwesenheiten soll halt die Benutzung des Programms verhindert werden. (Rechner sperren geht leider nicht)
Ich dachte eher an die Möglichkeit, ein kleines Programm zu schreiben, welches einfach den Zugriff auf eine bestimmte ausführbare Datei blockt, z.B. so daß der Befehl zum Ausführen des Programms ins Leere läuft oder umgeleitet wird.
Anm.: Mir geht es nicht darum, irgendwelche Viren zu programmieren oder Schabernack zu treiben.
-
Programmstart Blocken schrieb:
Rechteverteilung geht leider nicht, weil der aktuelle Benutzer das Programm grds. benutzen können muß.
[...]
Ich dachte eher an die Möglichkeit, ein kleines Programm zu schreiben, welches einfach den Zugriff auf eine bestimmte ausführbare Datei blockt, z.B. so daß der Befehl zum Ausführen des Programms ins Leere läuft oder umgeleitet wird.Und wie soll der aktuelle Benutzer das Programm dann "grds. benutzen können"?
-
Probiere es mit einem IShellExecuteHook. Das deckt zwar nicht alle Fälle ab, aber vielleicht reicht das schon.
-
Windows bietet eine solche Funktion schon von sich aus an. Mittels gpedit.msc kann man die GUI erreichen.
Ob es API-Funktionen dafür gibt, müsst ihr selbst nachschauen.
-
Programmstart Blocken schrieb:
Rechteverteilung geht leider nicht, weil der aktuelle Benutzer das Programm grds. benutzen können muß. Nur im Falle von Abwesenheiten soll halt die Benutzung des Programms verhindert werden. (Rechner sperren geht leider nicht)
Und?
Das ist ein andere Benutzer mit anderen rechten... Dan geht es doch mit Rechten!
-
Eine DLL schreiben die die nicht dokumentierte Funktion NtCreateProcessW von NTDLL.DLL hookt.
Injection der Dll über CreateRemoteThread() ,"KnownDLLs" ,SetWindowsHookEx() ,Proxy Dll.Bei der "KnownDLLs" Methode muss die DLL ab Win7 signiert sein, was sich allerdings wieder über die reg. deaktivieren lässt. Oder man bringt das Cert auch gleich selber mit.
Das sollte für dein vorhaben reichen. Über einen Treiber wirst du dies aber umgehen können!
Aber ich bezweifle dass du dies bei deinem Wissensstand implementieren kannst.
Code gibts von mir keinen.
-
Programmstart Blocken schrieb:
(Rechner sperren geht leider nicht)
Unsinnige Anforderungen führen zu unisnnigen Lösungen.