Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Secure Message Handling in Delphi wie? (https://www.delphipraxis.net/66553-secure-message-handling-delphi-wie.html)

Delphijunkie2006 31. Mär 2006 11:33


Secure Message Handling in Delphi wie?
 
Ich habe eine Frage, wie kann ich meinem Programm die Intelligenz vermitteln, daß es merkt, wenn es abgeschossen wird und vorher noch eine Nachricht erscheint: willst du das Programm wirklich beenden?

Beispiel: Taskmanager führt einen Terminate Process auf meine Project1.exe, normalerweise geht Project1.exe stumm zu, aber meine aufmerksame Project1.exe will vorher nochmal nachfragen mit einer Messagebox z.B.: willst du das Programm wirklich beenden?

Weiß jemand wie das geht?

freak4fun 31. Mär 2006 11:37

Re: Secure Message Handling in Delphi wie?
 
Wenn das Programm "gewaltsam" geschlossen wird, kann es diese Entscheidung doch nicht mehr selbst treffen. :gruebel: Das ist doch der Sinn der Sache. Wenn du möchtest das dein Programm nachfragt, solltest du es mit Close; schließen.

[Edit]
Im OnCloseQuery z.B.:

Delphi-Quellcode:
CanClose := MessageBox(0, 'Schließen', 'Wirklich beenden?', MB_YESNO + MB_ICONQUESTION) = idYes;
Ich bin erstaunt. :)

[/Edit]

MfG
freak

mkinzler 31. Mär 2006 11:39

Re: Secure Message Handling in Delphi wie?
 
Am Einfachsten mit dem Event onCloseQuery des Hauptformulars oder direkt auf Nachricht des BS abfangen.

Delphijunkie2006 31. Mär 2006 11:48

Re: Secure Message Handling in Delphi wie?
 
Zitat:

Wenn das Programm "gewaltsam" geschlossen wird, kann es diese Entscheidung doch nicht mehr selbst treffen. Das ist doch der Sinn der Sache.
Falsch, irgendwie geht das, das ist auch eine Art Sicherheitsmechanismus.

Irgendwo habe ich mal einen C Source Code dafür gesehen, aber leider keinen in Delphi.

freak4fun 31. Mär 2006 11:51

Re: Secure Message Handling in Delphi wie?
 
Zitat:

Zitat von Delphijunkie2006
Zitat:

Wenn das Programm "gewaltsam" geschlossen wird, kann es diese Entscheidung doch nicht mehr selbst treffen. Das ist doch der Sinn der Sache.
Falsch, irgendwie geht das, das ist auch eine Art Sicherheitsmechanismus.

Irgendwo habe ich mal einen C Source Code dafür gesehen, aber leider keinen in Delphi.

Ich habs mal schnell getestet und bin überrascht zu der Erkenntnis gekommen, das ich unrecht hatte. :mrgreen: Deshalb mein Edit. ;)

MfG
freak

Delphijunkie2006 31. Mär 2006 12:11

Re: Secure Message Handling in Delphi wie?
 
Ein kleiner delphi-code wäre ganz nett zum verdeutlichen.

HIer ein Beispiel, aber das schützt nicht vor terminate process vom taskmanager, nur durch klick auf die Form:

Delphi-Quellcode:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
    mResult := MessageBox(self.Handle,'Save before Quit?','Confirm',MB_YESNOCANCEL or MB_ICONQUESTION);

end;

freak4fun 31. Mär 2006 12:16

Re: Secure Message Handling in Delphi wie?
 
Zitat:

Zitat von Delphijunkie2006
Ein kleiner delphi-code wäre ganz nett zum verdeutlichen.

Du gehst auf das Formular, klickst auf Ereignisse(Events) im Objektinspektor und dann per Doppelklick auf das Feld hinter OnCloseQuery. Dann öffnet sich die Methode des Ereignisses und du kannst den oben geposteten Code rein setzen. ;)

[Edit]

Delphi-Quellcode:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose := False;
end;
Dadurch wird das Schließen auf der Ebene verhindert. :)

[/Edit]



MfG
freak

Delphijunkie2006 31. Mär 2006 12:17

Re: Secure Message Handling in Delphi wie?
 
