Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Mit Dienst Bildschirm färben (https://www.delphipraxis.net/57466-mit-dienst-bildschirm-faerben.html)

gsh 21. Nov 2005 20:15


Mit Dienst Bildschirm färben
 
Hi DPler

Ich möchte mit einem Dinst den gesamten Bildschirm weiss färben. Auf dieser weisen fläache soll dann mein logo plaziert werden.

Naja bei einer normallen Anwendung ist des ja kein größeres Problem, doch ich will des ganze ja aus einem Dienst heraus machen. Nun hab ich aber gelesen des Windows des "zeichen" auf einem Bildschirm nicht zulässt.

Natürlich könnte ich jetzt eine eigene Exe dafür schreiben geht aber nicht den des darf nicht vom User aufrufbar sein.


Habt ihr irgenwelche Ideen wie ich des trotzdem lösen könnte?

Luckie 21. Nov 2005 20:44

Re: Mit Dienst Bildschirm färben
 
Da Dienste in einer anderen WindowsStation laufen, hast du so keinen Zugriff auf den DefaultDesktop der interaktiven WinSta0. Einzige Möglichkeit, dies mit einem Dienst zu währe, mit Hilfe eines interaktiven Dienstes. Da interaktive Dienste aber eine potentielle Sicherheitslücke darstellen, ist davon abzuraten. Warum muss es denn unbedibngt ein Dienst sein? Und was spricht dagegen einfach ein Hintergrundbild zu setzen?

gsh 21. Nov 2005 20:49

Re: Mit Dienst Bildschirm färben
 
es muss wegen anderen umständen ein Dienst sein
und ein hintergrundbild setzt sich nicht über die taskleiste,...

hmm fast nichts anderes übrig bleiben ein eigenes Prgramm davür zu schreiben.
Aber wie kann ich des z.b. machen des des Prog nur vom Dienst aus gestartet werden kann oder des es sich gleich beendet falls es nicht vom dienst gestartet wurde

Luckie 21. Nov 2005 21:18

Re: Mit Dienst Bildschirm färben
 
Fangen wir mal ganz von vorne an: WAS hast du vor? Was soll das werden wenn es fertig ist? Wenn du den Rechner dicht machen willst, dann regel das über Policies, nimm dieses Kiosk Programm von Microsoft, was es umsonst für Windows XP gibt oder trag dein programm als Shell ein anstatt den Explorer.

faux 21. Nov 2005 21:22

Re: Mit Dienst Bildschirm färben
 
Zitat:

Zitat von gsh
Aber wie kann ich des z.b. machen des des Prog nur vom Dienst aus gestartet werden kann oder des es sich gleich beendet falls es nicht vom dienst gestartet wurde

Am einfachsten über Parameter oder so.
Wehe es sagt jetzt jemand: "Das kann man aber leicht umgehen..." :twisted:
Dann sage ich nämlich, dass man alles leicht umgehen kann. :roll:

Grüße
Faux

gsh 21. Nov 2005 21:24

Re: Mit Dienst Bildschirm färben
 
ach gibts nicht eine Lösung die etwas sicherer ist?

Luckie 21. Nov 2005 21:43

Re: Mit Dienst Bildschirm färben
 
Ja, was willst du denn machen?!?!?? Ich habe dir eben drei sichere Möglichkeiten genannt. Und hier der heise Artikel zum Thema: http://www.heise.de/security/news/meldung/61213
Zitat:

Nach dem Start des Programms hilft ein Assistent beim Erstellen und Absichern eines neuen Kontos. Wer sich damit an das System anmeldet, darf nur noch das tun, was der Administrator ausdrücklich erlaubt hat.

gsh 21. Nov 2005 23:06

Re: Mit Dienst Bildschirm färben
 
sorry hab deinen Beitrag nicht gesehen dachte "nur" faux hat geantwortet

Also mal im Detail:
Es muss ein Dienst sein (geht nicht anderes)
Es lauft dann unter einem Benutzerkonto (ohne Adminrechte was ja eigentlich egal ist wegen des dienstes)
Es darf keine zusätzliche software benötigen.

Kennts du MasterEye?
Den MasterEye hat eben die funktion einen PC zu sperren. Da ist dann auch alles weiss nur so ein logo vom MasterEye hüpft dann rum. Sowas in der Richtung brauch ich auch.

faux 22. Nov 2005 05:55

Re: Mit Dienst Bildschirm färben
 
Zitat:

Zitat von Olli
Der korrekte Weg ist es, sich über die ACLs des Desktops und der interaktiven Fensterstation Zugriff zu verschaffen und maximal interaktive Elemente in einem eingeschränkten Kontext ([msdn]Client Impersonation [Security][/msdn]) laufen zu lassen.

Grüße
Faux

gsh 22. Nov 2005 18:58

Re: Mit Dienst Bildschirm färben
 
was?
keine Ahnung was des bedeuten soll

faux 23. Nov 2005 06:18

Re: Mit Dienst Bildschirm färben
 
Ich denke mal, dass er damit meint, dass du deinem Programm eine ACL zuweisen solltest, und somit die Rechte bekommen.

gsh 23. Nov 2005 16:21

Re: Mit Dienst Bildschirm färben
 
und was ist eine ACL?

gsh 24. Nov 2005 19:28

Re: Mit Dienst Bildschirm färben
 
*push*

Ich hab bei den Diensteigenscaften so eine nettes feld gefunden wo draufsteht: "Datenaustausch zwischen Dienst und Desktop zulassen". Was bringt sich des? Darf ich dann auf den bildschirm was zeichnen?

Luckie 24. Nov 2005 19:42

Re: Mit Dienst Bildschirm färben
 
das ist das, was mit einem interaktiven Dienst gemeint ist, dann hat der Dienst Zugriff auf den Default Desktop des Benutzers in der interaktiven WinStat0.

gsh 24. Nov 2005 19:55

Re: Mit Dienst Bildschirm färben
 
aso

und warum ist der eine potentielle sicherheitslücke?
weil man durch den Dienst adminrechte bekommen könnte?

Luckie 24. Nov 2005 19:59

Re: Mit Dienst Bildschirm färben
 
Nein, weil der Dienst im System Kontext läuft, also mit den höchsten Rechten. Dadurch, dass der Dienst direkten Zugriff auf den Desktop hat, könnte man jetzt Code einschleusen, der dann vom Dienst ausgeführt wird, da der Dienst mit den höchsten Rechten läuft...

Siehe dazu auch Shatter attack.

gsh 24. Nov 2005 20:20

Re: Mit Dienst Bildschirm färben
 
ok dann ich habs eingesehen des es nicht geht

wie kann ich dann des mit zwei programmen machen aber es sollte halt möglichst sicher sein. Also nicht wenn der User doppelt auf die exe klickt der bildschirm weiss wird. Es sollten auch keine parameter sein

phXql 24. Nov 2005 20:43

Re: Mit Dienst Bildschirm färben
 
Zitat:

Zitat von gsh
ok dann ich habs eingesehen des es nicht geht

wie kann ich dann des mit zwei programmen machen aber es sollte halt möglichst sicher sein. Also nicht wenn der User doppelt auf die exe klickt der bildschirm weiss wird. Es sollten auch keine parameter sein

Mutex kreieren, Programm starten. Wenn das programm keinen mutex findet, dann programm beenden. ansonsten bildschirm weiss machn...

gsh 24. Nov 2005 21:07

Re: Mit Dienst Bildschirm färben
 
hmm klingt nicht sclecht

ich weiss wie ich ihn erzeuge und abfrage
aber wie sieht es da mit der Sicherheit aus?
wenn man den Mutex namen kennt muss man ihn nur erstellen und kann dann schon die exe ausführen
so jetzt ist die Frag wie kann man den Mutexnamen herausfinden (außer exe nach dem String durchsuchen)

phXql 24. Nov 2005 21:11

Re: Mit Dienst Bildschirm färben
 
Zitat:

Zitat von gsh
hmm klingt nicht sclecht

ich weiss wie ich ihn erzeuge und abfrage
aber wie sieht es da mit der Sicherheit aus?
wenn man den Mutex namen kennt muss man ihn nur erstellen und kann dann schon die exe ausführen
so jetzt ist die Frag wie kann man den Mutexnamen herausfinden (außer exe nach dem String durchsuchen)

wenn du schon mit sowas anfängst, dann häng die exe-datei an den dienst verschlüsselt in einer ressource dran, entschlüssel dass ding und führs dann aus..

gsh 24. Nov 2005 21:17

Re: Mit Dienst Bildschirm färben
 
Zitat:

Zitat von phXql
wenn du schon mit sowas anfängst, dann häng die exe-datei an den dienst verschlüsselt in einer ressource dran, entschlüssel dass ding und führs dann aus..

Vieleicht später mal
Ich glaube daweil reicht mir die Sicherheit
Ich wollte doch nur wissen wie sicher des ist

Vjay 25. Nov 2005 10:25

Re: Mit Dienst Bildschirm färben
 
"Sehen" sich Mutexe Winstationübergreifend?

Luckie 25. Nov 2005 10:38

Re: Mit Dienst Bildschirm färben
 
Zitat:

Zitat von Vjay
"Sehen" sich Mutexe Winstationübergreifend?

Ganz spontan würde ich "nein" sagen. Da es im Endeffekt auch nur Handles sind und diese sind an die Windows Station gebunden.

Vjay 25. Nov 2005 11:09

Re: Mit Dienst Bildschirm färben
 
Vermute ich nämlich auch, somit wird er nicht viel Erfolg haben.

gsh 25. Nov 2005 13:35

Re: Mit Dienst Bildschirm färben
 
hmm ich hab es bis jetzt erfolgreich gestetet
aber wahrscheinlich auch nur weil ich beim service des Prog. mit ShellExecute aufgerufen haben und des prog somit unter system lief.
Des wär ja nicht schlimm wenn er was anzeigen würde aber nein nichts.
Wie kann ich den sagen des er es unter dem aktuellen Benutzer ausführen soll? ohne des ich des pw davon weiss

phXql 25. Nov 2005 14:45

Re: Mit Dienst Bildschirm färben
 
Zitat:

Zitat von gsh
hmm ich hab es bis jetzt erfolgreich gestetet
aber wahrscheinlich auch nur weil ich beim service des Prog. mit ShellExecute aufgerufen haben und des prog somit unter system lief.
Des wär ja nicht schlimm wenn er was anzeigen würde aber nein nichts.
Wie kann ich den sagen des er es unter dem aktuellen Benutzer ausführen soll? ohne des ich des pw davon weiss

so weit ich weiss gar nich, das wär ja noch schöner wenn ich das könnte ^^

Tyrael Y. 25. Nov 2005 14:51

Re: Mit Dienst Bildschirm färben
 
Zitat:

Zitat von phXql
Zitat:

Zitat von gsh
hmm ich hab es bis jetzt erfolgreich gestetet
aber wahrscheinlich auch nur weil ich beim service des Prog. mit ShellExecute aufgerufen haben und des prog somit unter system lief.
Des wär ja nicht schlimm wenn er was anzeigen würde aber nein nichts.
Wie kann ich den sagen des er es unter dem aktuellen Benutzer ausführen soll? ohne des ich des pw davon weiss

so weit ich weiss gar nich, das wär ja noch schöner wenn ich das könnte ^^


...ich habe sowas schon gemacht und sage daher, es ist möglich, ist bissel haarig aber möglich, daß man aus einem Service heraus einen neuen Prozess startet mit den Rechten des eingeloggten Benutzers

...habe hier leider den dazugehörigen Source nicht liegen, habe es damals privat gemacht udn bin grad auf der Arbeit, irgendwo in meinen Datensammlungen ist das Projekt noch...

...bissel Googeln und mit den entsprechenden API-Funtionen mal rumspielen, dann wirst du es finden, hab ich damals auch so gemacht..

gsh 25. Nov 2005 17:27

Re: Mit Dienst Bildschirm färben
 
kannst du mir den Code bitte schicken wenn du ihn findest

gsh 26. Nov 2005 14:02

Re: Mit Dienst Bildschirm färben
 
falls des nicht klappen sollte hat dann jemand noch eine andere idee außer Mutex :?:

gsh 27. Nov 2005 20:22

Re: Mit Dienst Bildschirm färben
 
*push*


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:41 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