Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Windows (Explorer) - Schreibzugriff blockieren (https://www.delphipraxis.net/163404-windows-explorer-schreibzugriff-blockieren.html)

wicht 29. Sep 2011 18:11

AW: Windows (Explorer) - Schribzugriff blockieren
 
Du wirst schon etwas Zeit investieren müssen, komplett vorgekaut gibt es da für deinen Zweck vielleicht nichts. Eine Google-Suche nach "windows api hook tutorial" spuckt doch recht viel aus, im Zweifelsfall noch um das Stichwort "Delphi" erweitern.
Klar, du schriebst ja, dass du gegoogelt hast, aber es gehört bei dem Thema wohl dazu, sich ein paar Tage einzulesen und zu experimentieren. Hier eine Anleitung zu posten würde den Poster wohl auch einige (viele) Zeit kosten...

trebor90 30. Sep 2011 18:06

AW: Windows (Explorer) - Schreibzugriff blockieren
 
Ich habe jetzt einfach mal ein Delphi Tutorial angeschaut und compiliert.
Herausgekommen ist eine Prgrammbibliothek (DLL).
Es handelt sich dabei um einen Tatstatur-Hook. Ich habe als Aktion ein >beep< eingetragen.

Und nun? Was mache ich denn nun mit dieser DLL? Wie nutze ich sie?
Wie kann ich damit auf Tastatureingaben reagieren??



--
Ri

Luckie 30. Sep 2011 19:17

AW: Windows (Explorer) - Schreibzugriff blockieren
 
Zitat:

Zitat von trebor90 (Beitrag 1127801)
Ich habe jetzt einfach mal ein Delphi Tutorial angeschaut und compiliert.
[..]
Und nun? Was mache ich denn nun mit dieser DLL? Wie nutze ich sie?
Wie kann ich damit auf Tastatureingaben reagieren??

Das sollte eigentlich im Tutorial stehen.

trebor90 30. Sep 2011 19:37

AW: Windows (Explorer) - Schreibzugriff blockieren
 
Achja, 'tschuldigung. Da war ich zu voreilig; steht auf der naechsten Seite.
Was ich aber wirklich nicht finde: Wenn die DLL eingebunden ist und ich somit Zugriff auf die Funktionen habe, wie nutze ich denn nun den Hook? Also, wie bringe ich das ganze dazu, zu reagieren? Selbsttaetig?



--
Ri

Hobby-Programmierer 30. Sep 2011 20:18

AW: Windows (Explorer) - Schreibzugriff blockieren
 
... du hast dich wohl etwas verrannt. Mit nem Sniffer kannst du vielleicht deine Freundin überwachen, das Dateihandling aber sicher nicht.
Vielleicht solltest du lieber diesen Ansatz verwenden ...

LG Mario

trebor90 30. Sep 2011 22:38

AW: Windows (Explorer) - Schreibzugriff blockieren
 
Ich habe nur versucht, das ganze ueberhaupt zu verstehen. Hooks.
Ich bin total verwirrt. Der eine sagt mir, dass mir das wohl nicht helfen wird, du sagst mir, dass mir diese Art von Hooks nicht helfen wird. Aber Hooks sind doch Hooks. Muss doch immer das gleiche sein, nur eben, dass es verschiedene Typen fuer verschiedene Aufgaben gibt. Ich meine, Windows kann doch auch nur Zigriff auf Hooks anbieten. Hooks bleiben doch immer Hooks und das Prinzip das gleiche; oder etwa nicht???

Zumal auf der uallcollection nur downloadbare und dokumentierte Beispiele sind - aber keine Erklaerung. Ich kann mich nicht mal eben durch den Code lesen (wenn ich gar nicht kapiere, worum es geht). Und ich versuche es gerade mittels des "Sniffer"-Tutorials ...


:?::!::?:

...

CCRDude 30. Sep 2011 23:08

AW: Windows (Explorer) - Schreibzugriff blockieren
 
"Hooks" sind erstmal nur ein englischen Wort.

Das Hooking, das Du verwenden müsstet, wäre in etwa:

Du schaust, welche Betriebssystemaufrufe für das Schreiben in Dateien zuständig sind. Auch für das Kopieren etc. Also welche Funktionen aus den Windows-DLLs. Dann gehst Du hin, und biegst alle diese Betriebssystemaufrufe "um" - so, daß sie zuerst in eine von Dir geschriebene DLL zeigen, von wo Du dann entweder das Original aufrufst oder auch nicht (falls Quota erreicht).

Du musst also die Funktionalität einiger API-Aufrufe (der, die du hooken musst) sehr genau verstehen, dann verstehen, wie Windows-Programme Funktionen aus DLLs aufrufen, wie man sich dazwischen hängt, ... sowas vereinfachen zwar Hooking-Bibliotheken wie madCodeHook oder uallCollection - nur ist das trotzdem ein kritischster Eingriff ins System, das von jedem Bug lahmgelegt werden kann (stell Dir vor Windows kann aus einem dummen Fehler von Dir gar nichts mehr in Dateien schreiben).

himitsu 30. Sep 2011 23:15

AW: Windows (Explorer) - Schreibzugriff blockieren
 
Zitat:

Zitat von trebor90 (Beitrag 1127841)
(wenn ich gar nicht kapiere, worum es geht)

Und dann willst du Systemfunktionen hooken umbiegen?

Wenn man nicht weiß was man macht, kann man schnell mal das ganze System lahmlegen und/oder Daten schrotten.

[edit]
wo kommt denn CCRDude plötzlich her :shock:

trebor90 6. Okt 2011 19:41

AW: Windows (Explorer) - Schreibzugriff blockieren
 
Hallo, ich bin wieder da.

<FRUST>
Also, ich verzweifle hier langsam.
Ich finde kein Tutorial, was mir verstaendlich macht, wie ich Hooks benutze.
Kennt ihr jemanden, der mit (API-)Hooks umgehen kann und der mir das verstaendlich erklaert?
Oder ein Tutorial, welches das erledigt?
Ich habe studenlang gesucht und mit "windows api hook tutorial" erziele ich keine guten Ergebnisse.
Selbst mittels Anleitungen auf englisch und fuer andere Programmiersprachen komme ich nicht weiter.

Ich habe es bereits mehrmals mit Maus-Hooks versucht usw. ... Nicht mal das habe ich verstanden, und dann wurde mir gesagt, dass es eh nicht das Richtige waere - was mich aber wundert, denn Hook ist doch Hook (?), egal was ich abfange ...
Und diese ganzen tollen Collections (uallcollection etc. ...), damit weiss ich auch nichts anzufangen - deie installiere ich, und dann?

Ich brauche einfach jemanden oder etwas, der mir vernuenftig Hooks erklaert;
ich wuedre mich gern eine Woche lang einlesen, aber ich finde nichts, was ich verstehe.
Und das hat nichts mit mangeldem Willen oder Faulheit zu tun ...
</FRUST>



--
Richard

wicht 6. Okt 2011 20:26

AW: Windows (Explorer) - Schreibzugriff blockieren
 
Liste der Anhänge anzeigen (Anzahl: 1)
So.. vielleicht ist das dumm von mir, aber mir reichts :-D
Wenn du mir jetzt sagst dass du nur 32-Bit unterstützen willst versuche ich dir dafür schnell was zusammen zu kloppen was auch halbwegs kommentiert ist. Einfach nur, um ein WriteFile() zu verhindern...

Edit: Ich konnte mich nicht zurückhalten, Anhang ist jetzt dabei, für Delphi 7 mit CreateFile() - leider schmiert es direkt ab, wenn man die Original-Funktion aufruft. Ein simples Result := ERROR_ACCESS_DENIED klappt. Wenn jetzt ein schöner Mensch kommt, der sich damit besser auskennt, kann er die Sache vielleicht zum laufen bringen. Ich habe auch mal was mit der uallCollection gebaut, was funktioniert hat, leider kein CreateFile() ... vielleicht kann da jemand weiter helfen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:35 Uhr.
Seite 3 von 3     123   

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