AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme rausfinden wer Programm automatisch startet
Thema durchsuchen
Ansicht
Themen-Optionen

rausfinden wer Programm automatisch startet

Ein Thema von Lemmy · begonnen am 27. Apr 2017 · letzter Beitrag vom 27. Apr 2017
Antwort Antwort
Seite 1 von 2  1 2      
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#1

rausfinden wer Programm automatisch startet

  Alt 27. Apr 2017, 07:14
Betriebssystem: Win 10
Hallo,

bei einem Kunden habe ich das Problem, dass "meine" Software automatisch beim Systemstart gestartet wird - allerdings nicht "richtig": Im Taskmanager taucht diese bei den Prozessen nicht auf, dafür aber im Reiter "Details". Gestartet wird die mit den Rechten des angemeldeten Benutzers, allerdings lässt sich der Task nicht schließen. Ach ja: Ein Fenster bzw. gestartetes Programm ist natürlich nicht zu sehen...

Unter den Diensten (nein ist kein Dienst, sondern ein normales Programm) ist das Programm nicht enthalten, ebenso nicht im Autostart im Taskmanager. Im AUtostartverzeichnis des Benutzers schaue ich heute mittag mal nach.

Hat noch jemand ne Idee an welcher Stelle ich sonst noch schauen kann?
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#2

AW: rausfinden wer Programm automatisch startet

  Alt 27. Apr 2017, 07:17
Jeder Prozess hat auch eine Parent ID, die angibt, welcher Prozess ihn gestartet hat. Je nach Startvorgang muss der Prozess mit der Parent ID gar nicht mehr vorhanden sein... kann aber

Ansonsten würde ich z.B. im Task Scheduler auch mal schauen.
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: rausfinden wer Programm automatisch startet

  Alt 27. Apr 2017, 07:38
wo finde ich die ParentID?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: rausfinden wer Programm automatisch startet

  Alt 27. Apr 2017, 08:20
Hast du eine COM-Schnittstelle in deinem Programm?
Also ein Automatisierungsschnittstelle so das dein Programm von jemand per COM gestartet wird.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: rausfinden wer Programm automatisch startet

  Alt 27. Apr 2017, 08:24
Hast du mal mit dem ProcessExplorer nachgeschaut ob der dir mehr sagen kann?

Ansonsten könntest du evtl. ein Logging Feature in deine Anwendung einbauen wo du dir die benötigten Informationen ziehst und abspeicherst.
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#6

AW: rausfinden wer Programm automatisch startet

  Alt 27. Apr 2017, 08:34
Unter welchem Benutzerkontext läuft der Prozess?
Wird er bei Windowsstart bereits geladen, oder erst nach Benutzeranmeldung?
Sprich, hat er überhaupt die Möglichkeit nach dem Start seine GUI anzuzeigen / zu erzeugen?
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: rausfinden wer Programm automatisch startet

  Alt 27. Apr 2017, 08:58
Hast du eine COM-Schnittstelle in deinem Programm?
Also ein Automatisierungsschnittstelle so das dein Programm von jemand per COM gestartet wird.
Nope, das Programm fungiert max. als Com Client

Hast du mal mit dem ProcessExplorer nachgeschaut ob der dir mehr sagen kann?

Ansonsten könntest du evtl. ein Logging Feature in deine Anwendung einbauen wo du dir die benötigten Informationen ziehst und abspeicherst.
nein, das könnte ich noch versuchen ob der ProcessExplorer was aussagt. Logging ist eingebaut, aber das gibt aktuell nur aus, dass es gestartet wird - aber nicht von wem und warum

Unter welchem Benutzerkontext läuft der Prozess?
Wird er bei Windowsstart bereits geladen, oder erst nach Benutzeranmeldung?
Sprich, hat er überhaupt die Möglichkeit nach dem Start seine GUI anzuzeigen / zu erzeugen?
Wie oben angegeben unter dem Kontext des angemeldeten Benutzer - anhand der ProzessID vermute ich, dass der Start erst spät, also ggf. während des Anmeldeprozesses passiert. Daher auch die Kontrolle des AUtostart - wobei beim Taskmanager im Autostart-Register das Programm wie gesagt nicht verzeichnet ist. Um 13 Uhr habe ich wieder Zugriff auf den Rechner....
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#8

AW: rausfinden wer Programm automatisch startet

  Alt 27. Apr 2017, 10:14