Ja, aber siehe oben, nicht bei Terminate Process.

OnDestroy wäre logisch, aber die Form merkt ja nicht wann sie abgeschossen wird, das Ereignis wäre erst da, wenn die Form schon gekillt ist, also geht auch nicht.

freak4fun 31. Mär 2006 12:24

Re: Secure Message Handling in Delphi wie?
 
Zitat:

Zitat von Delphijunkie2006
Terminate Process

Dann ist das die Möglichkleit ein Programm zu beenden, ohne, dass das Programm etwas dagegen tun kann. ;)

Wieso willst du denn das Beenden des Programms verhindern?

MfG
freak

alcaeus 31. Mär 2006 12:36

Re: Secure Message Handling in Delphi wie?
 
Gegen den Kill kannst du nichts machen; das soll man auch nicht. Ich will schliesslich noch entscheiden koennen, ob ich was abschiesse.
Wenn es ein Programm auf einem oeffentlichen Computer ist, das nicht geschlossen werden soll, dann wuerde ich dir einen Dienst empfehlen; diese koennen nur von Administratoren gestoppt werden.

Greetz
alcaeus

Delphijunkie2006 31. Mär 2006 12:38

Re: Secure Message Handling in Delphi wie?
 
Es gibt etliche Sicherheitstools die SecureMessageHandling benutzen,
ihr habt leider unrecht, ich glaube das geht doch nur mit einem Hook, ich dachte aber, daß es auch ohne geht.
Jedenfalls sah der C code einer Sicherheitsfirma sehr simpel aus.

Sinn und Zweck ist: Schutz vor Malware!

Luckie 31. Mär 2006 13:01

Re: Secure Message Handling in Delphi wie?
 
"SecureMessageHandling" habe ich noch nie gehört. Was verstehst du darunter?

Und was hat der Schutz vor Malware mit einem Prgramm zu tun, was man nicht beenden kann?

Delphijunkie2006 1. Apr 2006 00:40

Re: Secure Message Handling in Delphi wie?
 
:wall: :wall: ich krieg Kopfweh, sorry, schonmal was von Prozesskillern gehört?

Nichts für ungut, aber ein bißchen sollte man sich schon mit IT Sicherheit beschäftigen. Lade dir mal Trojanhunter runter, starte thguard.exe und versuch es zu killen, dann weißt du was secure message handling ist.

:dancer: :dancer2: :dancer:

alcaeus 1. Apr 2006 01:07

Re: Secure Message Handling in Delphi wie?
 
Zitat:

Zitat von Delphijunkie2006
:wall: :wall: ich krieg Kopfweh, sorry, schonmal was von Prozesskillern gehört?

Ja, ich habe von Prozesskillern gehoert. Und ich beschaeftige mich auch mit IT-Sicherheit. Jedoch ist mir "Secure Message Handling" kein Begriff, und auch Tante Google oder Wikipedia geben keine vernuenftige Erklaerung dafuer her.
Vielleicht erklaerst du mal genauer was du meinst oder zeigst nochmal diese C-Loesung von der du da sprichst.

Und ausserdem, nur weil hier nicht jeder auf Anhieb weiss, wovon du sprichst, und weil du es nicht erklaeren willst, musst du nicht mit so einem Tonfall kommen.

Greetz
alcaeus

Delphijunkie2006 3. Apr 2006 01:27

Re: Secure Message Handling in Delphi wie?
 
Die Seite, die den COde veröffentlicht hat, hat ihn ´scheinbar zurückgezogen, schade.

alzaimar 3. Apr 2006 07:36

Re: Secure Message Handling in Delphi wie?
 
Soweit ich weiss, kann man bestimmte Dienste nicht killen. Desweiteren verweigern COM-Objekte das Abschießen, und zwar dann, wenn sie sich noch in der Initialisierungsphase befinden. Genau habe ich das nicht untersucht, das Tritt aber in Verbindung mit dem SocketServer auf. Du musst das nur analysieren und fertig.

Das Einzige, was bei Google unter 'Secure Message Handling' zu finden ist, betrifft Kryptographie. Aber wir sind wohl Alle Idioten.

Schon mal was von ACL gehört? Oder MapGenericMask? Hilft das?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:28 Uhr.

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