![]() |
Festplattenzugriffe protokollieren
Mahlzeit alle zusammen...
es gibt ja bekannterweise Tools, die sozusagen als "Festplatten - LED" fungieren, d.h die die Zugriffe auf die Festplatte protokollieren und dabei zwischen Lese- und Schreibzugriffen unterscheiden sowie die Dauer der Zugriffe in ms anzeigen. Viele dieser Tools laufen unter WinXP/2003. Daraus folgere ich einfach mal, dass es unter diesen Betriebsystemen eine Schnittstelle geben muss, die man irgendwie ansprechen kann. Meine Frage wäre also: Wie mache ich das? :coder2: => Eine Anfrage beim MSDN brachte irgendwie keine brauchbaren Ergebnisse. Wäre schön wenn jemand einen Ansatz hätte oder wüsste, welche Schnittstelle zu nutzen wäre. mfg Daniel (Noch) keiner eine Idee? *ungeduldig auf dem Stuhl hin - und herrutsch* [edit=Christian Seehase]Beiträge zusammengefasst. Pushen erst nach 24h :!: Mfg, Christian Seehase[/edit] |
Re: Festplattenzugriffe protokollieren
Gestern schrieb ich: (Noch) keiner eine Idee? *ungeduldig auf dem Stuhl hin - und herrutsch* [edit=Christian Seehase]Beiträge zusammengefasst. Pushen erst nach 24h Mfg, Christian Seehase[/edit] So, nu aber: *schiiiiiiiieeeeeb* |
Re: Festplattenzugriffe protokollieren
Guck dich mal bei
![]() |
Re: Festplattenzugriffe protokollieren
*grmpf*
trotzdem danke fürs erste... (sollte trotzdem noch wer ne idee haben...) |
Re: Festplattenzugriffe protokollieren
Wenn es ganz "allgmein" Festplattenzugriffe sein sollen, geht es nur mit Treibern. PUNKT. Da gibt es keine anderen Ideen auf die man kommen könnte.
Da hilft es nicht diese Frage als offen markiert zu lassen. |
Re: Festplattenzugriffe protokollieren
Um an einem Treiber vorbeizukommen, könntest du die Performance API bemühen und beispielsweise in regelmäßigen Intervallen abfragen, wieviele Bytes gerade pro Sekunde gelesen/geschrieben werden oder bisher ingesamt gelesen/geschrieben wurden.
|
Re: Festplattenzugriffe protokollieren
und wenns kompliziert haben willst kannte nen API hook auf CreateFileW und ReadFile machen und alles mitloggen
|
Re: Festplattenzugriffe protokollieren
Zitat:
Wie Christoph schon schrieb: Performance API (im der CodeLib müsste ein Beispiel zum Auslesen der SystemUp-Time stehen) |
Re: Festplattenzugriffe protokollieren
*senf-ranschaufel*
Also die Performance-API kann nur dann helfen, wenn es um die Quantität der Zugriffe geht. Über die Qualität (i.e. den Inhalt) kann die nichts aussagen. Ansonsten, wenn wir schon beim API-Hooking sind, können wir auch ein Stockwerk tiefer gehen und über SSDT-Hooking reden. Aber selbst hier, auf dieser Ebene, kann man durch das Hooken der Native APIs nicht alles abfangen. Die sicherste Methode dürfte wohl ein Filtertreiber sein. Wenn es nur um Lesen/Schreiben im althergebrachten Sinne geht, kann ein API-Hook auf eine Native API im Usermode oder besser im Kernelmode helfen (ansonsten sind bei brechis Methode zumindest dann welche durchs Netz gegangen, wenn jemand die Native APIs direkt benutzt - wie andere Subsysteme, oder interne Funktionen von Windows). Übrigens: bei der Performance Counter Methode würde ich die Registry-Benachrichtigungs-APIs empfehlen (statt ständigem Polling ;)). |
Re: Festplattenzugriffe protokollieren
Zitat:
|
Re: Festplattenzugriffe protokollieren
Unter der Kategorie Beispiele ist eine Komponente ShellChangeNotifier. Ich GLAUBE des ist genau des was du brauchst den diese Komponente springt an wenn auf des eingestelle verzeichnis eine Datei geaändert oder sonst irgendwas wird (kann man auch einstellen). Hab selber noch nie damit gearbeitet aber schon ein bisschen damit rumgespielt. Ich hoff für dich die Komponente funktioniert. :zwinker:
|
Re: Festplattenzugriffe protokollieren
Zitat:
Aber vllt. ist sie ja bei Delphi2005 Personal dabei... [Edit] Ach, ich hab ja noch 'ne Delphi 7 Personal. Ich schau' mal nen bissel 'rum [/Edit] |
Re: Festplattenzugriffe protokollieren
Mit Shell Notifications wirst du aber wieder nicht alles erfassen können.
Möglicherweise kannst du aber statt Performance API (per API oder Registry) auch über WMI die nötigen Informationen herausbekommen. Wenn ich mich recht entsinne gibt es da auch Events bzw. Notifications. Gruß, Christoph |
Re: Festplattenzugriffe protokollieren
Zitat:
@Christoph: also bei den üblichen Verdächtigen (Win32_DiskPartition und Win32_DiskDrive) habe ich nix gefunden. Hast du einen konkreten Verdacht welche WMI-Klasse das bietet? |
Re: Festplattenzugriffe protokollieren
@Olli: Einen Verdacht hatte ich nicht - musste selber kurz nachschauen:
![]() Andere Möglichkeit ist noch Root\wmi\MSDISKDriver_Performance |
Re: Festplattenzugriffe protokollieren
Zitat:
|
Re: Festplattenzugriffe protokollieren
Zitat:
Zitat:
@topic: Stimmt, Shell Notification ist wirklich nicht das richtige. Ich werde bei Gelegenheit mal in Richtung Performance API oder WMI weiterforschen. Der Daniel |
Re: Festplattenzugriffe protokollieren
So, ich penetrier euch dann mal mit'm Doppelpost:
Nach kurzen stöbern ist mir aufgefallen, das der ganze WMI - Kram sch*** komplex ist. Ich bleib also vorerst bei meinem aktuellen Projekt. Außer natürlich, jemand hat Links, die mir verraten, wie ich das mit Delphi alles anstell'. (Jepp, die Forensuche habe ich schon genutzt) So long Daniel |
Re: Festplattenzugriffe protokollieren
Zitat:
Übrigens, schonmal Google gefragt? :zwinker: ![]() ![]() ![]() Nachtrag: Sogar die Forensuche bringt erkleckliches ;) ![]() ![]() ![]() |
Re: Festplattenzugriffe protokollieren
Zitat:
Achso: ![]() |
Re: Festplattenzugriffe protokollieren
Zitat:
|
Re: Festplattenzugriffe protokollieren
geht bei mir auch nicht. und ich hab definitiv keinen proxy.
|
Re: Festplattenzugriffe protokollieren
Liste der Anhänge anzeigen (Anzahl: 2)
Komisch. Was habt ihr bloß für ISPs. Ihr seid doch nicht etwa die Opfer irgendwelcher Zensurmaßnahmen? Ich kann die Seite so betrachten, wie ich es gestern konnte. Habe mal einen Screenshot des Abschnitts zu WMI und den Source mit Orginalnamen der Datei angehangen.
|
Re: Festplattenzugriffe protokollieren
bei mir geht die Seite auf ohne Problemme.
(Kein Proxy, nur Router) |
Re: Festplattenzugriffe protokollieren
Zitat:
Ach ja, danke für den Source. |
Re: Festplattenzugriffe protokollieren
Falls du dich doch entscheides es über Treiber oder Hooks zu machen, dann ist vielleicht der FileMonitor Source Code von Sysinternals ganz hilfreich.
|
Re: Festplattenzugriffe protokollieren
Zitat:
|
Re: Festplattenzugriffe protokollieren
Den Source der alten Version findest du bestimmt mit einer Suchmaschine irgendwo... Er stand jedenfalls mal online. Aber versuch es lieber mit Perf-API :-)
|
Re: Festplattenzugriffe protokollieren
Bevor man sich durch den Filemon-Source durchgepfriemelt hat, schreibt man's einfacher selber ;)
So schwer ist SSDT-Hooking nicht. Das schwerste ist es, zu verhindern, daß es Konflikte mit anderen Hooks gibt (Test ob Sprungadresse innerhalb NTOSKRNL.EXE, Lücke finden in die man schreiben kann etc.). Aber wenn du Filemon und Regmon im Source brauchst, habe da noch die alte Version im Source vorliegen. PN an mich und ich schicke es dir zu. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz