Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Unlock Tool: CMD und Taskmanager sperren/entsperren (https://www.delphipraxis.net/160760-unlock-tool-cmd-und-taskmanager-sperren-entsperren.html)

DelphiSecurity 30. Mai 2011 12:24

Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo mal wieder!

Ich bin momentan dabei ein Unlock Tool v2.0 zu programmieren.
Unlock Tool v1.0 habe ich mal (als mir langweilig war ;-)) programmiert.

Dort konnte man die CMD sperren/entsperren. Unter XP lief es genial (auch auf Windows Server).
Aber jetzt auf -> Windows 7 Professional 32bit <- funtioniert der Code nicht mehr.

Delphi-Quellcode:
procedure TFormM.CMDLockSClick(Sender: TObject); // CMD is locked Bat-funktion is unlocked
begin
  CMD:= TRegistry.Create;
  try
    CMD.RootKey:= HKEY_CURRENT_USER;
    CMD.OpenKey('Software\Policies\Micrsoft\Windows\System', true);
    CMD.WriteInteger('DisableCMD', 1);
    Log.Lines.Add('CMD Lock (.bat ok) => Success!')
  except
    Log.Lines.Add('CMD Lock (.bat ok) => No Success!');
  end;
  CMD.Free;
end;

procedure TFormM.CMDLockSSClick(Sender: TObject); // CMD is locked Bat-funktion is locked
begin
  CMD:= TRegistry.Create;
  try
    CMD.RootKey:= HKEY_CURRENT_USER;
    CMD.OpenKey('Software\Policies\Micrsoft\Windows\System', true);
    CMD.WriteInteger('DisableCMD', 2);
    Log.Lines.Add('CMD Lock (.bat no) => Success!')
  except
    Log.Lines.Add('CMD Lock (.bat no) => No Success!');
  end;
  CMD.Free;
end;

procedure TFormM.CMDUnlockSClick(Sender: TObject); // CMD is unlocked
begin
  CMD:= TRegistry.Create;
  try
    CMD.RootKey:= HKEY_CURRENT_USER;
    CMD.OpenKey('Software\Policies\Micrsoft\Windows\System', true);
    CMD.WriteInteger('DisableCMD', 0);
    Log.Lines.Add('CMD Unlock => Success!')
  except
    Log.Lines.Add('CMD Unlock => No Success!');
  end;
  CMD.Free;
end;
Nur bei Admin funktioniert es, aber das ist nicht der Sinn. :wink: :glaskugel:
Ich brauche nur die richtigen Reg-Schlüssel.
Für den Taskmanager wäre auch schön.

"Unlock Tool v1.0" ist im Anhang! Passwort: helper

Schon mal DANKE!

SirThornberry 30. Mai 2011 12:28

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Zitat:

Zitat von DelphiSecurity (Beitrag 1103687)
Nur bei Admin funktioniert es, aber das ist nicht der Sinn. :wink: :glaskugel:
Ich brauche nur die richtigen Reg-Schlüssel.

Wenn es beim Admin funktioniert hast du vielleicht die richtigen Schlüssel?!
Dir fehlen scheinbar die Rechte für diesen Eingriff.

DelphiSecurity 30. Mai 2011 12:29

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Zitat:

Zitat von SirThornberry (Beitrag 1103688)
Zitat:

Zitat von DelphiSecurity (Beitrag 1103687)
Nur bei Admin funktioniert es, aber das ist nicht der Sinn. :wink: :glaskugel:
Ich brauche nur die richtigen Reg-Schlüssel.

Wenn es beim Admin funktioniert hast du vielleicht die richtigen Schlüssel?!
Dir fehlen scheinbar die Rechte für diesen Eingriff.

Naja soll ja Sachen freischalten wenn man kein Admin ist! ;-)

HKEY_CURRENT_USER besitzt jeder Nutzer selbst.

