Winsock Hook
-
du musst auch WSASend, sendto und so hooken.
-
Ich weiß aber, dass das Programm weder WSASend noch sendto nutzt (per Debugger überprüft).
-
doch
-
WSARecv/Send und sendto recvfrom gehookt... nie gecallt... wie gesagt.
-
Hat vielleicht jemand das neue Detours von Microsoft compiliert? Also .lib und .h, ich kann es zwar kompilieren kriege aber dann merwürdige Errors (Makefile funzt erst gar nicht).
Oder eine andere gute Library die ähnliches schafft?
-
Du solltest zuerst mal das richtige environment setzen...
vcvars32.bat suchen, ins cmd ziehen, enter, dann ins Verzeichnis von Detours gehen, nmake eingeben, enter, fertig, am Ende Error is normal, dauert aber schon ~15 Sekunden der build bei mir
-
@Bronson, danke, das hat funktioniert
Ich habe im Packet Sniffer gesehen, dass die Paketgröße des gesuchten Pakets 25 ist. Ich habe dann die Paketgröße mal mit protokolliert. Die Pakete sehen allerdings ganz anders aus.
Hier alle Pakete mit Größe 25 im Log.
8566C8D 8566CB6 8566CDF 8566D13 8566D3C 8566D65 8566D8EHier im Sniffer:
http://de.tinypic.com/view.php?pic=2i7olqo&s=4
-
Du hast doch recv gehookt, nich? Am screen ist das 25' Paket aber von send()...
Außerdem:
25 != 25.
Ein Paket hat mehrere Parts. Vielleicht kann das WPE Pro ja nur den "Presentation Part" eines Pakets anzeigen? Versuch das mal... Den TPC-Header brauchst du ja wohl nicht...
-
Nein die receiveten sind mir egal, es geht ja gerad um das, dass ich sende mit der Größe 25...
-
Also hookst du send()...
Im WPE Pro ist wohl die gesamte Paketgröße gemeint, in der send() Funktion aber nur der "Presentation Part".
Bin schwach in dem Gebiet, aber ich denke du musst zu dataSize in send() eine bestimmte Größe hinzuaddieren (Den TCP-Header, und noch was?), um auf die angegebene Paketgröße im WPE Pro zu kommen. Ich hab da was mit 14 bytes in Erinnerung, google halt mal...
-
Lad dir mal das Programm "PIAFCTM 2.2".
Damit kannst du die verschiedenen Parts eines Paketes anzeigen.
Datalink, Network, Transport und Presentation.Dich interessiert dann nur der Presentation Part, genau diesen hast du in der send() Funktion in data.
Also suchst du dir das Paket mit dem Programm, schaltest dann auf Presentation View und zählst die Bytes. So groß ist dann dataSize in send().
Die 14 Bytes scheinen zu stimmen, also vielleicht erst mal nach dataSize == 11 prüfen (25 - 14 = data only).
-
Ich glaub das Problem ist nicht ganz klar... Die Größe ist mir vollkommen egal, ich will nur das Paket genauso darstellen wie in WPE aber meins sieht einfach nicht so aus...
-
Ja, weils wahrscheinlich das falsche ist?
Wonach filterst du denn das Paket im send()? Nach der dataSize nehm ich an...
Und die ist im send() wahrscheinlich NICHT die gleiche wie im WPE Pro..
-
Size stimm überein, genauso wie Reihenfolge der Pakete und Größen. Ich kann sogar die "aufgezeichnete" Aktion ausführen wenn ich den Buffer usw. speicher und selbst sende...
-
Na dann?
Stell dich halt etwas geschickter an!
Gib mal byte für byte dezimal aus und vergleiche...
-
Okay versuch ich gleich mal, danke für deine Hilfe Bronson.
In WPE kann man richtige Strings erkennen, wenn zb im überwachten Spiel eine Chatnachricht geschrieben wird, steht in WPE das Paket und rechts bei den receivten auch der String, wenn ich die bufs in eine .txt schreibe sind das nur sinnlose Zeichen. Jemand eine Idee wie ich das änder? Hat das vielleicht was mit Unicode oder so zu tun?
Hier ein Beispiel was in der .txt steht.
† –$½ÿ •„ † • € † †Während in WPE alle Strings klar stehen.
-
Ihr macht das viel zu kompliziert!
Um das ++ loszuwerden, begebe ich mich einfach an einen Ort mit 00. Ok, da muss man etwas reinterpret_casting outen, um den Code zu setzen. Aber dann geht es easy mit einem posting von int i in den localhost.Spühlen bitte nicht vergessen, sonst stinkt's!
Ich hasse Werbung, das könnt Ich Euch wahrscheinlich nicht vorstellen und ich hasse noch viel mehr die Leute, die sowas machen.
