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 2 von 3     12 3      
Benutzerbild von Luckie
Luckie

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

Re: Sich gegen KillProcess wehren

  Alt 22. Nov 2007, 13:29
@kalmi01: Äh, was hat des Beenden der Sitzung mit dem Abschiessen eines Prozess zu tun? Und ob Vista das noch mit sich machen lässt, weiß ich nicht. Aber auch schon Windows < Vista bringt einen entsprechenden Dialog mit dem du den hängenden Prozess beim Beenden abschiessen kannst.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
gmc616

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

Re: Sich gegen KillProcess wehren

  Alt 22. Nov 2007, 13:54
Ich hab mal verschiedenes mit WinXP-Sp2 ausprobiert.

WMQueryEndSession wird nur gefeuert, wenn der Benutzer abgemeldet wird. Beim Killen über den Taskmanager passiert nix. ( Aber gut zu wissen )
Auch CloseQuery wird nicht gerufen wenn man den Prozess killt.

Ein zweites Programm, welches das Erste überwacht, halte ich für mein Projekt für etwas overkill. Außerdem nützt es mit ja nix, wenn ich weiß, das mein Programm abgeschossen wurde, weil ich es ja eigentlich verhindern will und es gezielt beenden möchte.

Meine Überlegung:
Ein Delphi-Programm besitzt doch einen Haupt-Thread. Der Taskmanger beendet nicht den Thread, sondern unterbricht ihn irgendwie und wirft ihn aus dem Speicher. (hab von Threads relativ wenig Ahnung)

Da Threads ja auch Messages erhalten können, müsste es doch eine Message geben (die den Thread unterbricht,stoppt, killt, was auch immer) die man abfangen könnte. Darin "MachSonstWas" rufen und danach dem sterben freien Lauf lassen.

Funktioniert sowas?
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#13

Re: Sich gegen KillProcess wehren

  Alt 22. Nov 2007, 14:11
TerminateProcess ist so konzipiert, dass das abgeschossene Programm gar nichts davon mitbekommt, also auch keine Message o.Ä. Das einzige was du meiner Meinung nach tun kannst, ist, dem Taskmanager einfach nicht die Rechte zum Terminieren zu geben. Ich habe dazu mal etwas gepostet, siehe hier. Das sollte funktionieren, sofern der Taskmanager nicht von einem User in der Gruppe Debugger-Benutzer gestartet wurde oder wenn er das nötige Privileg aus anderen Gründen nicht hat.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#14

Re: Sich gegen KillProcess wehren

  Alt 22. Nov 2007, 17:52
Über einen SSDT Hook auf NtTerminateProcess geht das ..
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: Sich gegen KillProcess wehren

  Alt 22. Nov 2007, 18:39
Was ist denn ein SSDT-Hook? Google spuckt mir da eine ganze Menge asiatischer Seiten aus...
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Carlo91

Registriert seit: 3. Jun 2006
Ort: Bremen
107 Beiträge
 
Delphi 2006 Architect
 
#16

Re: Sich gegen KillProcess wehren

  Alt 22. Nov 2007, 19:52
Hi,
ein SSDT Hook ist ein kernelhook(ring0)... aber ich kann davon nur abraten mit delphi in ring0 zu "gehen"...

MfG Carlo
Thorben
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#17

Re: Sich gegen KillProcess wehren

  Alt 22. Nov 2007, 20:15
Ja .. Ring0 sowieso nur über Treiber, also in C oder ASM. Aber du könntest mit Adminrechten auch einen Ring3 Hook installieren.
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#18

Re: Sich gegen KillProcess wehren

  Alt 22. Nov 2007, 20:16
wenn es nicht wirklich hinnzubekommen ist, das abschiessen zu verhindern, dann kann man den prozess ja immer noch verstecken, fündig hierzu wird man in der codelib..

verstecken

mfg
Martin
  Mit Zitat antworten Zitat
Carlo91

Registriert seit: 3. Jun 2006
Ort: Bremen
107 Beiträge
 
Delphi 2006 Architect
 
#19

Re: Sich gegen KillProcess wehren

  Alt 22. Nov 2007, 20:20
@lbccaleb das hat Zacherl doch gesagt:
Zitat:
Aber du könntest mit Adminrechten auch einen Ring3 Hook installieren.
P.S. wenn es wirklich nötig ist auf das killen des prozesse zu reagieren würde ich eine ring3 hook empfelen...

MfG Carlo
Thorben
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#20

Re: Sich gegen KillProcess wehren

  Alt 22. Nov 2007, 20:32
Verstecken ist immer die schlechteste Methode. Man will ja kein Rootkit haben Ein Ring3 Hook wird das einfachste sein, wobei man als Admin diesen auch jederzeit wieder entfernen kann, wenn man weiß, dass er existiert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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:48 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