Deprecated: The behavior of unparenthesized expressions containing both '.' and '+'/'-' will change in PHP 8: '+'/'-' will take a higher precedence in /home/iano/public_html/tpforums-vb5/forum/includes/class_core.php on line 5842

PHP Warning: Use of undefined constant MYSQL_NUM - assumed 'MYSQL_NUM' (this will throw an Error in a future version of PHP) in ..../includes/init.php on line 165

PHP Warning: Use of undefined constant MYSQL_ASSOC - assumed 'MYSQL_ASSOC' (this will throw an Error in a future version of PHP) in ..../includes/init.php on line 165

PHP Warning: Use of undefined constant MYSQL_BOTH - assumed 'MYSQL_BOTH' (this will throw an Error in a future version of PHP) in ..../includes/init.php on line 165

PHP Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in ..../includes/functions_navigation.php on line 588

PHP Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in ..../includes/functions_navigation.php on line 612

PHP Warning: Use of undefined constant archive_postsperpage - assumed 'archive_postsperpage' (this will throw an Error in a future version of PHP) in ..../archive/index.php on line 456
Receiced Packets? [Archive] - Forums

PDA

View Full Version : Receiced Packets?



Splintter
04-06-2007, 08:32 PM
Thats a simple question,

there is a packed.dll that we use to send packets to server, but, who i can get recevied packed? like server messages, damages, etc.

MadPrgmr
04-06-2007, 08:43 PM
You'd have to write your own tool to do that.

Splintter
04-07-2007, 04:14 AM
Hmm, but, how i can get messages of damage, etc? can someone give me a ideia? Bots use this no?

sry for english

ExpertMace
04-07-2007, 11:43 AM
Create a proxy managing packets to/from client and to/from server. Then just log the packets coming to client (from server) and figure out what the packet does.

Mace.

OsQu
04-07-2007, 02:36 PM
ExpertMace, have you any exprience about making proxy?

ExpertMace
04-07-2007, 04:01 PM
In delphi, yes :D. I've created my proxy but it's very laggy... :/ . Just trying to figure out how to make it run smoothly.

Mace.

OsQu
04-08-2007, 09:01 AM
Can you give any info/hint or something where to start?

ExpertMace
04-08-2007, 11:28 AM
Well, In delphi I use 2 sets of TClientSocket and a TServerSocket. Two are used as game sockets and the other set are used for logging in purposes.

Firstly I write new ip addresses and port numbers to the client's memory to connect with my proxy (127.0.0.1:7172).

When the real tibia client logs in, it will accept to my server login componant which enabled the client login server part as well as (on clientread) getting information from the login packet and activating the the other TServerSocket which then connects the TClientSocket.

Sorry this is a bit cryptic, I'm not the best at explaining things.

I hope this helps a bit, If you have any questions on it please ask.

Mace.

OsQu
04-08-2007, 01:08 PM
Okey, sounds a little bit confusing but maybe I can do something. I'll ask if I need any kind of help.

Splintter
04-10-2007, 05:12 PM
Okey, You Have 2 sets TClientSocket and a TServerSocket. But how do you work with gettting packets? because of XTEA and RSAKey Cript....

Thanks!

ExpertMace
04-11-2007, 06:24 PM
Let me make it a bit clearer on the processing of packets:

When the Client sends a packet:

1. Client sends the packet e.g player moves his char up a square sending a packet.

2. Your Server componant recieves this packet.

3.Your Client componant then sends it to the real server.

When the Server sends a packet:

1. Real server sends a packet to your computer (e.g updating somthing).

2. Your Client componant recieves this data from the real server.

3. Your Server componant sends the data to the players client.


I hope that helps you write your proxy.

Mace.

ExpertMace
04-11-2007, 06:46 PM
Like this:

http://img254.imageshack.us/img254/3746/tibiaproxiesexplainedzy4.png

I made it in paint so don't laugh lol.

Mace.

Huck
04-11-2007, 06:58 PM
-laughs-

Heres another way of explaining it~

TibiaClient on your computer = T
TibiaServer on Shitsofts servers = S
Your proxy = P
-> = packet moving

Normal tibia (noncheating, etc.) = T->S
Tibia with your Proxy = T->P->S

Server stuff
Normal tibia = S->T
With proxy = S->P->T


Its like passing notes, the person in the middle gets the note (packet) before it goes to the other player. the person in the middle can look at the note, etc. before giving it to the receiver of the note, they can edit it, etc.

hope that helped a bit.

ExpertMace
04-12-2007, 11:40 AM
My way looks better :P

Mace.

Erra
04-16-2007, 05:35 PM
Well, with absolutely no experience from making a proxy, please point out a bit on how to do it :p

Grob
04-16-2007, 07:47 PM
@Erra: In theory you create a server. Change the ip-addresses in tibia to localhost or something and then all messages will go trough localhost on port 7171. So you set up your server to listen for connections on port 7171. When you get a connection you will log the packets and then connect to server.tibia.com and send the login packets etc. Then whenever you recv() a packet you check it and then send it to the right place. If the client sent it, you send the modified packet to the tibiaservers, if the tibiaserver sent it, you send it to the client.