Cyberbob 30. Mai 2011 12:31

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Wäre ja schlimm wenn ein "nicht Admin" einfach irgendwelche Systemweiten Sachen machen dürfte

DelphiSecurity 30. Mai 2011 12:31

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Zitat:

Zitat von Cyberbob (Beitrag 1103690)
Wäre ja schlimm wenn ein "nicht Admin" einfach irgendwelche Systemweiten Sachen machen dürfte

Man soll ja nur seine EIGENE CMD sperren. :!: :thumb:

OBEN IST UNLOCK TOOL 1.0! PW: helper

Bernhard Geyer 30. Mai 2011 12:35

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Zitat:

Zitat von DelphiSecurity (Beitrag 1103691)
Man soll ja nur seine EIGENE CMD sperren. :!: :thumb:

Auch wenns unter HKCU liegt heißt es nicht das hier nicht entsprechende lokale Adminrechte nötig wären.

Übrigens: Dein Programm funktioniert vermutlich auch unter NT/2000/XP nicht korrekt wenn der user nur Gast oder Benutzer ist und nicht mindestens in der Gruppe "Hauptbenutzer" ist.

Cyberbob 30. Mai 2011 12:36

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Wertest du die fehler aus? Was sagt die dein Programm denn? Was sagt Windows zu deinem Versuch? Gibts nen Fehler oder funktioniert es einfach nur nicht

DelphiSecurity 30. Mai 2011 12:36

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1103692)
Zitat:

Zitat von DelphiSecurity (Beitrag 1103691)
Man soll ja nur seine EIGENE CMD sperren. :!: :thumb:

Auch wenns unter HKCU liegt heißt es nicht das hier nicht entsprechende lokale Adminrechte nötig wären.

Übrigens: Dein Programm funktioniert vermutlich auch unter NT/2000/XP nicht korrekt wenn der user nur Gast oder Benutzer ist und nicht mindestens in der Gruppe "Hauptbenutzer" ist.

NÖ!

Funktioniert selbst als total eigeschränkter User der nicht mal Desktopicons anlegen kann. ;-)

DelphiSecurity 30. Mai 2011 12:38

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Zitat:

Zitat von Cyberbob (Beitrag 1103694)
Wertest du die fehler aus? Was sagt die dein Programm denn? Was sagt Windows zu deinem Versuch? Gibts nen Fehler oder funktioniert es einfach nur nicht

ERegistryException "Fehler beim setzen der Daten"

Luckie 30. Mai 2011 12:39

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Zitat:

Zitat von DelphiSecurity (Beitrag 1103691)
Man soll ja nur seine EIGENE CMD sperren.

Und jetzt erkläre mir mal bitte den Sinn. Wenn ich mir selber den Zugriff auf die Konsole sperren kann, kann ich ihn mir auch wieder geben. Alternativ könnte ich sie einfach nicht benutzen.

Cyberbob 30. Mai 2011 12:40

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Dann fehlen dir wohl die Rechte. Wenn du schreiben dürftest, dürftest du als eingeschrenkter Nutzer ja auch rücksetzen und löschen. Macht eigentlich auch Sinn

DelphiSecurity 30. Mai 2011 12:42

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
OK ich google mal.

google...google..google...google...google..google. ..google...google..google...google...google

DelphiSecurity 30. Mai 2011 12:48

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Fehler der Fehlermeldung gefunden.

Delphi-Quellcode:
CMD.RootKey:= HKEY_CURRENT_USER;
CMD.OpenKey('Software', true);
CMD.OpenKey('Software\Policies', true);
CMD.OpenKey('Software\Policies\Microsoft', true);
CMD.OpenKey('Software\Policies\Microsoft\Windows', true);
CMD.OpenKey('Software\Policies\Microsoft\Windows\System', true);
So den Key öffnen.
Success wird geliefert, aber gesperrt ist die Konsole doch nicht. :pale:

DelphiSecurity 30. Mai 2011 12:57

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Zitat:

