Seit dem 02.05.2008 beschäftige ich mich mit Sniffern. Mein Anliegen ist, für die Spieleplattform eine Konfortable Banlist für das Spiel Warcraft 3 zu entwickeln - nur auf Grund dieser Idee, sitze ich schon mehr als ein Jahr dahinter. Ich habe einen Sniffer programmiert welcher mir alle Warcraft 3 Pakete analysiert und formatiert den Inhalt ausgibt - und das war weis Gott nicht einfach!
Ich hänge lediglich daran, gebannten Spielern den Zugang zu meinem Spiel zu verwehren. Zunächst dachte ich, ich sende ein eigenes Paket, was jedoch nach etlichen Versuchen fehl schlug.
Ich entschloss mich andere Wege zu suchen und bin letztenendes bei den Hooks stehen geblieben. Nach weiterer sehr langen Suche bin ich endlich so weit, das ich die
API Calls hooken kann.
Das einzig seltsame ist - und das möchte ich bitte beantwortet kommen, warum stürtzt das Spiel ab?
Delphi-Quellcode:
Function Hook_SendTo( *****: *****; *****, *****, *****: *****; *****: *****; *****: *****): *****; StdCall;
Begin
WriteToFile('Hook_SendTo');
Result := HookNew_SendTo( *****, *****, *****, *****, *****, *****);
End;
Ich hoffe ich habe nicht vergessen etwas zu zensieren
Wie dem auch sei, verändere ich den Code in der Hinsicht:
Result := 1;
So stürtzen die Programme erst beim "Unhooken" ab.
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.