AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sich gegen KillProcess wehren

Ein Thema von gmc616 · begonnen am 22. Nov 2007 · letzter Beitrag vom 22. Nov 2007
Antwort Antwort
Seite 1 von 3  1 23      
gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#1

Sich gegen KillProcess wehren

  Alt 22. Nov 2007, 12:34
Hallo DP,

kann sich ein Delphi-Programm dagegen wehren, über den Taskmanager abgeschossen zu werden?
Oder, kriegt man es hin, dass wenn das Programm abgeschossen wird, sich dieses korrekt beendet und evtl. ein LogFile schreibt?

Ich glaube zwar nicht daran, aber vlt. wisst ihr es besser.

Grüße
gmc
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Sich gegen KillProcess wehren

  Alt 22. Nov 2007, 12:36
.CloseQuery() wird beim Beenden aufgerufen
Markus Kinzler
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#3

Re: Sich gegen KillProcess wehren

  Alt 22. Nov 2007, 12:40
Aber ob beim Prozess-Killen auch CloseQuery durchlaufen wird, bin ich mir nicht sicher, denn es wird auch trotz CanClose=False geschlossen. Müsste man mal testen und im CloseQuery ein Log schreiben. Dann sieht man ja, wenn man es über den Taskmanager killt, obs geschrieben wird.
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Sich gegen KillProcess wehren

  Alt 22. Nov 2007, 12:47
CloseQuery wird nur aufgerufen, wenn das Fenster geschlossen wird. Der TaskManager beendet aber den Prozess. Und dass man sich nicht dagegen wehren kann ist auch gut so, denn überleg mal, was das für einen Virus bedeuten würde.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#5

Re: Sich gegen KillProcess wehren

  Alt 22. Nov 2007, 12:53
Luckie, das ist richtig, aber ein Log-Eintrag wäre doch bei manchen Anwendungen angebracht. Dass man im Nachhinein sehen kann, ob die Anwendung gekillt wurde.
Ich würde den umgekehrten Weg gehen:
Im CloseQuery immer einen definierten Eintrag ins Log schreiben und wenn beim nächsten Start zwar ein Starteintrag der letzten Sitzung vorhanden ist, aber kein Ende-Eintrag, wurde das Prog nicht normal beendet.
Man muss also gar keine tiefgehenden System-Functionen bemühen
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#6

Re: Sich gegen KillProcess wehren

  Alt 22. Nov 2007, 13:05
Wenn der Prozess nicht geschlossen wird, sondern abgeschossen wird, dann wird der Prozessthread sofort beendet und der Prozessspeicher aus dem Speicher entfernt.
Das einzige was diesen Vorgang aufhalten würde, wäre eine andauernde Hardwareanforderung.

MS hat entschieden, dass der Benutzer die Gewalt über das System hat.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Benutzerbild von argonix
argonix

Registriert seit: 28. Feb 2007
257 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Sich gegen KillProcess wehren

  Alt 22. Nov 2007, 13:06
Wenn man will, kann man auch einen Eintrag in die Ereignisanzeige schreiben. (zur Fehlerdiagnose)
Wie wäre es, wenn man ein 2. Programm startet, das prüft, ob das erste noch läuft und darauf dann reagiert?
(Wenn sowas nicht unsinnig ist für dein Projekt)
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Sich gegen KillProcess wehren

  Alt 22. Nov 2007, 13:15
Zitat von argonix:
Wenn man will, kann man auch einen Eintrag in die Ereignisanzeige schreiben. (zur Fehlerdiagnose)
Wie wäre es, wenn man ein 2. Programm startet, das prüft, ob das erste noch läuft und darauf dann reagiert?
(Wenn sowas nicht unsinnig ist für dein Projekt)
Genau und wenn sich beide dann gegenseitig starten können und sie die jeweils andere Exe in der Ressource haben, sieht es schon fast wie ein Virus aus
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
kalmi01
(Gast)

n/a Beiträge
 
#9

Re: Sich gegen KillProcess wehren

  Alt 22. Nov 2007, 13:25
Zitat von Luckie:
dass man sich nicht dagegen wehren kann ist auch gut so
bist Du dir da sicher ?

Delphi-Quellcode:
procedure TForm1.WMQueryEndSession;
  begin
    Msg.Result := 0;

    MachWasSinnvolles;

    Down := true;
    Msg.Result := 1;
  end;

procedure TForm1.WMEndSession;
  begin
    while not Down do Sleep(100);

    Msg.Result := 1;

    Self.Close;
  end;
beendet erst, wenn MachWasSinnvolles fertig ist.
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.944 Beiträge
 
Delphi 12 Athens
 
#10

Re: Sich gegen KillProcess wehren

  Alt 22. Nov 2007, 13:26
Also ich hab mal nen Watchdog für ne Firma geschrieben der prüfte ob ihre
Programme noch laufen (Prozessliste überwachen).
Das würde ich dir auch empfehlen, dann einfach Loggen wenn DEIN Programm
erscheint oder verschwindet.
Du kannst das ganze dann mit dem Log das im OnCreate und onClose erzeugt wird vergleichen
und hast deine KillProcess angriffe.
Evtl. ist es sogar noch besser nur die process ID deines Programms zu ermitteln
und die WindowsMessageQueue auf KillProcessmessages mit besagter Pid zu überwachen.
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:31 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