Zitat von Luckie (Beitrag 1103698)
Zitat:

Zitat von DelphiSecurity (Beitrag 1103691)
Man soll ja nur seine EIGENE CMD sperren.

Und jetzt erkläre mir mal bitte den Sinn. Wenn ich mir selber den Zugriff auf die Konsole sperren kann, kann ich ihn mir auch wieder geben. Alternativ könnte ich sie einfach nicht benutzen.

Eigentlich entsperren, das ist doch sinnvoll

jaenicke 30. Mai 2011 12:57

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Das liegt an der Virtualisierung. Wahrscheinlich hast du ein 64-Bit Betriebssystem. Dann wird der Zugriff auf Software\Win6432Node umgeleitet. ;-)

Cyberbob 30. Mai 2011 12:59

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Wenn mir ein Admin die Rechte nimmt, warum sollte ich diese Sperre so einfach umgehen können. Erklär mir doch bitte nochmal den Sinn hinter deinem Programm

DelphiSecurity 30. Mai 2011 13:06

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Aber jetzt auf -> Windows 7 Professional 32bit <- funtioniert der Code nicht mehr.


Windows 7 32 BIT

€dit: Geht nur wenn die CMD gesperrt wurde, da man die Werte ändern aber nicht anlegen kann!!!

himitsu 30. Mai 2011 13:24

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Delphi-Quellcode:
CMD.RootKey:= HKEY_CURRENT_USER;
CMD.OpenKey('Software', true); // HKCU\Software
CMD.OpenKey('Software\Policies', true); // HKCU\Software\Software\Policies
CMD.OpenKey('Software\Policies\Microsoft', true); // HKCU\Software\Software\Policies\Software\Policies\Microsoft
CMD.OpenKey('Software\Policies\Microsoft\Windows', true); // HKCU\Software\Software\Policies\Software\Policies\Microsoft\Software\Policies\Microsoft\Windows
CMD.OpenKey('Software\Policies\Microsoft\Windows\System', true); // HKCU\Software\Software\Policies\Software\Policies\Microsoft\Software\Policies\Microsoft\Windows\Software\Policies\Microsoft\Windows\System
Das geht so?

