![]() |
Datei anklicken erkennen
Hallo,
um gleich zur frage zu kommen: Gibt es eine Möglichkeit den Pfad der Datei zu bekommen die der Benutzer anklickt, also wie ein "on access"-Virenscanner? Wenn es eine möglichkeit gibt, wie? Das ganze natürlich mit Delphi. |
Re: Datei anklicken erkennen
Per Shellüberwachung kannst du dich über das Öffnen, Schliessen, Verschieben, .., von Dateien, Ordnern usw benachrichtigen lassen
|
Re: Datei anklicken erkennen
Wie komme ich an die schellüberwachung ran?
|
Re: Datei anklicken erkennen
|
Re: Datei anklicken erkennen
Soweit ich weiß kann
![]() Die jweils einfachste Methode hängt vom verwendeten Betriebssystem ab: Windows vor Vista: Pre Vista/2008 ist die einfachste Möglichkeit über eine Shell Extension die das ![]() ![]() Windows nach Vista SP1: Mit Vista SP1 (und 2008) hat Microsoft einen Kernel Mode Callback eingefügt, mit dem man über Programmstarts informiert werden und diese dann auch blockieren kann. Nachteil ist hier der Zwang zum Kernel Mode und entsprechend halt auch der Zwang zu C/C++. Ein Treiber der die Funktionalität nutzt, ist eigentlich recht trivial und auch wenn man kein C/C++ Crack ist bekommt man das mit bissi probieren hin. Die verwendete API für den Callback heißt ![]() Windows Vista SP0: Ja, das ist so ein wenig das Problemkind. Shell Extensions funktionieren nicht wirklich, der Kernel Mode Callback existiert noch nicht. Da hilft nur die User zum Upgrade auf SP1 zu bewegen. Die komplizierteren Methoden: Kernel Mode Hooks Funktioniert prinzipiell auf allen 32bit Varianten von Windows NT ab Version 4.0. Generell ein wenig "unschön", weil (offiziell zumindest) komplett undokumentiert. Da Kernel Mode gibts hier den Zwang zu C/C++. Welche API man hookt ist letztlich jedem selbst überlassen. Sowohl NtCreateProcess/NtCreateProcessEx als auch NtCreateSection wäre möglich. Gibt sicher noch andere APIs die gehookt werden können um die Funktionalität zu implementieren. Ohne ![]() User Mode Hooks Funktioniert prinzipiell auf allen Varianten von Windows NT. User Mode Hooks sind allerdings unsicher und wenn Du eine sicherheitsrelevante Applikation schreiben willst, sind User Mode Hooks keine wirkliche Alternative. Dafür kannst Du zumindest alle 32bit Varianten von Windows mit dem selben Code abdecken und es gibt recht brauchbare Komponenten für User Mode Hooks in Delphi, die Open Source und somit frei erhältlich sind ( ![]() ![]() ![]() Funktioniert ab Windows 2000 SP4. Eigentlich ist es für eine einfache Überwachung von Programmstarts fast ein wenig "Overkill", da man nicht nur Programmstarts mitbekommt, sondern komplett alle Dateisystemaktionen überwachen und blockieren kann. Deshalb wird diese Methode eigentlich auch ausnahmslos von allen AV Programmen mit On Access Scannern eingesetzt. Es handelt sich hierbei um Treiber, also Zwang zu C/C++ und bei 64bit Windows Zwang zum Code Zertifikat. Ja, das sind die Methoden die mir auf die Schnelle einfallen. Sind bei weitem nicht alle, aber ist zumindest ein Anfang. |
Re: Datei anklicken erkennen
Danke für die ausführliche Antwort.
Ich denke, dass sich mein Problem damit lösen lässt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 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