[OpenSource] Packet Editor coded in C

04/29/2011 13:24 xsh#31
Quote:
Originally Posted by luckylukas92 View Post
hallo,
i got problems with compiling ...
When i try to compile i get the error "The program "*Path*\Hook.dll" couldn't be started. -> The Path points to Hook.dll(no path error)
When i try to debug
-i get the error "The program "*Path*\Hack\Debug\Detour.dll" couldn't be started. System couldn't find the File.
-and debug dialog says "path\hack\crc.cpp(197): error C3861: "OutputDebugString": Bezeichner wurde nicht gefunden."
perhaps it is because of my system, anyone else had this problem?
MfG Lukas
Try to google your error. Never had this before, and therefor I can't help you =/


Quote:
Originally Posted by siggi73 View Post
passwort?
Wer lesen kann ist klar im Vorteil.


Quote:
Originally Posted by Kaelyb View Post
Is it possible for a server to encrypt their packets?
It is possible, but I've never seen a server doing this.


Quote:
Originally Posted by Kaelyb View Post
Edit; I checked into that file you sent me to. I read it, and it made absolutely no sense to me. Like it was written using google translator, or something. It's really confusing. Lmfao. So far, I can only record packets. But from all I got reading that, I was in game trying to simply say packets. Lol.
Well, look at the second post (just under my first post with the download). There is an example how to send a chat packet.
04/29/2011 14:11 schnewin#32
Quote:
Originally Posted by luckylukas92 View Post
hallo,
i got problems with compiling ...
When i try to compile i get the error "The program "*Path*\Hook.dll" couldn't be started. -> The Path points to Hook.dll(no path error)
[...]
That's normal for a .dll file. You must inject the hook.dll with the hook.exe (in the bin folder) or another Injector. Look in your bin folder, there must be a file calls 'Hook.dll'.

MFG
04/30/2011 10:59 Centralmen#33
Ich hab da so ein komischen Fall, sobald ich ein Paket abschike ''disconnectet'' mich auf einmal, auch wenn ich das mit dem ''test/luls'' paket probiere bekomm ich direkt en dc.
04/30/2011 14:49 xsh#34
Quote:
Originally Posted by Centralmen View Post
Ich hab da so ein komischen Fall, sobald ich ein Paket abschike ''disconnectet'' mich auf einmal, auch wenn ich das mit dem ''test/luls'' paket probiere bekomm ich direkt en dc.
Es kann sein dass dein Server die CRC Checks geändert hat, um so etwas wie Packet Injection zu verhindern. Wenn das der Fall ist, kannst du nur die Neuz.exe reversen, und versuchen den CRC Algorithmus zu "entschlüsseln/knacken". Aber das bedarf ein enormes wissen an Assembler Sprache, und Reversing.

Es kann aber auch sein, dass dein Server die Headermark geändert hat. Heisst, statt dem üblichen '^' (ASCII Code: 0xE5) vor jedem Packet könnte etwas anderes vorhanden sein (Siehst du am besten mit dem Programm [Only registered and activated users can see links. Click Here To Register...])
04/30/2011 15:08 schnewin#35
Quote:
Originally Posted by Centralmen View Post
Ich hab da so ein komischen Fall, sobald ich ein Paket abschike ''disconnectet'' mich auf einmal, auch wenn ich das mit dem ''test/luls'' paket probiere bekomm ich direkt en dc.
Um welchen p-Server handelt es sich denn? wenn du es bei Daemnd flyff probierst, brauchst du die Entschlüsslung der Packets.
Quote:
Originally Posted by xsh View Post
Es kann aber auch sein, dass dein Server die Headermark geändert hat. Heisst, statt dem üblichen '^' (ASCII Code: 0xE5) vor jedem Packet könnte etwas anderes vorhanden sein (Siehst du am besten mit dem Programm [Only registered and activated users can see links. Click Here To Register...])
^ this, und dann in der global.h die "#define __HEADERMARK__ 0x5E" abändern.

MFG
04/30/2011 16:13 Tom94#36
Es könnte übrigens sein, dass der CRC am ende nicht mehr mit 0xFFFFFFFF XORed wird.
Musste dann auch entsprechend mal testen und entsprechend im CRC src des PacketEditors ändern.

(Die 4 XOR Bytes lassen sich einfach durch rückwärts-denken berechnen. Sprich man berechnet den Hash komplett ohne XOR am Ende und vergleicht ihn mit dem tatsächlichen in Beispielpackets. Dann einfach Bitweise zurückrechnen.)


Falls das ebenfalls nicht hilft, hat der Server wohl irgendwas anderes gemacht, was nicht zum Standard gehört. Also mal ein wenig rumprobieren / analysieren. :p
04/30/2011 23:42 luckylukas92#37
hay danke -> bin noch neu in c++
aber es sieht sehr interessant aus und ist sicher mal gut um nachzuschauen wie so etwas funktioniert
auf dem deutschen flyff server geht das nicht oder?
wenn ich das programm da starte bleib das bild, das in einem vorherigen post schonmal gepostet wurde.
MfG Lukas