OpenKey arbeitet doch rekursiv? (wenn man kein "\" am Pfadanfang angibt)

DelphiSecurity 30. Mai 2011 13:41

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Zitat:

Zitat von himitsu (Beitrag 1103716)
Delphi-Quellcode:
CMD.RootKey:= HKEY_CURRENT_USER;
CMD.OpenKey('Software', true); // HKCU\Software
CMD.OpenKey('Software\Policies', true); // HKCU\Software\Software\Policies
CMD.OpenKey('Software\Policies\Microsoft', true); // HKCU\Software\Software\Policies\Software\Policies\Microsoft
CMD.OpenKey('Software\Policies\Microsoft\Windows', true); // HKCU\Software\Software\Policies\Software\Policies\Microsoft\Software\Policies\Microsoft\Windows
CMD.OpenKey('Software\Policies\Microsoft\Windows\System', true); // HKCU\Software\Software\Policies\Software\Policies\Microsoft\Software\Policies\Microsoft\Windows\Software\Policies\Microsoft\Windows\System
Das geht so?

OpenKey arbeitet doch rekursiv? (wenn man kein "\" am Pfadanfang angibt)

CLICK CLICK CLICK

DeddyH 30. Mai 2011 13:46

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Und was hat der Link mit der Frage zu tun?

[edit]
Zitat:

Zitat von Delphi-Hilfe
Mit OpenKey wird der mit Key bezeichnete Schlüssel zum aktuellen gemacht. Der Parameter Key enthält den Schlüssel, der geöffnet werden soll. Wenn Key nil (Delphi) oder NULL (C++) ist, wird die Eigenschaft CurrentKey auf den in der Eigenschaft RootKey festgelegten Schlüssel gesetzt.

[/edit]

DelphiSecurity 30. Mai 2011 13:55

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
ja, aber gibt es nicht eine LÖSUNG?
mit win api oder irgendwie??

DeddyH 30. Mai 2011 14:11

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Zitat:

Zitat von DelphiSecurity (Beitrag 1103731)
ja, aber gibt es nicht eine LÖSUNG?
mit win api oder irgendwie??

Richtig machen bzw. zumindest Rückgaben auswerten?
Delphi-Quellcode:
CMD.RootKey:= HKEY_CURRENT_USER;
if CMD.OpenKey('Software\Policies\Microsoft\Windows\System', true) then
  //weitermachen;

p80286 30. Mai 2011 14:31

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Zitat:

Zitat von DeddyH (Beitrag 1103738)
Zitat:

Zitat von DelphiSecurity (Beitrag 1103731)
ja, aber gibt es nicht eine LÖSUNG?
mit win api oder irgendwie??

Richtig machen bzw. zumindest Rückgaben auswerten?
Delphi-Quellcode:
CMD.RootKey:= HKEY_CURRENT_USER;
if CMD.OpenKey('Software\Policies\Microsoft\Windows\System', true) then
  //weitermachen;

Zu richtig machen gehört auch, einmal nach zu schauen, welche Berechtigung der aktuelle Benutzer hat.
Auf meinem Rechner z.B. existiert
Code:
....\Windows\System'
überhaupt nicht.
Und ich als Benutzer habe nur LeseRechte. Da ist weder etwas mit anlegen, noch mit Sclüssel speichern.
Langsam sollte es sich herum gesprochen haben, daß man für Dateien, und die Registry Berechtigungen braucht, und das diese sehr individuell vergeben werden können.

Gruß
K-H

DeddyH 30. Mai 2011 14:53

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Naja, diese Problematik ist aber auch schon 2 Seiten lang erörtert worden.

himitsu 30. Mai 2011 17:37

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Zitat:

Zitat von DelphiSecurity (Beitrag 1103726)

Das ist Keine Antwort auf meine Frage.

Hab jetzt mal in der OH nachgesehn, auch da wird es nicht beantwortet,
aber ich bin mir recht sicher, daß es so war.
Delphi-Quellcode:
CMD.RootKey:= HKEY_CURRENT_USER;
CMD.OpenKey('\Software\Policies\Microsoft\Windows\System', true);

// entspricht

CMD.RootKey:= HKEY_CURRENT_USER;
CMD.OpenKey('\Software', true); // oder CMD.OpenKey('Software', true); , wenn man davon ausgeht, daß man noch im Hauptverzeichnis ist
CMD.OpenKey('Policies', true);
CMD.OpenKey('Microsoft', true);
CMD.OpenKey('Windows', true);
CMD.OpenKey('System', true);

DelphiSecurity 31. Mai 2011 14:22

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Zitat:

Zitat von himitsu (Beitrag 1103782)
Zitat:

Zitat von DelphiSecurity (Beitrag 1103726)

Das ist Keine Antwort auf meine Frage.

Hab jetzt mal in der OH nachgesehn, auch da wird es nicht beantwortet,
aber ich bin mir recht sicher, daß es so war.
Delphi-Quellcode:
CMD.RootKey:= HKEY_CURRENT_USER;
CMD.OpenKey('\Software\Policies\Microsoft\Windows\System', true);

// entspricht

CMD.RootKey:= HKEY_CURRENT_USER;
CMD.OpenKey('\Software', true); // oder CMD.OpenKey('Software', true); , wenn man davon ausgeht, daß man noch im Hauptverzeichnis ist
CMD.OpenKey('Policies', true);
CMD.OpenKey('Microsoft', true);
CMD.OpenKey('Windows', true);
CMD.OpenKey('System', true);

Ja bei mir klappt es nur so! :( :| :?

generic 31. Mai 2011 14:52

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Ihr hier 26 Beiträge lang diskutiert.
Wo für?

Der Knoten Policies wird von Windows für System Policies genutzt.
Dort schreibt das System, Administrator oder ein evtl. vorhandenes ActiveDirectory (per GPO) Einstellungen rein.

Diese Einstellungen sollen von einen "nicht Admin" nicht verändert werden können!
Somit greifen von Windows dort auch die normalen Schutzmechanismen.
Denn Nutzer werden über Policies eingeschränkt, wäre doof wenn sie sich die Rechte wieder geben könnten.

Daher hat ein User auch keine Rechte an seinen Zweig HKEY_CURRENT_USER\Software\Policies.
Über den Knoten HKEY_LOCAL_MACHINE\SOFTWARE\Policies brauchen wir uns daher gar nicht erst unterhalten.

Kurz und Knapp:
Was du (DelphiSecurity) da vor hast, geht NICHT!
Es ist gegen die Natur von Windows.


Wenn du es doch willst, musst du das Sicherheitskonzept von Windows aus hebeln und
die Rechte auf den Knoten verändern. Gut ist das nicht.


P.S. dein Code funktioniert schon seit WindowsNT (also vor Win2k) nicht mehr.
Er hat bei dir nur funktioniert, weil du Admin auf deinen XP-Maschinen bist.
Unter Vista/Windows 7 bist du KEIN Admin mehr (es sei den du nutzt das UAC) - somit funktioniert es auch nicht.

DelphiSecurity 1. Jun 2011 16:30

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Zitat:

Zitat von generic (Beitrag 1103936)
Ihr hier 26 Beiträge lang diskutiert.
Wo für?

Der Knoten Policies wird von Windows für System Policies genutzt.
Dort schreibt das System, Administrator oder ein evtl. vorhandenes ActiveDirectory (per GPO) Einstellungen rein.

Diese Einstellungen sollen von einen "nicht Admin" nicht verändert werden können!
Somit greifen von Windows dort auch die normalen Schutzmechanismen.
Denn Nutzer werden über Policies eingeschränkt, wäre doof wenn sie sich die Rechte wieder geben könnten.

Daher hat ein User auch keine Rechte an seinen Zweig HKEY_CURRENT_USER\Software\Policies.
Über den Knoten HKEY_LOCAL_MACHINE\SOFTWARE\Policies brauchen wir uns daher gar nicht erst unterhalten.

Kurz und Knapp:
Was du (DelphiSecurity) da vor hast, geht NICHT!
Es ist gegen die Natur von Windows.


Wenn du es doch willst, musst du das Sicherheitskonzept von Windows aus hebeln und
die Rechte auf den Knoten verändern. Gut ist das nicht.


P.S. dein Code funktioniert schon seit WindowsNT (also vor Win2k) nicht mehr.
Er hat bei dir nur funktioniert, weil du Admin auf deinen XP-Maschinen bist.
Unter Vista/Windows 7 bist du KEIN Admin mehr (es sei den du nutzt das UAC) - somit funktioniert es auch nicht.

Bei einem Eingeschränkten Account auf WIndows Server (Schul-PCs, mit Erlaubniss natürlich) klappte es!!!!!!!!!

p80286 1. Jun 2011 16:37

AW: Unlock Tool: CMD und Taskmanager sperren/entsperren
 
Zitat:

Zitat von DelphiSecurity (Beitrag 1104159)
Bei einem Eingeschränkten Account auf WIndows Server (Schul-PCs, mit Erlaubniss natürlich) klappte es!!!!!!!!!

Ja und? Die "Standard-Rechte" die bei der Installation von W vergeben werden, können doch von einer Person mit Admin-Rechten so verbogen werden, daß außer der Putzfrau niemand mehr irgendetwas machen kann. Ob das sinnvoll ist sei mal dahingestellt, Tatsache ist, Du kannst nicht von einem Windows-Rechner auf den anderen schließen.

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz