AGB  ·  Datenschutz  ·  Impressum  







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

Arbeitsweise von "Process Monitor"

Ein Thema von Alloc · begonnen am 29. Jan 2012 · letzter Beitrag vom 29. Jan 2012
Antwort Antwort
Alloc

Registriert seit: 18. Apr 2005
Ort: Griesheim
167 Beiträge
 
Delphi 2006 Professional
 
#1

Arbeitsweise von "Process Monitor"

  Alt 29. Jan 2012, 01:18
Hi zusammen,

ich möchte gerne ein Programm schreiben, dass einige Funktionen des Process Monitor beherrscht. Konkret geht es mir darum, dass mein Programm ein anderes Programm "überwachen" können soll, und dann Operationen wie CreateFile, aber auch Zugriffe auf die Registry, protokolliert. Letztlich möchte ich damit überwachen, was genau ein Installationsprogramm auf meinem System anstellt.

Kann mir jemand einen Tipp geben, wonach ich suchen muss, um diese Überwachung durchzuführen, so wie es der Process Monitor macht?

Grüße,
Chris
Christian Illy
ONI2.net, basicly every important link about Oni.
  Mit Zitat antworten Zitat
DMW

Registriert seit: 6. Sep 2006
Ort: Münster
269 Beiträge
 
Delphi XE Professional
 
#2

AW: Arbeitsweise von "Process Monitor"

  Alt 29. Jan 2012, 16:05
Wenn's nur um ein einzelnes Programm geht, wären die Mittel der Wahl vermutlich DLL-Injection und Detouring der fraglichen Funktionen (z.B. mit Microsoft Detours, madCodeHook). Was Process Monitor genau tut, weiß ich nicht, aber vermutlich bedient es sich eines Filtertreibers.

Edit: solche Software gibt es schon: z.B. Total Uninstall. Aber das weißt du sicherlich.
Moritz
"Hey, it compiles! Ship it!"
C++Builder Pages
  Mit Zitat antworten Zitat
Alloc

Registriert seit: 18. Apr 2005
Ort: Griesheim
167 Beiträge
 
Delphi 2006 Professional
 
#3

AW: Arbeitsweise von "Process Monitor"

  Alt 29. Jan 2012, 16:21
Hi DMW,

danke für deine Antwort.

Erstmal zu den Programmen: Es gibt verschiedene, die meist den gleichen Ansatz nutzen (zB auch Track Winstall): Vor der Installation wird ein "Snapshot" des aktuellen Systems gemacht, in dem von bestimmten Ordnern und Dateien der Zeitstempel oder auch ein Hash gespeichert wird. Zusätzlich wird noch die Registry mehr oder weniger genau kopiert. Nach der Installation wird dann lediglich der neue Zustand des Systems mit dem Snapshot verglichen um Unterschiede festzustellen.

Dieser Ansatz funktioniert zwar prinzipiell, hat aber zwei große Nachteile:
1. Es dauert je nach System (Umfang der Registry, Menge der Dateien die in überwachten Ordnern liegen) extrem lang ein Snapshot zu erstellen bzw. zu vergleichen.
2. Es werden nicht nur Änderungen durch die eine Installation überwacht, sondern alles, was im Zeitraum zwischen Snapshot erstellen und vergleichen passiert. Bei mir sind da zum Beispiel oft eine Menge Registry-Updates wegen DHCP drin, oder die Registry-Dateien selber werden als geändert gezeigt (logisch, muss aber nicht sein, da die Setups ja nicht in die Datei schreiben sondern in die Registry, was ja sowieso bemerkt wird). Die Liste wäre also durch "meinen" Ansatz wesentlich kompakter und präziser


Wenn der Process Monitor einen Filtertreiber nutzen würde, wäre der doch sicherlich als eigene Datei bei dem Programm dabei? Das ist nämlich nicht der Fall, das ist ausschließlich eine EXE.


Grüße,
Chris
Christian Illy
ONI2.net, basicly every important link about Oni.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: Arbeitsweise von "Process Monitor"

  Alt 29. Jan 2012, 16:27
Die Treiber liegen in der EXE und werden dynamisch geladen.
$2B or not $2B
  Mit Zitat antworten Zitat
Alloc

Registriert seit: 18. Apr 2005
Ort: Griesheim
167 Beiträge
 
Delphi 2006 Professional
 
#5

AW: Arbeitsweise von "Process Monitor"

  Alt 29. Jan 2012, 16:38
Das heißt für Dateien wahrscheinlich ein File System Filter Driver? Und für die Registry?
Christian Illy
ONI2.net, basicly every important link about Oni.
  Mit Zitat antworten Zitat
Alloc

Registriert seit: 18. Apr 2005
Ort: Griesheim
167 Beiträge
 
Delphi 2006 Professional
 
#6

AW: Arbeitsweise von "Process Monitor"

  Alt 29. Jan 2012, 18:08
Hab mittlerweile rausgefunden, dass der Process Monitor auf Event Tracing for Windows (ETW) basiert. Jetzt muss ich nur noch rausfinden, was ich alles tun muss, um Reg/File-Events darüber zu überwachen

Grüße,
Chris
Christian Illy
ONI2.net, basicly every important link about Oni.
  Mit Zitat antworten Zitat
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#7

AW: Arbeitsweise von "Process Monitor"

  Alt 29. Jan 2012, 18:31
JEDI
Lars
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: Arbeitsweise von "Process Monitor"

  Alt 29. Jan 2012, 18:37
Wenn der Process Monitor einen Filtertreiber nutzen würde, wäre der doch sicherlich als eigene Datei bei dem Programm dabei? Das ist nämlich nicht der Fall, das ist ausschließlich eine EXE.
Der Treiber liegt als Ressource in der Exe und wird beim ersten Start in ein Systemverzeichnis kopiert und dann geladen. Starte das Programm mal als einfacher Monitor, dann bekommst du die Meldung, dass der Treiber nicht installiert werden konnte, wenn du es das erste mal startest.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#9

AW: Arbeitsweise von "Process Monitor"

  Alt 29. Jan 2012, 18:43
Event Tracing for Windows (ETW) ... Jetzt muss ich nur noch rausfinden, was ich alles tun muss, ...
Das ist auch nur der Punkt 3 (Event Tracing Reference).
1 (About Event Tracing) und 2 (Using Event Tracing) sollte man sich dennoch mal durchlesen.
$2B or not $2B
  Mit Zitat antworten Zitat
Alloc

Registriert seit: 18. Apr 2005
Ort: Griesheim
167 Beiträge
 
Delphi 2006 Professional
 
#10

AW: Arbeitsweise von "Process Monitor"

  Alt 29. Jan 2012, 18:47
Event Tracing for Windows (ETW) ... Jetzt muss ich nur noch rausfinden, was ich alles tun muss, ...
Das ist auch nur der Punkt 3 (Event Tracing Reference).
1 (About Event Tracing) und 2 (Using Event Tracing) sollte man sich dennoch mal durchlesen.
Ups, mal wieder falsches Tab verlinkt
Kapitel 1 hatte ich mir durchgelesen, Kapitel 2 noch nicht. Kommt aber alles noch
Scheinbar ist das ganze aber auch nicht gerade wenig Aufwand, mal schauen wann ich da überall durch bin (vor allem scheint es ja wieder Unterschiede zwischen Windows XP und >= Vista zu geben ).

@Lars: Danke für den Link
Christian Illy
ONI2.net, basicly every important link about Oni.
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:12 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