Mal den Autostart und die Aufgabenplanung prüfen, ob das dort irgendwo gestartet wird.
Falls das nichts hilft, könnte man auch den ProcessMonitor einfach mal mit laufen lassen und dann im Datei-Zugriffslog prüfen, wer das gestartet hat.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

AW: rausfinden wer Programm automatisch startet

  Alt 27. Apr 2017, 10:55
ggf. autoruns mal fragen!

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#10

AW: rausfinden wer Programm automatisch startet

  Alt 27. Apr 2017, 11:13
Stellen, die mir so einfallen:

Registry
(Für alle Benutzer prüfen, nicht nur den konkret betroffenen.)
HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\RunOnce

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\RunOnce
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\RunOnceEx
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\RunServices
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servic es

Verzeichnisse
AutoStart des Users
AutoStart für "Alle"
AutoStart der User, die normalerweise nicht sichtbar sind (Localservice, Networkservice, ...)

Dort überall unbedingt auch verstecke Dateien überprüfen.

Wo liegt die Software?

Hat da eventuell (oder auch sonstwo) einer 'ne AutoRun.inf hingelegt, die das Programm startet.
Die AutoRun.Inf funktioniert nicht zur für CD-Laufwerke.

Der Prozess-Explorer hat mir bisher immer die Quelle jeglicher Software und den "Verursacher" des Aufrufes verraten können. Man muss sich halt ggfls. mal durch alle seine Optionen durchklicken.

Wenn man im Prozess-Explorer in der "Titelzeile" des Listview auf Process klickt, wird sortiert: Aufsteigend und absteigend nach Namen, sowie Prozess mit "untergeordneten" Prozessen, das ist eine Baumansicht, in der man ggfls. durch Klicken auf das + vor einem Prozess die von ihm aufgerufenen Prozesse sichtbar machen kann.

Zeugs, dass aus der Registry gestartet wurde, solltes Du eher unterhalb von System finden, Autostart und Konsorten eher unter explorer.exe.

Steht Dein Programm unter einem anderen Prozess, so ist dieser (höchstwahrscheinlich) der "Verbrecher".

Hilft alles nix:

Per Virenscanner prüfen, ob Dein Programm auf diesem Rechner irgendwie zu 'nem Zombie mutiert (worden) ist.
(Programm gegen neue Version (frische Exe) austauschen - wenn Windows den Zugriff, trotz laufendem Prozess - was eher unwahrscheinlich ist - zulässt.)
Geht das, prüfen, ob es die Exe auch noch "Andernorts" gibt.

Dass das Programm im Benutzerkontext läuft, heißt nicht zwingend was. Es könnte auch sein, dass ein anderer Benutzer die Software mit den Benutzerangaben des angemeldeten Benutzers startet.

Gibt es auf dem Rechner mehrere Benutzer?

Wenn ja, wird die Software bei den Anderen auch automatisch gestartet?
Bei allen? (Eher ein benutzerunabhängiges Problem.)

Wenn nein, dann dürfte das ein "Benutzerproblem" sein.

Im Zweifelsfalle das Programm an eine andere Stelle verschieben (soweit möglich) und prüfen, ob der "Autostart" dann weg ist.
In der Ereignisanzeige prüfen, ob da Meldungen bezüglich des Programmes zu finden sind.

An allen oben genannten Stellen alles entfernen (Verzeichnisse bzw. Registryeinträge umbenennen) um auszuschließen, dass da irgendein "indirekter" Aufruf stattfinden kann.
Startet das Programm dann immer noch?

Bist Du sicher, dass es sich um Dein Programm an der Dir bekannten Stelle (auf welchem Laufwerk auch immer) handelt oder nicht eventuell um eine Kopie von anderer Stelle? (Die ggfls. aufgrund von fehlenden "Abhängigkeiten" (DLLs oder so) nicht richtig starten kann.)

Gibt es auf diesem Rechner oder für diesen Benutzer weitere "Auffälligkeiten", die nichts mit Deiner Software zu tuen haben und von denen Du (bisher) nichts weißt?
Es könnte ja durchaus ein anderes Problem geben, von dem halt Deine Software zufällig auch betroffen ist.

Wenn alle Stricke reißen, dann sowas benutzen:
Autostart-Manager
AutoRuns (gehört, wie der Prozessexplorer, zur Sysinternals Suite)

Manche meiner Vorschläge mögen absurd klingen, aber im Zweifelsfalle, wenn keine "vernünftige" Ursache zu finden ist, halt trotzdem mal nachschauen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:52 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