virtuelles Filesystem - Filesystem-Hook - etc

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
uweb
Beiträge: 461
Registriert: 13.07.2005 08:39

virtuelles Filesystem - Filesystem-Hook - etc

Beitrag von uweb »

Hallo !
Ich bin mir nicht sicher ob das hier passt - hoffe aber, daß andere noch etwas beitragen und es damit passend machen.
Das Thema ist ja schon ein paar mal ergebnislos angesprochen worden.
Ich selbst bin stark daran interessiert, habe aber momentan kaum Zeit dafür.

Eben habe ich eine Privat-Nachricht gelesen :
Kannst du mir vielleicht hier schreiben wie man einen File-Hook macht ... BITTE

Da es vermutlich noch andere gibt die daran interessiert sind habe ich mich entschlossen, öffentlich zu antworten :
Das Thema Hook habe ich beerdigt.
Unter http://dokan-dev.net/en/about/ habe ich aber, glaube ich, eine geniale Lösung gefunden. Es ist ein Filesystemtreiber der als Proxy arbeitet. Das einzige Problem dabei : Es gibt (noch) keinen Wrapper für PureBasic. Und damit wären wir bei meiner Hoffnung (euch).
:-)
Andreas_S
Beiträge: 787
Registriert: 14.04.2007 16:48
Wohnort: Wien Umgebung
Kontaktdaten:

Beitrag von Andreas_S »

Ich hab mich eigendlich auch nicht wirklich weiter mit dem Thema befasst...
Ich kann nur sagen dass das am besten (kA obs leicht ist) mit einem Treiber ist. Ein Treiber kann alle windows-events abfangen und manipulieren, soweit ich das richtig in Erinnerung/verstanden hab. Hier kannst du dann erfahren welches Programm welchen Befehl mit welchen Parametern aufruft.

Mehr kann ich echt nicht sagen, sorry...
Google einfach mal nach Rootkits...
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

> Es gibt (noch) keinen Wrapper für PureBasic
Dann warten wir mal auf PureBasic.net :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
uweb
Beiträge: 461
Registriert: 13.07.2005 08:39

Beitrag von uweb »

@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.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

uweb hat geschrieben: 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?
Dann vergiß es schnell wieder, weder Zeit noch Lust.
Für PBOSL ist DarkDragon zuständig, bzw. PBOSL erstellt auch keine
UserLibs, sondern das machen die User, PBOSL verwaltet diese lediglich und
nimmt erforderliche Änderungen vor, wenn der Autor ausfällt.

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten