OutdatedRust Pal (legacy external map and network protocol info)

Posts 115 of 15 · Page 1 of 1
Rust Pal (legacy external map and network protocol info)
I spent about a week reverse engineering the rust networking protocol and built it into an external map. I don't play rust anymore, so don't really have any use for it. It's an external map wrote in C# with no anti-detection techniques, but it shows the position of animals and players, uses SDL to render so it's nice and smooth.

The source code and the compiled release have been attached.

In order to use the external map, you need to configure the IP address and port of the target server. You can do this by going into config/core.json and altering the host and port fields. To discover the IP & Port of the server you want to target, join it in the server browser, open the console using F1 - and copy the last logged IP address. In order to make the program work, you need to type net.connect 127.0.0.1:theport, replacing theport with the port number you previously specified.

This doesn't hook onto the game or any network interfaces, so should bypass detection by these methods. Here's a brief doc I wrote, but the source code should be easier to read.

Code:
I spent about a week reverse engineering the Rust protocol by dumping the packets, after doing some research, uLink was obsfucated beyond recognition so I had to do everything manually through a hex editor. I might properly document the protocol at some point, but it appears to be divided into three main groups.

RPC

RPC's are the primary way of transferring data between the server and the client. They are used for everything from object instantiation to entity movement. The library has a few internal RPC's, and there are other RPC's that Facepunch use for player movement and the such.

The bulk of the code that handles these are contained in RPCPayload.cs and RPC/*.cs.

To make it easier for me to handle RPC's, I created a system to replicate entity creation inside my own program. I could then modulary send the RPC's to the appropriate class. A good example of the receiving end of the system is located in Entities/Player.cs.

Buffered RPCs

Buffered RPC's are chunks of remote procedure calls that seem to be collected by uLink, and then distributed to clients when they join or entered a new area. Since this section of the protocol was complicated, I implemented RPC's first. They only covered objects that are created post-spawn, and rulsted in lot's of procedure calls to objects that do not exist yet.

Link

The link packet is used for connection, etc. I'm not really 100% sure what else it's used for, but I primarily ignored any research into this packet type since it had no useful information. The steam authentication does seem to go through this group.
rustpal-1.0-src_mpgh.net.zip386 KB · 242 downloads Clean
rustpal-1.0-release_mpgh.net.zip1.8 MB · 374 downloads 1/65 malicious
thatswhatpeoplesay.png378 KB · 781 downloads
The program doesn't attach to the network interfaces, it doesn't alter the games memory - so EAC would have to manually add the signature of the program for it to be detected.
not working for me
How specifically is it not working?
renderer took Xms too long
renderer took Xms too long
renderer took Xms too long
renderer took Xms too long

can you add me? (skype is saxon120)
Would you make a video of this? I'm kinda dumb :/ By the way, this bypasses everything right? EAC,Cheat Punch, and VAC
It says that it took to many ms, pls fix
As said in the description, there is no bypass - because the hack never touches the game's memory or network interfaces. It pretends to be a server and does a man-in-the-middle attack. This would have to be detected by a signature, but it's a new release, so it shouldn't be.

The renderer too long message occurs if it can't keep up to 60fps, it doesn't actually effect whether or not the hack works. I might add an FPS option in the configuration if it's an issue for too many people.
I get the same problem BonkOfficial and dast1212 have, so you should make the FPS configuration.
Could you make a new thread? A admin deleted your post with the updated version.
did you ever think about making this for Exp?
Will it work if the servers ip isnt number? like: rust.rusted.cz ?
Posts 115 of 15 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?