Wie kann ich ein Programm einschränken, um API-Funktionen aufzurufen, die mit der Registrierung zusammenhängen?

570
Trolol1234

Ich benutze ein Programm, das sich so verhält, wie ich es nicht mag. Es kann in die Registrierung schreiben, auch wenn es unter einem Benutzer ausgeführt wird, der keine Administratorrechte hat. Ich glaube nicht, dass es noch alles gibt, was ich beschreiben kann. Wie kann ich ein Programm so einschränken, dass es API-Funktionen aufruft, die mit der Bearbeitung von Registrierungsschlüsseln / Zeichenfolgen verknüpft sind? Gibt es allgemein anerkannte Methoden, um mein Ziel zu erreichen? Ist die Antwort auf meine Frage schlecht dokumentiert oder hätte ich mit wenigen Klicks auf der Microsoft-Website gefunden?

0
Sperren Sie die Benutzerberechtigungen für die Registrierungsschlüssel, die das Programm verwendet. Die Anwendung kann sie jedoch lesen (was gut ist, da sie ohne sie nicht funktioniert). Ramhound vor 6 Jahren 0
Ich würde das Erstellen eines Shims für die Anwendung mit dem Microsoft Application Comparability Toolkit untersuchen. Ich bin mir sicher, dass eine der Korrekturen helfen wird, zB VirtualRegistry. Wissen Sie, was mit der Anwendung passiert, wenn sie die Schlüssel nicht schreiben kann, stürzt sie ab oder bleibt eine Konfiguration nicht bestehen? HelpingHand vor 6 Jahren 0

2 Antworten auf die Frage

1
harrymc

Das Programm wird sicher eine Fehlfunktion haben, wenn der Zugriff auf seine Registrierungsschlüssel verweigert wird.

Wenn Sie diesem Programm nicht vertrauen, isolieren Sie es mithilfe von Sandboxie von Ihrer Registrierung :

Sandboxie verwendet die Isolationstechnologie, um Programme von Ihrem zugrunde liegenden Betriebssystem zu trennen, um zu verhindern, dass unerwünschte Änderungen an Ihren persönlichen Daten, Programmen und Anwendungen vorgenommen werden, die sicher auf Ihrer Festplatte liegen.

Das Programm kann auf diese Weise alles ändern, was es will, aber Sandboxie leitet alle Änderungen um, um den Rest des Systems nicht zu beeinträchtigen.

0
Twisty Impersonator

Wie kann ich ein Programm einschränken, um API-Funktionen aufzurufen, die mit der Bearbeitung von Registrierungsschlüsseln / -strängen verknüpft sind?

Das Windows-Sicherheitsmodell ist für dieses Szenario ausgelegt . Jeder Registrierungsschlüssel verfügt über eine Zugriffssteuerungsliste (Access Control List, ACL), in der die Treuhänder (z. B. Benutzerkonto) und die Aktionen angegeben werden, die der Schlüssel ausführen darf (z. B. Lesen).

Um dies zu nutzen, um Ihre Anwendung einzuschränken, erstellen Sie ein Benutzerkonto ohne Administratorberechtigung und führen Sie die Anwendung immer im Kontext dieses Benutzers aus. Sie können die Windows-Funktion " Als anderen Benutzer ausführen" verwenden, um die Anwendung auf diese Weise auszuführen, ohne sich tatsächlich mit dem eingeschränkten Konto anmelden zu müssen.

Standardmäßig haben Standardbenutzer nur Lesezugriff auf die systemweiten Teile der Registrierung, z. B. den HKLM-Zweig, und können nur Änderungen am HKCU-Zweig ihres eigenen Kontos vornehmen.

Wenn Sie die Registrierungsberechtigungen des Kontos weiter einschränken möchten, sollten Sie die entsprechenden Zweigstellen der Registrierung ändern, um die für das Benutzerkonto gewünschten Berechtigungen anzugeben. Sie können den Prozessmonitor von Microsoft verwenden, um zu sehen, auf welche Registrierungspfade der Zugriff erfolgt und dass möglicherweise geänderte Berechtigungen erforderlich sind.

Es ist zu beachten, dass fast alle Windows-Anwendungen für den ordnungsgemäßen Betrieb Zugriff auf die Registrierung benötigen. Das Blockieren eines solchen Zugriffs durch ein Großhandelsunternehmen hindert ein Programm wahrscheinlich daran, seine beabsichtigte Funktion auszuführen.

Mehr Informationen: