![]() |
Virtuelles Laufwerk über DefineDosDevice und Hooks!
Hallo,
ich möchte ein virtuelles Laufwerk erzeugen. Ich habe hier auch schon gelesen, dass man dafür einen Treiber braucht. Meine Idee war jetzt, ich mache einen Ordner per DefineDosDevice zu einem Laufwerk. Dann hook ich alle Dateisystem Functions und überwache ob auf das Laufwerk zu gegriffen wird. Wenn das der Fall ist, kann ich anderen Programmen vorgauckeln, da wären Dateien/Verzeichnisse/usw. drauf. Zum Hooken wollte ich madCodeHook verwenden. So meine 1. Frage: Macht das überhaupt Sinn? :?: Oder gibt es einen besseren Weg? :?: Oder wird das garnicht funktionieren? :?: Meine 2. Frage: Muss man dann eigentlich z.B. nur CreateFileEx oder auch CreateFile hooken? :?: Und muss einen API-Hook oder einen Function-Hook machen? Meine 3. Frage: Gibt es irgendwo eine Beschreibung, wie die API-Functions in Delphi "übersetzt" deklariert werden? :?: (Ich komme nämlich mit LPSECURITY_ATTRIBUTES oder sowas nicht zurecht... ;-) ) Für alle Anregungen schon mal Danke Florian K. :coder: |
Re: Virtuelles Laufwerk über DefineDosDevice und Hooks!
Zitat:
Zitat:
Zitat:
![]() Du kommst um einen Treiber nicht herum - alles andere ist aeusserst unzuverlaessig und dringendst abzuraten da es das System aeusserst instabil machen kann (mal ganz abgesehen von den geschwindigkeitseinbussen). Ausserdem ist der Aufwand ein vielfaches hoeher als wenn man gleich schnell einen kleinen (virtuellen) device driver schreibt. |
Re: Virtuelles Laufwerk über DefineDosDevice und Hooks!
Zitat:
Zitat:
Zitat:
Zitat:
Oder wie willst du sonst 'nen Treiber schreiben? :?: Florian K. :pale: :thumb: :twisted: :?: |
Re: Virtuelles Laufwerk über DefineDosDevice und Hooks!
Die SecurityAttributes sind doch schon nach delphi übersetzt worden, oder? Bei mir zumindest ...
Also, ich hatte diese Idee auch schonmal, aber hab das dann nicht weiter ausgeführt, da es sau viel arbeit ist, hinterher nicht unbedingt funktioniert, und dazu noch sehr langsam ist. Das sind meiner ansicht nach die hauptgründe davon die finger zu lassen. Desweiteren wirst du mit der MadCodeHook-Lib da probleme bekommen. Da viele Rootkits dateien verstecken indem sie z.B. die NtQuerySystemInformation Funktion hooken (was du auch tun müsstest), hat madshi das hooken dieser funktion (und das nicht nur dieser funktion) in seiner lib untersagt. Wenn du es versuchst wirst du eine fehlermeldung bekommen. Dann musst du dich warscheinlich noch mit nem riesigen haufen von funktionen rumschlagen, die sogut wie überhaupt nicht dokumentiert sind. Wenn du da mal einen fehler rein machst kommt es schnell zum Absturz. Daher lege ich dir sehr die Treiber-Version davon nahe ... und das ddk kann man sich bestimmt irgendwo billig ersteigern (wenns auch etwas älter is, sollte das nicht allzuviel machen) Dazu kommt noch, dass es da sogar beispiele dazu gibt: ![]() Ich persönlich kenne mich mit treibern aber überhaupt nicht aus, und kann daher nicht allzuviel über die schwierigkeit eines solchen treibers sagen, aber es ist garantiert interessant! ciao, Philipp |
Re: Virtuelles Laufwerk über DefineDosDevice und Hooks!
Das DDK kann man auch online kostenlos auf
![]() |
Re: Virtuelles Laufwerk über DefineDosDevice und Hooks!
1. Die Frage ist noch als offen markiert! Warum?
2. Das DDK gibt es gegen Versandkosten kostenlos bei MS, im Gegensatz zum IFSKIT ($900 oder so). Bei OSR konnte man es mal einsehen. Ich glaube das geht nicht mehr. |
Re: Virtuelles Laufwerk über DefineDosDevice und Hooks!
Um meine Bemerkung fortzufuehren. Seit dem WDK ist das IFSK ja nun endlich integriert und damit quasi frei verfuegbar.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:09 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