@Andreas_S
Danke für den Tipp mit den Rootkits. Ich habe sogar das Buch, aber wie gesagt : Das Thema Hook habe ich beerdigt.
Ich sehe auch keinen Sinn mehr darin, weil das was ich damit machen wollte so viel besser gehen sollte.
Kein Virenscanner stört sich an einem Treiber und ein Hook würde sich ja nur irgendwo zwischen den Treiber und die Anwendung schieben.
Man muß nun auch nicht mehr in die Tiefen des Systems abtauchen weil Hiroki Asakawa das bereits für uns erledigt hat.
@ts-soft
Der erste Eindruck teuscht!
Das ganze basiert, wie z.B. auch Fuse, zunächst auf einer C-basierten Lösung. Alles andere (z.B. auch die Ruby-Lösung) baut wohl darauf auf.
Es gib eine Headerdatei für C und ein ziemlich gutes Readme.
Du scheinst mir übrigens ein idealer Hoffnungsträger. Mit Dokan und Fuse gibt es für Windows und Linux jeweils eine gute Basis. Wäre das nicht etwas für die PBOSL?
How it works
Dokan library contains a user mode DLL (dokan.dll) and a kernel mode file system driver (dokan.sys). Once Dokan file system driver is installed, you can create file systems which can be seen as normal file systems in Windows. The application that creates file systems using Dokan library is called File system application. File operation requests from user programs (e.g., CreateFile, ReadFile, WriteFile, …) will be sent to the Windows I/O subsystem (runs in kernel mode) which will subsequently forward the requests to the Dokan file system driver (dokan.sys). By using functions provided by the Dokan user mode library (dokan.dll), file system applications are able to register callback functions to the file system driver. The file system driver will invoke these callback routines in order to response to the requests it received. The results of the callback routines will be sent back to the user program. For example, when Windows Explorer requests to open a directory, the OpenDirectory request will be sent to Dokan file system driver and the driver will invoke the OpenDirectory callback provided by the file system application. The results of this routine are sent back to Windows Explorer as the response to the OpenDirectory request. Therefore, the Dokan file system driver acts as a proxy between user programs and file system applications. The advantage of this approach is that it allows programmers to develop file systems in user mode which is safe and easy to debug.
Bei der Installation von dokan werden folgende Dateien auf die Platte kopiert :
SystemFolder\dokan.dll
Dokan user mode library
SystemFolder\drivers\dokan.sys
Dokan File System Driver
ProgramFilesFolder\Dokan\DokanLibrary\mounter.exe
Dokan mouter service
ProgramFilesFolder\Dokan\DokanLibrary\dokanctl.exe
Dokan control program
ProgramFilesFolder\Dokan\DokanLibrary\dokan.lib
Dokan import library
ProgramFilesFolder\Dokan\DokanLibrary\dokan.h
Dokan library header
ProgramFilesFolder\Dokan\DokanLibrary\readme.txt
Nun fehlt nur noch der Wrapper für die dokan.dll. Alle Infos dazu stehen in der dokan.h und der readme.txt.
Bei Fuse gibt es übrigens ein C-Beispiel das sich wohl auch in PureBasic realisieren lassen würde.