Page 1 of 1
Locating the Packet Table in the 2D clients
Posted:
Sat Feb 12, 2011 7:54 am
by Batlin
Re: Locating the Packet Table in the 2D clients
Posted:
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
Posted:
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
Posted:
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
Posted:
Wed Dec 21, 2011 6:35 pm
by diego
Re: Locating the Packet Table in the 2D clients
Posted:
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
Posted:
Wed Dec 21, 2011 11:51 pm
by diego
Here's a screenshot:
Re: Locating the Packet Table in the 2D clients
Posted:
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
Posted:
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
Posted:
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.