Client - Server Problem
-
Servus zusammen,
bin neu hier und auch neu was C++ angeht.
Ich habe mal folgende Frage:
Ist es möglich, dass man auf der Server-Seite ein Prgramm laufen lässt, das bevor reinkommende Daten vom Client zu der entsprechenden Server Software, von einem Programm auf bestimmte Zeichenketten untersucht werden?!
Wenn dies geht, wie muss man den Client bearbeiten, damit dies geht; würde da eine einfache dll Datei ausreichen??
Ich vermute mal das ganze ist nicht gerade leicht, da man auch wissen muss welche Informationen wie von dem Client gesendet werden.Hoffe mir kann jemand weiterhelfen, damit ich das Problem angehen kann.
-
Moment, du vermischst da einige Sachen.
Du möchtest also auf der Server-Seite ein Programm laufen lassen, dass eingehende Anfragen untersucht?
Im nächsten Satz willst du aber den Client verändern. Wieso das?Bist du sicher, dass du nicht einfach einen Sniffer suchst?
Wenn du den Traffic scannen und verändern willst, wäre das einfachste wohl ein Proxy auf der Server-Seite.
Der Proxy nimmt alle Anfragen der Clients entgegen, indem er auf dem "normalen" Port der Anwendung horcht. Die Anwendung wurde vorher umkonfiguriert (Netzwerkinterface: 127.0.0.1, Port: irgendwas), sodass sie nur noch Verbindungen von innen entgegennimmt. Die Proxy-Anwendung kann nun in Ruhe den Traffic untersuchen und an die Anwendung weiterleiten.Der Client bekommt davon überhaupt nichts mit.
-
Danke erstmal für die schnelle Antwort.
Mal paar Infos zu den Programmen: Ich habe hier einen UO Emulator auf Server Seite und stelle auch den Client zum DL bereit. Nun gibts seit geraumer Zeit ein Programm, das irgendwie den Datenstrom von diesem Client in der Weise ändert, dass dies von Client Seite negativ ausgenutzt werden kann. Das stört mich und will das irgendwie unterbinden.
Es gibt dann schließlich Befehle in diesem Tool, die ich kenne, weil ich damit rumprobiert habe. Prefix ist ein ","; gefolgt von einem Befehl wie z.B. ",crash".
Damit lässt sich der Server von Client Seite aus prima himmeln.Naja, ich will halt solche typischen Befehle abfangen und rausfiltern und zusätzlich auf der Client Seite irgendwie beim Starten des Clients überprüfen ob dieses Tool im Speicher ist, da es vor dem Client gestartet werden muss.
-
Also eine Art Cheat-Schutz.
Meines Wissens nach kann das sinnvoll nur auf der Serverseite eingesetzt werden. Der Client ist immer als nicht vertrauenswürdig zu betrachten. Du kannst natürlich ein Programm schreiben, dass vor dem Start des Clients aktiv nach Cheat-Programmen scannt (Steam lässt grüßen), dir sollte aber bewusst sein, dass so ein Schutz immer umgangen werden kann.
Ein Schutz auf dem Server kann nicht so leicht umgangen werden. Ich würde es mit einem oben beschriebenen Proxy versuchen.Das hat aber nicht direkt etwas mit der WinAPI zu tun.
-
Dieser Thread wurde von Moderator/in cd9000 aus dem Forum WinAPI in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Injection bekämpfst du damit auch nicht,
mal davon abgesehen ist es imho besser einfach nur zu überprüfen ob die normale Injection-DLL (die ja recht harmlos ist) benutzt wird,oder eine modifizierte.
Ein ganzes 3rd-Party Tool bannen ist dumm,und gegen die meisten die die DLL haben wirst du damit auch nix machen können.