Ich versuche einen Weg zu finden, den REG_BINARY-Wert für "HKLM \ Software \ Microsoft \ Ole \ DefaultLaunchPermission" zu dekodieren, um zu sehen, welche Benutzer standardmäßig Berechtigungen haben, und wenn möglich, eine Methode, an die ich auch andere anhängen kann Benutzer nach ihrem Benutzernamen.Wie kann ich den REG_BINARY-Wert HKLM Software Microsoft Ole DefaultLaunchPermission decodieren, um festzustellen, welche Benutzer über Berechtigungen verfügen?
Bei der Arbeit verwenden wir DCOM und meistens geben wir den gleichen Benutzern die Erlaubnis, aber in einigen Fällen sind wir gezwungen, unsere Kunden anzupassen und benutzerdefinierte Benutzer/Gruppen ihren Bedürfnissen anzupassen. Leider sind die benutzerdefinierten Benutzer, die wir hinzufügen müssen, zufällige Benutzernamen, so dass ich nicht einfach alle Benutzer hinzufügen und den Wert aus dem Schlüssel kopieren kann, wie ich es mit den Standardbenutzern gemacht habe, die wir in 95% der Fälle verwenden.
Ich arbeite derzeit an einer ausführbaren Befehlszeile-Anwendung, wo ich einen Befehl zum Festlegen von Berechtigungen für vordefinierte Benutzer habe, aber ich möchte auch in der Lage sein, eine Option zum Anhängen eines benutzerdefinierten Benutzers hinzuzufügen zu der Standardberechtigung zusammen mit unserer vordefinierten Standardbenutzerliste.
Derzeit ist die Standard-Benutzerliste mit meiner Anwendung einstellen würde ich nur geben:
MyTool.exe Richtlinien
Aber ich möchte in der Lage sein, um es ausführlicher etwas zu machen, näher , wie NET-Befehl für Windows-Nutzer ist, wie etwas verwendet:
MyTool.exe Richtlinien/ADD: "MyCustomUsername"
Das Problem besteht darin, dass die im REG_BINARY-Wert gespeicherten Daten nicht einfach zu decodieren sind. Ich konnte den hexadezimalen Teil in Python dekodieren, aber ich bin mit irgendeiner Art von binären Daten belassen, von denen ich keine Ahnung habe, was ich damit anfangen soll, da ich nicht einmal weiß, welche Art von Kodierung in erster Linie verwendet wurde wissen, was zu benutzen ist, um es zu entschlüsseln. Ich habe ziemlich viel gegoogelt, aber ich denke, dass mein Mangel an Verständnis für die Terminologie zu diesem Thema wahrscheinlich dazu geführt hat, dass ich die Antwort übersehen habe, ohne sie für das zu erkennen, was es ist.
Ich denke, meine erste echte Frage müsste sein, welche Art von Codierung für den oben genannten Schlüssel verwendet wird, nachdem es von hex dekodiert wurde?
Oder noch besser, ist es sogar möglich, den Wert des Schlüssels programmgesteuert zu erhalten/zu ändern, so dass ich eine Liste der aktuell eingestellten Benutzer erhalten und ggf. weitere Benutzer/Gruppen anhängen kann?
Ich würde es vorziehen, diese Anwendung strikt in Python geschrieben, wenn möglich (oder WMI/WMIC), aber wenn nötig kann ich versuchen, andere Arten von Code in meine Python-Anwendung zu implementieren, wenn es bedeutet, den Job endlich erledigt! Ich denke, es wäre auch nützlich zu erwähnen, dass diese Anwendung hauptsächlich unter Windows XP Professional und den meisten Windows Server-Versionen verwendet wird. Daher mache ich mir keine Sorgen, wenn eine mögliche Lösung nicht mit früheren Windows-Betriebssystemversionen kompatibel ist.
Jede Hilfe, Code oder einfach nur eine einfache Hilfe mit diesem Thema vertraut zu werden, wäre GREATly geschätzt!
Vielen Dank im Voraus für jede Hilfe, die Sie zur Verfügung stellen können !! : D
Vielen Dank für Ihre prompte Antwort: D ja gut sehen, das ist, was passiert, wenn Sie sich über zu viele zufällige Beiträge Google und nicht genug Informationen zu Ihrem Thema ..;) Von einigen der Beiträge lese ich, Es impliziert, dass die Daten, die in dem Schlüssel gespeichert sind, eine Art von binären Daten sind, die dann in hex codiert wurden. Die Beiträge schienen dies als Standard für diese Art von Binäreinträgen zu verstehen. Einer von ihnen erwähnte auch etwas über MD5-Verschlüsselung, obwohl ich wahrscheinlich weit weg bin. – AWainb
Sie haben Recht mit Ihrem "Weiter lesen" Abschnitt, ich bin mit beiden Links vertraut, und ich benutze _winreg sehr, obwohl ich gerade struct heute entdeckt habe, während ich dieses Thema recherchierte. Sie sind wahrscheinlich richtig, wenn Sie davon ausgehen, dass ich es falsch interpretiere, da ich nicht sicher bin, mit welcher Art von binären Daten ich es zu tun habe, und ich konnte nichts finden, das so verdummt war, dass ich es verstehen konnte. Irgendwelche Ideen, wie ich herausfinden kann, "was dort gespeichert ist", damit ich zum nächsten Schritt übergehen kann? – AWainb
Es scheint, dass eine ACL diesen Wert enthält. Sie müssen die Struktur der Registrierungs-ACLs finden, um zu wissen, wie man eine in Binärdateien erstellt und sie dort einfügt. - http://msdn.microsoft.com/en-us/magazine/cc982153.aspx - http://isg.ee.ethz.ch/tools/realmen/det/dacl.en.html I würde ProcMon von sysinternals greifen. Führen Sie es in einem Prozess aus, von dem Sie wissen, dass dieser Registrierungsschlüssel ordnungsgemäß festgelegt ist, und beobachten Sie in ProcMon nach diesem Ereignis. Sie könnten dann wahrscheinlich feststellen, was ein anderes Programm dort hineinlegt. –