[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4712: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3842)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4714: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3842)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4715: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3842)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4716: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3842)
JoinUO Forums • View topic - Locating the Packet Table in the 2D clients
Page 1 of 1

Locating the Packet Table in the 2D clients

PostPosted: Sat Feb 12, 2011 7:54 am
by Batlin

Re: Locating the Packet Table in the 2D clients

PostPosted: Sat Feb 12, 2011 11:18 am
by Garret
Awesome! I've seen packets log in god client, ctrl+p as i remember. Sad new clients don't have names.
But there's chance that beta clients have names, since they were build with debug.

Re: Locating the Packet Table in the 2D clients

PostPosted: Tue Dec 20, 2011 6:17 am
by diego
Is it possible to calculate the address and extract the packet table at runtime?

Re: Locating the Packet Table in the 2D clients

PostPosted: Tue Dec 20, 2011 1:19 pm
by Batlin
Well,

It's possible but you need to know what you are doing.

These are the problems you will need to face and solve:

1) The key feature in the algo above is IDA Pro's FindBinary function. You will need to implement that function in your language of choice.

2) You need access to the code segment of the client
2a) Use ReadProcessMemory (rather slow)
2b) Inject your code in the client's process as a thread (fastest method but also the most complex) (does not work from .NET)
2c) Open the "client.exe", since it's not encrypted you can do the memory search in there and then map the found file address to a memory address (in between solution)

Re: Locating the Packet Table in the 2D clients

PostPosted: Wed Dec 21, 2011 6:35 pm
by diego

Re: Locating the Packet Table in the 2D clients

PostPosted: Wed Dec 21, 2011 10:34 pm
by Batlin
I'm guessing you are using method 3? If so, you need to convert from a file offset to a virtual address:

You need the function CPortableExecutable::FO2VA.

I'll need to look into those two clients and see why it's not working, I'm guessing it's not finding the correct location?...

Re: Locating the Packet Table in the 2D clients

PostPosted: Wed Dec 21, 2011 11:51 pm
by diego
Here's a screenshot:

Image

Re: Locating the Packet Table in the 2D clients

PostPosted: Sat Dec 24, 2011 9:35 pm
by diego
I just figured out... they replaced the old 0x00 Create Character packet with the new one (0xF8).

Re: Locating the Packet Table in the 2D clients

PostPosted: Thu May 17, 2012 12:20 pm
by Warstone
Does this table contains only Client -> Server packets, or both?

Re: Locating the Packet Table in the 2D clients

PostPosted: Tue May 22, 2012 3:45 am
by Warstone
It's both. There is no difference between client and server in protocol...

Thanks a lot, Batlin. If you don't mind - I'll use your guide for auto detect packet sizes in my UOExt.