Prozess schützen



  • Hallo zusammen, wie kann ich erreichen, dass ein bestimmter Prozess nicht beendet werden kann?



  • Gar nicht, ich kann alle Prozesse abschießen, selbst Systemprozesse (die sind bloß im TaskManager geschützt).

    MfG SideWinder



  • Nur in dem du dem Benutzer das Prozessabschuss Recht entziehst.



  • Und wie kann ich sie im Taskmanager schützen?



  • Der schützt die Prozesse anhand des Dateinamens.

    Der hat also ne abfrage:

    if(dateiname == "winlogin.exe")
    {
    ZeigeMessageBoxUndSchiesseProzessNichtAb();
    }



  • Der Taskmanager hat vermutlich ein Array von Namen der geschützten Dateinamen. Kann ich dieses Array irgendwie um einen Einträg vergrössern?



  • Der Taskmanager hat vermutlich ein Array von Namen der geschützten Dateinamen. Kann ich dieses Array irgendwie um einen Einträg vergrössern?

    user++ schrieb:

    Nur in dem du dem Benutzer das Prozessabschuss Recht entziehst.

    Da war doch schon die "richtige" Antwort. Der Aufwand, den Taskmanager zu patchen wäre weitaus aufwändiger und unsauberer.

    Um was für einen Prozess handelt es sich denn? Du könntest natürlich auch einen Kernel-Mode-Hook programmieren und dadurch alle Versuche, deinen Prozess zu beenden herausfiltern, aber das würde ja schon an Paranoia grenzen 🙂



  • Ishildur schrieb:

    Der Taskmanager hat vermutlich ein Array von Namen der geschützten Dateinamen. Kann ich dieses Array irgendwie um einen Einträg vergrössern?

    *kotz*



  • Mir ist gerade aufgefallen, dass der Taskmanager scheinbar den Pfad nicht überprüft. Wenn du also deinen eigenen Prozess einfach lsass.exe, services.exe, smss.exe, winlogon.exe oder csrss.exe nennst, kann man ihn nicht mit dem Taskmanager beenden. 😃



  • masterofx32 schrieb:

    Mir ist gerade aufgefallen, dass der Taskmanager scheinbar den Pfad nicht überprüft. Wenn du also deinen eigenen Prozess einfach lsass.exe, services.exe, smss.exe, winlogon.exe oder csrss.exe nennst, kann man ihn nicht mit dem Taskmanager beenden. 😃

    Das haben schon diverse Viren ausgenützt. Hindert mich aber nicht daran den SysInternal ProcessExplorer zu starten und ihn trotzdem abzuschießen. Starte ich den im Admin-Mode kann ich jeden Prozess beenden.

    MfG SideWinder



  • SideWinder schrieb:

    masterofx32 schrieb:

    Mir ist gerade aufgefallen, dass der Taskmanager scheinbar den Pfad nicht überprüft. Wenn du also deinen eigenen Prozess einfach lsass.exe, services.exe, smss.exe, winlogon.exe oder csrss.exe nennst, kann man ihn nicht mit dem Taskmanager beenden. 😃

    Das haben schon diverse Viren ausgenützt. Hindert mich aber nicht daran den SysInternal ProcessExplorer zu starten und ihn trotzdem abzuschießen. Starte ich den im Admin-Mode kann ich jeden Prozess beenden.

    MfG SideWinder

    Das ist ja klar. Geht ja im Moment auch nur um den Windows-Taskmanager.



  • Darf man mal fragen, warum man deinen Prozess nicht beenden dürfen können soll? Ich kenne nur zwei Arten von Programmen bei denen das der Fall ist: Systemprozesses, die für die Systemstabilität nötig sind, wie winlogon.exe und Prozesse die gemau das Gegenteil tun, nämlich dem System schaden. Für alles andere reicht ein Dienst, der nur vom Administrator installiert und gestartet / beendet werden kann.



  • Naja er wird schon seine Gründe haben wenn er etwas machen muss. Man muss ja nicht alles gleich immer kritisch hinterfragen sondern kann einfach einmal antworten.



  • Mit Adminrechten sollte es möglich sein alles zu beenden - ein kleiner Taskmanager (nachprogrammiert) schaft das auch bei Windowsdiensten. Allerdings gibt es eine ziemlich sichere Methode - zwei Prozesse die sich gegenseitig debuggen. Hatte es zwar nie gedacht, aber so einfach kanns sein:
    http://www.buha.info/board/showthread.php?t=49659
    das abschießen mittels dem dritten Ollydbg Prozess ließ den Rechner neustarten.



  • Hmm, das klingt interessant, muss ich bei Gelegenheit mal ausprobieren.
    Wobei ja ein Prozess, der das Debugprivileg hat wohl auch das Privileg zum Laden von Treibern haben wird und sich somit gleich ganz vor der Entdeckung schützen könnte (Im Fall von Malware, etc)



  • ......... schrieb:

    Naja er wird schon seine Gründe haben wenn er etwas machen muss. Man muss ja nicht alles gleich immer kritisch hinterfragen sondern kann einfach einmal antworten.

    Nu ja, wenn jemand mit gezogener Waffe in die Bank kommt und behauptet er wolle nur seine Kontoauszüge abholen, da würde ich als Schalterbeamter auch etwas nervös werden. 😉

    Und außerdem haben wir ja geantwortet. Aber als jemand, der etwas weiß, hat man auch eine gewisse Verantwortung, so sehe ich das zu mindest.



  • Nee das Wissen als solches ist nicht gefährlich und sollte allen zugänglich sein



  • @_@ schrieb:

    Nee das Wissen als solches ist nicht gefährlich und sollte allen zugänglich sein

    CCC

    MfG SideWinder



  • Alle diejenigen, welche das Gefühl haben, ich wolle einen Virus programmieren, kann ich beruhigen. Es geht um einen Kopierschutz! Wenn der Mann in der Bank mit gezogener Waffe ein Sicherheitsbeamter ist, wäre ich als Bankier nicht sonderlich beunruhigt... :p



  • @Ishildur also ich würd deine software dann schonmal nicht einsetzen also ich finde persönlich ne schande da ein normaler programmierer so einen kopierschutz versucht zu entwicklen finde es schon behämert das bestimmte softwarefirmen solch ins system greifende kopierschutz aufbauen . ein kopierschutz sollte immer nur im programm selbst sein und sich nicht auch noch ins system hängen ..

    und dazu mal ne frage was passiert wenn eine von beiden dateien (eine der beiden prozesse) beschädigt ist? dann kann der user sein bs neu installieren nur weil du so ein idiotischen kopierschutz eingebaut hast, da ja der rechner dann ständig neustartet oder solch spielchen. such dir lieber nen ordentlichen für dein programm selbst es gibt im netz dazu genug beispiele

    außerdem wäre der kopierschutz auch schnell geknackt da es ziehmlich einfach ist die stellen zu finden wo ein 2 prozess auf vorhanden sein abgefragt wird und dies dann per dissassembler zu verändern ist ein leichtes spiel. bzw wenn du nen 2ten prozess nur für kopierschutzkontrolle nimmst dann gibts sogar die einfache möglich diese datei nachzuprogrammieren die dann die auf überprüfung antwortet vorallem ist das austauschen von daten zwischen 2prozessen besser abzufangen als daten die in einem prozesse verarbeitet werden


Anmelden zum Antworten