Dateistart verhindern ?
-
Es gibt doch programme die verhindern das eine ausführbare Datei startet.
Nun Frage ich mich wie zum Beispiel ein Virenscanner den Start dieser Datei überwacht.Also mir gehts eigentlich nur darum herauszubekommen wie man selber eine Datei überwacht und eventuell den Start dieser verhindern kann, ein Virenscanner verhindert ja auch das sich die Datei ausführt. Vielleicht weiss ja jemand in welche Richtung ich mich da Informieren muss um dieser Sache näher zu kommen ?
Es würde mir ja schonmal ausreichen wenn ich erstmal eine Datei die gerade startet irgendwie abfange ? den Pfad dieser ermittle oder sowas in der Art.
-
Frag mal msdn nach Hooks.
Wahrscheinlich willst du den WH_CBT Hook:From msdn.com:
The system calls a WH_CBT hook procedure before activating, creating, destroying, minimizing, maximizing, moving, or sizing a window; before completing a system command; before removing a mouse or keyboard event from the system message queue; before setting the input focus; or before synchronizing with the system message queue. The value the hook procedure returns determines whether the system allows or prevents one of these operations. The WH_CBT hook is intended primarily for computer-based training (CBT) applications.Wenn das passiert kannst du vielleicht darauf reagieren indem du die entsprechende Nachricht aus der Message Queue entfernst.
Ich weiß aber nicht ob es wirklich so geht, hab das noch nie probiert.
-
Nein... Viren-Scanner arbeiten i.d.R. als File-System-Filter-Driver.
-
Sobald eine Datei gestartet wird soll der Pfad in eine Listbox oder egal was festgehalten werden.
Kann man das hiermit realisieren ? oder ist der Ansatz völlig daneben ?
HHOOK TEST = SetWindowsHookEx(WH_CBT,(HOOKPROC)FProc,(HINSTANCE)0, ???????); LRESULT CALLBACK FProc(int message, WPARAM wParam, LPARAM lParam) { //Keine Ahnung was da rein muss um an die gestarteten Files zu kommen }ist für mich echt schwierig das umzusetzen.
-
Mit einem CBT Hook bekomst Du keine Dateien, die geöffnet werden!
Das Ding monitort bestimmte Fensteraktionen!Jochen hat Dir doch schon gesagt, dass Du einen File-System-Filter-Driver benötigst!
-
Martin Richter schrieb:
Mit einem CBT Hook bekomst Du keine Dateien, die geöffnet werden!
Das Ding monitort bestimmte Fensteraktionen!Jochen hat Dir doch schon gesagt, dass Du einen File-System-Filter-Driver benötigst!
könnte man nicht einfach eine dll schreiben die CreateProcess hookt und diese in jeden prozzess 'injecten'?
-
ka schrieb:
könnte man nicht einfach eine dll schreiben die CreateProcess hookt und diese in jeden prozzess 'injecten'?
Das sieht aber nach einem sehr mutigen Hook aus.

-
hi
Ja das kannst du wen du weis wie !

Wird dir aber niemand zeigen wie, den das Thema ist ein bisschen heiss. (h0cking)Lowbyte
-
http://forum.sysinternals.com/topic13138.html
http://www.madshi.net/madCodeHookDescription.htm
http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_21898076.html
http://www.securitylab.ru/forum/forum25/topic47791/
http://www.csnc.ch/misc/files/publications/kernelhooks_csnc_german.pdfHier ist bestimmt was brauchbares dabei;-)
-
ka schrieb:
könnte man nicht einfach eine dll schreiben die CreateProcess hookt und diese in jeden prozzess 'injecten'?
Braucht man gar nicht. Man kann auf Kernel-Ebene eine Callback-Routine registrieren, die aufgerufen wird, sobald ein neuer Prozess gestartet oder beendet wird. Das geht mit PsSetCreateProcessNotifyRoutine, die von Ntoskrnl exportiert wird. Hier steht wies gemacht wird.
-
lowbyte_ schrieb:
hi
Ja das kannst du wen du weis wie !

Wird dir aber niemand zeigen wie, den das Thema ist ein bisschen heiss. (h0cking)Lowbyte
Es ist ja wohl kein Geheimniss mehr wie man eine Funktion hookt, oder?
Um die DLL in jeden Prozess zu laden braucht man auch nicht viel.
Prozessliste durchsteppen:
CreateToolHelp32Snapshot
Process32First
Process32Next
CloseHandleDLL in fremden Prozess laden:
OpenProcess
VirtualAllocEx
WriteProcessMemory
CreateRemoteThread
CloseHandleAllerdings sieht die Methode von falafel mit PsSetCreateProcessNotifyRoutine etwas sicherer aus.
