Editing packets.

Here you can discuss packets, implementation and design, and software related to the packet sniffing and such. This is not the place to post packages for POL, but rather discuss the packet side of them.

Moderator: POL Developer

Post Reply
mr bubbles
Grandmaster Poster
Posts: 120
Joined: Thu Jan 18, 2007 2:34 am

Editing packets.

Post by mr bubbles »

Is it possible to hook a packet like 0x6C (target cursor) and edit the packet info the client sends?

I want it to always show the result of GetMapInfo() in the last part of the packet, instead of the landtile or static #.

What ive got now is a hook catching the packet and creating a new packet of the same type to what i want. But how do i make POL use the edited packet? I've tried

packet := newpacket;
return 0;

or is it sent via a different packet to the client with the info?
User avatar
tekproxy
Forum Regular
Posts: 352
Joined: Thu Apr 06, 2006 5:11 pm
Location: Nederland, Texas

Post by tekproxy »

If you want to hook a packet sent by the client and modify it before it gets to the server, that's entirely possible. Make sure it is configured as a recieve hook, and try editing packet instead of setting it to equal another packet.
mr bubbles
Grandmaster Poster
Posts: 120
Joined: Thu Jan 18, 2007 2:34 am

Post by mr bubbles »

how do i edit "packet"? does .setintx(x, x) overwrite whats there or just make the packet bigger? and how is it different than me creating a new packet and assigning "packet" to that one?
User avatar
tekproxy
Forum Regular
Posts: 352
Joined: Thu Apr 06, 2006 5:11 pm
Location: Nederland, Texas

Post by tekproxy »

If you use .SetInt16(), etc... you'll be rewriting 16-bytes of memory starting at that offset, which would overwrite the old data. I can't think of a reason that packet := newpacket wouldn't work, but using SetInt16(), etc... would just be the first thing I would check, because I know that way works.

Could you post your code? Maybe it's something else.
Barbeirosa

Post by Barbeirosa »

Does your packethook script declare the packet parameter as byref? If it does not, then nothing at all you do to the packet will stick.
mr bubbles
Grandmaster Poster
Posts: 120
Joined: Thu Jan 18, 2007 2:34 am

Post by mr bubbles »

ohh, editing packet worked. maybe the packet i created was the wrong size or something :P

Thanks for the help
User avatar
tekproxy
Forum Regular
Posts: 352
Joined: Thu Apr 06, 2006 5:11 pm
Location: Nederland, Texas

Post by tekproxy »

Good. :)
Post Reply