Entwickler-Ecke

Internet / Netzwerk - Firewall mit Delphi programmieren?


Crowbar - Mi 13.08.03 12:52
Titel: Firewall mit Delphi programmieren?
Hallo,
ist es mit Delphi (6.0) möglich, einen Firewall zu programmieren?
Wenn ja, kennt jemand Beispielcodes oder sogar eine entsprechende Komponente?

Bye Crowbar


UC-Chewie - Mi 13.08.03 13:22

Jain. Zumindest unter WinNT/2K/XP brauchst du dafür einen Treiber, und das ist mit Delphi nicht so ohne weiteres möglich.
Wenn du allerdings diesen Treiber in C/C++ geschrieben hast, kannst du diee Steuerung der Firewall beispielsweise in Delphi schreiben.


DaRkFiRe - So 17.08.03 02:07

ACK!

Du musst einen Treiber programmieren, was in Delphi IMHO impossible ist.
Der kontrolliert dann direkt den INET-Traffic, indem der Traffic über diesen Treiber abgewickelt wird. Beispielsweise eine winsock austauschen.

Man könnte folgendes versuchen: Delphi besitzt die ganzen Exports der Winsock-DLL. Nun könnte man die Funktionen durchschleifen, d.h. du schreibst mit Hilfe der Delphi-Header eine eigene Winsock, benennst die aktuelle (unberührte) Winsock um und leitest alle Aufrufe (die an Deine DLL gehen) an die Originale weiter und filterst den Content, der Dir nicht passt. Hab so schon versucht, eine Art Programm-Crack zu schreiben. Endete aber in enormen Datenaufkommen, da USER32.DLL, GDI32.DLL usw. umgeschrieben wurde und mitgeloggt wurden (Aufrufe, Zeit und Daten).


Crowbar - So 17.08.03 14:38

Hallo,
Danke für Deine Antwort. Ich werde mich 'mal dransetzen und es über diesen Weg probieren.
bye Crowbar


DaRkFiRe - So 17.08.03 14:52

Da haste viel Arbeit vor Dir :twisted:

Nee, jetzt mal im Ernst - das ist die "einfachste", aber auch unprofessionellste Methode, aber es sollte funktionieren.


MrSaint - Fr 29.08.03 15:13

also etwas professioneller wäre es, die WinSock.dll zu hooken und nich auszutauschen ;)


-> http://www.swissdelphicenter.ch/de/forum/viewtopic.php?t=2755



MrSaint


DaRkFiRe - Fr 29.08.03 17:09

Jaaa, ähm, okay - kein Problem!

Der Weg, alle DLLs hooken zu können, ist mir neu...