edit: ist es eigetnlich strafbar mit sowas rumzuspielen (dürfe ja nicht oder? ist ja nur clientside)
05/01/2011 22:51 xsh#38
Quote:
Originally Posted by luckylukas92 View Post
hay danke -> bin noch neu in c++
aber es sieht sehr interessant aus und ist sicher mal gut um nachzuschauen wie so etwas funktioniert
auf dem deutschen flyff server geht das nicht oder?
wenn ich das programm da starte bleib das bild, das in einem vorherigen post schonmal gepostet wurde.
MfG Lukas

edit: ist es eigetnlich strafbar mit sowas rumzuspielen (dürfe ja nicht oder? ist ja nur clientside)
1. Es funzt wahrscheinlich nicht auf Offi wegen GameGuard.
2. Ja es ist strafbar, weil du mit dem tool selber Packte zum server sendest (Packet injection). Es ist ja kein Passives tool (auch wenns auf dem ersten blick so aussieht).
05/02/2011 14:38 Xenox3#39
1. Es funkt auf dem Offi nicht wegen der neune Verschlüsselung und wegen Gameguard ;)
2. Seit wann ist es strafbar an Server Packets zu senden ? (Firefox,icq,skype...)
Auch wenn sie verändert sein sollten ist die keineswegs strafbar.
Ich bin mir bei dieser Sache aber nicht absolut sicher.
Wo sind unsere Jura Experten wenn man sie mal braucht ;) ?
05/02/2011 20:47 xsh#40
Quote:
Originally Posted by Xenox3 View Post
2. Seit wann ist es strafbar an Server Packets zu senden ? (Firefox,icq,skype...)
Auch wenn sie verändert sein sollten ist die keineswegs strafbar.
Ich bin mir bei dieser Sache aber nicht absolut sicher.
Mit Strafbar meinte ich eher dass du ein Ban bekommen kannst. Juristisch gesehen hab ich da keine Ahnung, aber ich denke mal dass das senden von Packets eher nicht strafbar ist, wogegen das benutzen der Software schon eher (weil man definitiv auch schaden damit anrichten kann, siehe server crasher).
05/02/2011 21:57 jenkinsateruiop#41
meines wissens ist das paket senden an einen server, egal welche pakete es sind, legal.
erst wenn sie dem server aktiv einen schaden zufügen (wie z.b. bei einem ddos-angriff) ist das ganze wirklich juristisch strafbar
05/03/2011 15:12 mootie#42
I've been working on this a bit. You have a few issues, mainly with your header(TO Server) algo, and a few things are quite messy.

As for the header algo, for the sending packets TO the server(NOT client), you don't use a CRC32.

Ex. Server -> Client
0x5E XXXX XXXX 0000 0002 XXXX XXXX 0000
H C1 S C2 D

Ex. Client -> Server
0x5E 0000 0002 0000
S D
H = Header
C1 = CRC(Size) ^ SessionID
S = Size
C2 = CRC(Data) ^ SessionID
D = Data

The whole way you generate headers is a bit confusing(generating it in the packet data rather than a socket class), but overall it was good work. I've been wanting to make something like this, but wasn't familiar with hooking.

PM me if you'd like to talk on MSN.
05/03/2011 18:25 xsh#43
I do generate headers after filling the packet with data. Thats why the WriteHeader() function is there for. You can only generate CRC's if the data is there ;-)
05/04/2011 14:27 mootie#44
Quote:
Originally Posted by xsh View Post
I do generate headers after filling the packet with data. Thats why the WriteHeader() function is there for. You can only generate CRC's if the data is there ;-)
I mean the location of the CRC generation, but its not really important. I've managed to get the WSASend block(for commands) working. I'd really like to work on figuring out eFlyff's packet encryption. Also I was thinking of hooking D3D and making the whole packet editor into an in-game window(would be hard, but nice when done). :>
05/04/2011 14:36 xsh#45
Quote:
Originally Posted by mootie View Post
I mean the location of the CRC generation, but its not really important. I've managed to get the WSASend block(for commands) working. I'd really like to work on figuring out eFlyff's packet encryption. Also I was thinking of hooking D3D and making the whole packet editor into an in-game window(would be hard, but nice when done). :>
What do you mean by Location? The CRC's are alway at the 2nd and 10th location of the packet
Code:
[BYTE:HeaderMark][DWORD:CRC][DWORD:PacketLen][DWORD:CRC][*BYTE:Data]
Anyway, I'm curious how u managed to block outgoin Packets? I managed it too, but I'm just curious :-)

Also, implementing a D3D Menu just requires hooking the 'EndScene' function in the Direct-X dll. There are lots of examples in the wild!